mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-18 10:59:45 +00:00
Revert "Make packed fs always available, and manually settable"
This commit is contained in:
1 parent
b852e0f8c3
commit
bb37f72a63
83 files changed
+8051
-288
No files matched your search
+11
-17
@@ -1319,25 +1319,19 @@ struct packed_file {
|
||||
size_t pos;
|
||||
};
|
||||
|
||||
const struct mg_mem_file *mg_mem_files;
|
||||
|
||||
static int mg_scmp(const char *a, const char *b) {
|
||||
while (*a && (*a == *b)) a++, b++;
|
||||
return *(const unsigned char *) a - *(const unsigned char *) b;
|
||||
}
|
||||
static const char *mg_unlist(size_t no) {
|
||||
return mg_mem_files == NULL ? NULL : mg_mem_files[no].path;
|
||||
}
|
||||
static const char *mg_unpack(const char *path, size_t *size, time_t *mtime) {
|
||||
const struct mg_mem_file *p;
|
||||
for (p = mg_mem_files; p != NULL && p->path != NULL; p++) {
|
||||
if (mg_scmp(p->path, path) != 0) continue;
|
||||
if (size != NULL) *size = p->size;
|
||||
if (mtime != NULL) *mtime = p->mtime;
|
||||
return (const char *) p->data;
|
||||
}
|
||||
#if MG_ENABLE_PACKED_FS
|
||||
#else
|
||||
const char *mg_unpack(const char *path, size_t *size, time_t *mtime) {
|
||||
if (size != NULL) *size = 0;
|
||||
if (mtime != NULL) *mtime = 0;
|
||||
(void) path;
|
||||
return NULL;
|
||||
}
|
||||
const char *mg_unlist(size_t no) {
|
||||
(void) no;
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct mg_str mg_unpacked(const char *path) {
|
||||
size_t len = 0;
|
||||
|
||||
+7
-24
@@ -969,6 +969,10 @@ struct timeval {
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 0
|
||||
#endif
|
||||
|
||||
#ifndef MG_ENABLE_PACKED_FS
|
||||
#define MG_ENABLE_PACKED_FS 0
|
||||
#endif
|
||||
|
||||
#ifndef MG_ENABLE_ASSERT
|
||||
#define MG_ENABLE_ASSERT 0
|
||||
#endif
|
||||
@@ -1368,32 +1372,11 @@ struct mg_str mg_file_read(struct mg_fs *fs, const char *path);
|
||||
bool mg_file_write(struct mg_fs *fs, const char *path, const void *, size_t);
|
||||
bool mg_file_printf(struct mg_fs *fs, const char *path, const char *fmt, ...);
|
||||
|
||||
|
||||
// A piece of memory (flash or RAM) represented as a file
|
||||
struct mg_mem_file {
|
||||
const char *path;
|
||||
const unsigned char *data;
|
||||
size_t size; // Data size
|
||||
time_t mtime; // Modification time
|
||||
};
|
||||
|
||||
// Global variable that points to the array of memory files. It can be
|
||||
// changed to point to the user-defined file array. The last element
|
||||
// should have NULL path.
|
||||
//
|
||||
// static const struct mg_mem_file my_files[] = {
|
||||
// {"/web_root/index.html", "hi", 2, 0},
|
||||
// {NULL, NULL, 0, 0},
|
||||
// };
|
||||
// mg_mem_files = my_files;
|
||||
extern const struct mg_mem_file *mg_mem_files;
|
||||
|
||||
// const char *mg_unpack(const char *path, size_t *size, time_t *mtime);
|
||||
// const char *mg_unlist(size_t no); // Get no'th packed filename
|
||||
// Packed API
|
||||
const char *mg_unpack(const char *path, size_t *size, time_t *mtime);
|
||||
const char *mg_unlist(size_t no); // Get no'th packed filename
|
||||
struct mg_str mg_unpacked(const char *path); // Packed file as mg_str
|
||||
|
||||
extern const struct mg_mem_file mg_packed_files[]; // Generated by "pack" util
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -78,6 +78,10 @@
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 0
|
||||
#endif
|
||||
|
||||
#ifndef MG_ENABLE_PACKED_FS
|
||||
#define MG_ENABLE_PACKED_FS 0
|
||||
#endif
|
||||
|
||||
#ifndef MG_ENABLE_ASSERT
|
||||
#define MG_ENABLE_ASSERT 0
|
||||
#endif
|
||||
|
||||
@@ -44,28 +44,7 @@ struct mg_str mg_file_read(struct mg_fs *fs, const char *path);
|
||||
bool mg_file_write(struct mg_fs *fs, const char *path, const void *, size_t);
|
||||
bool mg_file_printf(struct mg_fs *fs, const char *path, const char *fmt, ...);
|
||||
|
||||
|
||||
// A piece of memory (flash or RAM) represented as a file
|
||||
struct mg_mem_file {
|
||||
const char *path;
|
||||
const unsigned char *data;
|
||||
size_t size; // Data size
|
||||
time_t mtime; // Modification time
|
||||
};
|
||||
|
||||
// Global variable that points to the array of memory files. It can be
|
||||
// changed to point to the user-defined file array. The last element
|
||||
// should have NULL path.
|
||||
//
|
||||
// static const struct mg_mem_file my_files[] = {
|
||||
// {"/web_root/index.html", "hi", 2, 0},
|
||||
// {NULL, NULL, 0, 0},
|
||||
// };
|
||||
// mg_mem_files = my_files;
|
||||
extern const struct mg_mem_file *mg_mem_files;
|
||||
|
||||
// const char *mg_unpack(const char *path, size_t *size, time_t *mtime);
|
||||
// const char *mg_unlist(size_t no); // Get no'th packed filename
|
||||
// Packed API
|
||||
const char *mg_unpack(const char *path, size_t *size, time_t *mtime);
|
||||
const char *mg_unlist(size_t no); // Get no'th packed filename
|
||||
struct mg_str mg_unpacked(const char *path); // Packed file as mg_str
|
||||
|
||||
extern const struct mg_mem_file mg_packed_files[]; // Generated by "pack" util
|
||||
+11
-17
@@ -9,25 +9,19 @@ struct packed_file {
|
||||
size_t pos;
|
||||
};
|
||||
|
||||
const struct mg_mem_file *mg_mem_files;
|
||||
|
||||
static int mg_scmp(const char *a, const char *b) {
|
||||
while (*a && (*a == *b)) a++, b++;
|
||||
return *(const unsigned char *) a - *(const unsigned char *) b;
|
||||
}
|
||||
static const char *mg_unlist(size_t no) {
|
||||
return mg_mem_files == NULL ? NULL : mg_mem_files[no].path;
|
||||
}
|
||||
static const char *mg_unpack(const char *path, size_t *size, time_t *mtime) {
|
||||
const struct mg_mem_file *p;
|
||||
for (p = mg_mem_files; p != NULL && p->path != NULL; p++) {
|
||||
if (mg_scmp(p->path, path) != 0) continue;
|
||||
if (size != NULL) *size = p->size;
|
||||
if (mtime != NULL) *mtime = p->mtime;
|
||||
return (const char *) p->data;
|
||||
}
|
||||
#if MG_ENABLE_PACKED_FS
|
||||
#else
|
||||
const char *mg_unpack(const char *path, size_t *size, time_t *mtime) {
|
||||
if (size != NULL) *size = 0;
|
||||
if (mtime != NULL) *mtime = 0;
|
||||
(void) path;
|
||||
return NULL;
|
||||
}
|
||||
const char *mg_unlist(size_t no) {
|
||||
(void) no;
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
struct mg_str mg_unpacked(const char *path) {
|
||||
size_t len = 0;
|
||||
|
||||
+3
-2
@@ -1,6 +1,6 @@
|
||||
SRCS = mongoose.c unit_test.c packed_fs.c
|
||||
HDRS = $(wildcard ../src/*.h) $(wildcard ../src/drivers/*.h)
|
||||
DEFS ?= -DMG_MAX_HTTP_HEADERS=7 -DMG_ENABLE_LINES -DMG_ENABLE_SSI=1 -DMG_ENABLE_ASSERT=1
|
||||
DEFS ?= -DMG_MAX_HTTP_HEADERS=7 -DMG_ENABLE_LINES -DMG_ENABLE_PACKED_FS=1 -DMG_ENABLE_SSI=1 -DMG_ENABLE_ASSERT=1
|
||||
WARN ?= -pedantic -W -Wall -Werror -Wshadow -Wdouble-promotion -fno-common -Wconversion -Wundef
|
||||
OPTS ?= -O3 -g3
|
||||
INCS ?= -Isrc -I.
|
||||
@@ -172,7 +172,7 @@ valgrind: Makefile mongoose.h $(SRCS)
|
||||
$(VALGRIND_RUN) ./unit_test
|
||||
|
||||
misra:
|
||||
cppcheck --addon=misra -DMG_ARCH=MG_ARCH_UNIX -DMG_ENABLE_SSI=1 mongoose.c >/tmp/x 2>&1
|
||||
cppcheck --addon=misra -DMG_ARCH=MG_ARCH_UNIX -DMG_ENABLE_PACKED_FS=1 -DMG_ENABLE_SSI=1 mongoose.c >/tmp/x 2>&1
|
||||
cppcheck --addon=misra -DMG_ARCH=MG_ARCH_CUSTOM -DMG_ENABLE_LINES=1 -DTLS=MG_TLS_BUILTIN -DMG_ENABLE_TCPIP=1 mongoose.c >>/tmp/x 2>&1
|
||||
cppcheck --addon=misra --clang -DMG_ENABLE_LINES=1 -DTLS=MG_TLS_BUILTIN -DMG_ENABLE_TCPIP=1 mongoose.c >>/tmp/x 2>&1
|
||||
cppcheck --addon=misra --clang -DMG_ENABLE_LINES=1 -DMG_ENABLE_SSI=1 mongoose.c >>/tmp/x 2>&1
|
||||
@@ -285,3 +285,4 @@ tutorials_embedded:
|
||||
@for X in $(TUTORIALS_EMBEDDED); do test -f $$X/Makefile || continue; $(MAKE) -C $$X build || exit 1; done
|
||||
clean_tutorials_embedded:
|
||||
for X in $(TUTORIALS_EMBEDDED); do test -f $$X/Makefile || continue; $(MAKE) -C $$X clean || exit 1; done
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
#pragma once
|
||||
|
||||
// Build environment. Possible options are at https://github.com/cesanta/mongoose/blob/master/src/arch.h
|
||||
// #define MG_ARCH MG_ARCH_CUSTOM
|
||||
|
||||
// Choice of the network stack. By default, use an external BSD-compatible stack
|
||||
// #define MG_ENABLE_FREERTOS_TCP 0 // Amazon FreeRTOS-TCP
|
||||
// #define MG_ENABLE_LWIP 0 // lWIP
|
||||
// #define MG_ENABLE_TCPIP 0 // Mongoose built-in
|
||||
// #define MG_ENABLE_RL 0 // ARM MDK
|
||||
// #define MG_ENABLE_POLL 0 // Only for BSD stack. Use poll()
|
||||
// #define MG_ENABLE_EPOLL 0 // Only for Linux/BSD stack. Use epoll()
|
||||
// #define MG_ENABLE_WINSOCK 1 // Only for Windows stack. Use Winsock
|
||||
// #define MG_ENABLE_SOCKET !MG_ENABLE_TCPIP
|
||||
// #define MG_SOCK_LISTEN_BACKLOG_SIZE 3 // Only for socket-based stacks
|
||||
|
||||
// Only for built-in network stack, MG_ENABLE_TCPIP == 1
|
||||
// #define MG_ENABLE_TCPIP_DRIVER_INIT 1 // enabled built-in driver for
|
||||
// #define MG_SET_MAC_ADDRESS(mac) // set MAC address for built-in driver
|
||||
// #define MG_SET_WIFI_CONFIG(data)
|
||||
// #define MG_ENABLE_TCPIP_PRINT_DEBUG_STATS 0
|
||||
|
||||
// Choose a driver for built-in network stack, MG_ENABLE_TCPIP == 1
|
||||
// #define MG_ENABLE_DRIVER_STM32H 0
|
||||
// #define MG_ENABLE_DRIVER_STM32F 0
|
||||
// #define MG_ENABLE_DRIVER_IMXRT 0
|
||||
// #define MG_ENABLE_DRIVER_CMSIS 0
|
||||
// #define MG_ENABLE_DRIVER_RA 0
|
||||
// #define MG_ENABLE_DRIVER_RW612 0
|
||||
// #define MG_ENABLE_DRIVER_SAME54 0
|
||||
// #define MG_ENABLE_DRIVER_MCXN 0
|
||||
// #define MG_ENABLE_DRIVER_TM4C 0
|
||||
// #define MG_ENABLE_DRIVER_TMS570 0
|
||||
// #define MG_ENABLE_DRIVER_XMC7 0
|
||||
// #define MG_ENABLE_DRIVER_XMC 0
|
||||
|
||||
// Filesystem support
|
||||
// #define MG_ENABLE_PACKED_FS 0 // Enable packed filesystem support
|
||||
// #define MG_ENABLE_FATFS 0 // Enable FATFS support, mg_fs_packed
|
||||
// #define MG_ENABLE_POSIX_FS 0 // Enable POSIX filesystem support, mg_fs_posix
|
||||
// #define MG_PATH_MAX 128 // Maximum path length
|
||||
// #define MG_DIRSEP '/' // Directory separator
|
||||
|
||||
// Misc options
|
||||
// #define MG_ENABLE_LOG 1 // Enable logging
|
||||
// #define MG_TLS MG_TLS_NONE // MG_TLS_NONE, MG_TLS_MBED, MG_TLS_OPENSSL, MG_TLS_CUSTOM
|
||||
// #define MG_ENABLE_IPV6 0 // Enable IPv6 support
|
||||
// #define MG_IPV6_V6ONLY 0 // IPv6 socket binds only to V6, not V4 address
|
||||
// #define MG_ENABLE_CUSTOM_CALLOC 0 // Set to 1 to let user define mg_calloc() and mg_free()
|
||||
// #define MG_ENABLE_CUSTOM_RANDOM 0 // Set to 1 to let user define mg_random()
|
||||
// #define MG_ENABLE_CUSTOM_MILLIS 0 // Set to 1 to let user define mg_millis()
|
||||
// #define MG_ENABLE_SSI 0 // Enable SSI support
|
||||
// #define MG_ENABLE_DIRLIST 0 // Enable directory listing
|
||||
// #define MG_IO_SIZE 512 // Granularity of the send/recv IO buffer growth
|
||||
// #define MG_MAX_RECV_SIZE (3UL * 1024UL * 1024UL) // Maximum recv IO buffer size
|
||||
// #define MG_DATA_SIZE 32 // struct mg_connection :: data size
|
||||
// #define MG_MAX_HTTP_HEADERS 30 // Maximum number of HTTP headers
|
||||
// #define MG_HTTP_INDEX "index.html" // Default HTTP index file
|
||||
// #define MG_ENABLE_LINES 0 // Show unamalgamated line numbers
|
||||
+33
-3
@@ -2,7 +2,7 @@
|
||||
// All rights reserved.
|
||||
|
||||
// This program is used to pack arbitrary data into a C binary. It takes
|
||||
// a list of files as an input, and produc es a .c data file that contains
|
||||
// a list of files as an input, and produces a .c data file that contains
|
||||
// contents of all these files as a collection of byte arrays.
|
||||
//
|
||||
// Usage:
|
||||
@@ -24,12 +24,35 @@
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
static const char *code =
|
||||
"static int scmp(const char *a, const char *b) {\n"
|
||||
" while (*a && (*a == *b)) a++, b++;\n"
|
||||
" return *(const unsigned char *) a - *(const unsigned char *) b;\n"
|
||||
"}\n"
|
||||
"const char *mg_unlist(size_t no) {\n"
|
||||
" return packed_files[no].name;\n"
|
||||
"}\n"
|
||||
"const char *mg_unpack(const char *name, size_t *size, time_t *mtime) {\n"
|
||||
" const struct packed_file *p;\n"
|
||||
" for (p = packed_files; p->name != NULL; p++) {\n"
|
||||
" if (scmp(p->name, name) != 0) continue;\n"
|
||||
" if (size != NULL) *size = p->size - 1;\n"
|
||||
" if (mtime != NULL) *mtime = p->mtime;\n"
|
||||
" return (const char *) p->data;\n"
|
||||
" }\n"
|
||||
" return NULL;\n"
|
||||
"}\n";
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
int i, j, ch;
|
||||
const char *strip_prefix = "";
|
||||
|
||||
printf("%s", "#include \"mongoose.h\"\n");
|
||||
printf("%s", "\n");
|
||||
printf("%s", "#if defined(__cplusplus)\nextern \"C\" {\n#endif\n");
|
||||
printf("%s", "const char *mg_unlist(size_t no);\n");
|
||||
printf("%s", "const char *mg_unpack(const char *, size_t *, time_t *);\n");
|
||||
printf("%s", "#if defined(__cplusplus)\n}\n#endif\n\n");
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
if (strcmp(argv[i], "-s") == 0) {
|
||||
@@ -56,12 +79,18 @@ int main(int argc, char *argv[]) {
|
||||
}
|
||||
// Append zero byte at the end, to make text files appear in memory
|
||||
// as nul-terminated strings.
|
||||
// printf(" 0 // %.*s\n", (int) sizeof(ascii), ascii);
|
||||
printf(" 0 // %.*s\n};\n", j, ascii);
|
||||
fclose(fp);
|
||||
}
|
||||
}
|
||||
|
||||
printf("%s", "\nconst struct mg_mem_file mg_packed_files[] = {\n");
|
||||
printf("%s", "\nstatic const struct packed_file {\n");
|
||||
printf("%s", " const char *name;\n");
|
||||
printf("%s", " const unsigned char *data;\n");
|
||||
printf("%s", " size_t size;\n");
|
||||
printf("%s", " time_t mtime;\n");
|
||||
printf("%s", "} packed_files[] = {\n");
|
||||
|
||||
for (i = 1; i < argc; i++) {
|
||||
struct stat st;
|
||||
@@ -73,11 +102,12 @@ int main(int argc, char *argv[]) {
|
||||
}
|
||||
stat(argv[i], &st);
|
||||
if (strncmp(name, strip_prefix, n) == 0) name += n;
|
||||
printf(" {\"/%s\", v%d, sizeof(v%d) - 1, %lu},\n", name, i, i,
|
||||
printf(" {\"/%s\", v%d, sizeof(v%d), %lu},\n", name, i, i,
|
||||
(unsigned long) st.st_mtime);
|
||||
}
|
||||
printf("%s", " {NULL, NULL, 0, 0}\n");
|
||||
printf("%s", "};\n\n");
|
||||
printf("%s", code);
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
+97
-37
@@ -1,43 +1,103 @@
|
||||
// Copyright (c) 2024 Cesanta Software Limited
|
||||
//
|
||||
// Utility that generates packed filesystem C file compatible with the
|
||||
// Mongoose Network Library, https://github.com/cesanta/mongoose
|
||||
//
|
||||
// Usage:
|
||||
// node pack.js FILE[:DESTINATION[:gzip]] ...
|
||||
|
||||
const fs = require('fs');
|
||||
const zlib = require('zlib');
|
||||
const argv = process.argv.slice(2);
|
||||
|
||||
// Convert each command-line arguments into [ DATA_ARRAY, STRUCT_INITIALIZER ]
|
||||
const entries = argv.map(function(filename, i) {
|
||||
const parts = filename.split(':');
|
||||
const stat = fs.statSync(parts[0]);
|
||||
const data = fs.readFileSync(parts[0], null);
|
||||
let bytes = Array.from(data);
|
||||
let destination = (parts[1] || parts[0]).replace(/^\.+[\/\\]*/, '');
|
||||
if (parts[2] == 'gzip') {
|
||||
bytes = Array.from(zlib.gzipSync(data));
|
||||
destination += '.gz';
|
||||
}
|
||||
|
||||
// concat(0) appends trailing 0, in order to make any file an asciz string
|
||||
return [
|
||||
`static const unsigned char v${i}[] = {${bytes.concat(0).join(',')}};`,
|
||||
` {"/${destination}", v${i}, sizeof(v${i}) - 1, ${parseInt(stat.mtimeMs / 1000)}}`,
|
||||
];
|
||||
});
|
||||
|
||||
process.stdout.write(`// DO NOT EDIT. This file is generated using this command:
|
||||
// ${process.argv.join(' ')}
|
||||
// Copyright (c) 2013-2024 Cesanta Software Limited
|
||||
|
||||
const Pack = async function(files) {
|
||||
let out = `// DO NOT EDIT. This file is generated
|
||||
#include "mongoose.h"
|
||||
|
||||
${entries.map(x => x[0]).join('\n\n')}
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
const struct mg_mem_file mg_packed_files[] = {
|
||||
${entries.map(x => x[1]).join(',\n')},
|
||||
const char *mg_unlist(size_t no);
|
||||
const char *mg_unpack(const char *, size_t *, time_t *);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
`;
|
||||
//const str2bytes = str => new TextEncoder().encode(str);
|
||||
let no = 1;
|
||||
for (const f of files) {
|
||||
let byteArray = new TextEncoder().encode(f.data);
|
||||
if (f.zip) {
|
||||
const cs = new CompressionStream('gzip');
|
||||
const writer = cs.writable.getWriter();
|
||||
writer.write(byteArray);
|
||||
writer.close();
|
||||
const resp = new Response(cs.readable);
|
||||
const arr = await resp.arrayBuffer();
|
||||
byteArray = new Uint8Array(arr);
|
||||
}
|
||||
const bytes = Array.from(byteArray);
|
||||
|
||||
// console.log(f.path, bytes);
|
||||
out += `
|
||||
static const unsigned char v${no}[] = {`;
|
||||
// concat(0) appends trailing 0, in order to make any file an asciz string
|
||||
out += bytes.concat(0).join(',');
|
||||
out +=`};`;
|
||||
no++;
|
||||
}
|
||||
|
||||
out += `
|
||||
|
||||
static const struct packed_file {
|
||||
const char *name;
|
||||
const unsigned char *data;
|
||||
size_t size;
|
||||
time_t mtime;
|
||||
} packed_files[] = {`;
|
||||
|
||||
no = 1;
|
||||
for (const f of files) {
|
||||
out += `
|
||||
{"/${f.path}${f.zip ? '.gz' : ''}", v${no}, sizeof(v${no}), 0},`;
|
||||
no++;
|
||||
}
|
||||
out +=`
|
||||
{NULL, NULL, 0, 0}
|
||||
};
|
||||
`);
|
||||
`;
|
||||
|
||||
out += `
|
||||
static int scmp(const char *a, const char *b) {
|
||||
while (*a && (*a == *b)) a++, b++;
|
||||
return *(const unsigned char *) a - *(const unsigned char *) b;
|
||||
}
|
||||
|
||||
const char *mg_unlist(size_t no) {
|
||||
return packed_files[no].name;
|
||||
}
|
||||
|
||||
const char *mg_unpack(const char *name, size_t *size, time_t *mtime) {
|
||||
const struct packed_file *p;
|
||||
for (p = packed_files; p->name != NULL; p++) {
|
||||
if (scmp(p->name, name) != 0) continue;
|
||||
if (size != NULL) *size = p->size - 1;
|
||||
if (mtime != NULL) *mtime = p->mtime;
|
||||
return (const char *) p->data;
|
||||
}
|
||||
return NULL;
|
||||
};
|
||||
`;
|
||||
|
||||
return out;
|
||||
};
|
||||
|
||||
// Script entry point
|
||||
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const [, , ...args] = process.argv;
|
||||
|
||||
const files = args.map(f => ({
|
||||
path: f,
|
||||
data: fs.readFileSync(f, 'utf8'),
|
||||
zip: !!f.match(/web_root\/.+/),
|
||||
}));
|
||||
|
||||
(async () => {
|
||||
const text = await Pack(files);
|
||||
process.stdout.write(text);
|
||||
})();
|
||||
|
||||
@@ -3187,7 +3187,6 @@ static void eh7(struct mg_connection *c, int ev, void *ev_data) {
|
||||
memset(&sopts, 0, sizeof(sopts));
|
||||
sopts.root_dir = "/";
|
||||
sopts.fs = &mg_fs_packed;
|
||||
mg_mem_files = mg_packed_files;
|
||||
mg_http_serve_dir(c, hm, &sopts);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
PACK = ./pack # Utility to pack files into a packed filesystem
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
# CFLAGS_MONGOOSE +=
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
FILES_TO_EMBED ?= $(wildcard web_root/*)
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ void fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
.root_dir = "/web_root",
|
||||
.fs = &mg_fs_packed
|
||||
};
|
||||
mg_mem_files = mg_packed_files; // Use generated packed filesystem
|
||||
mg_http_serve_dir(c, ev_data, &opts);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,51 +1,563 @@
|
||||
#include "mongoose.h"
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
const char *mg_unlist(size_t no);
|
||||
const char *mg_unpack(const char *, size_t *, time_t *);
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
static const unsigned char v1[] = {
|
||||
60, 33, 68, 79, 67, 84, 89, 80, 69, 32, 104, 116, // <!DOCTYPE ht
|
||||
109, 108, 62, 10, 60, 104, 116, 109, 108, 32, 108, 97, // ml>.<html la
|
||||
110, 103, 61, 34, 101, 110, 34, 62, 10, 32, 32, 60, // ng="en">. <
|
||||
104, 101, 97, 100, 62, 10, 32, 32, 32, 32, 60, 109, // head>. <m
|
||||
101, 116, 97, 32, 110, 97, 109, 101, 61, 34, 100, 101, // eta name="de
|
||||
115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 99, // scription" c
|
||||
111, 110, 116, 101, 110, 116, 61, 34, 77, 111, 110, 103, // ontent="Mong
|
||||
111, 111, 115, 101, 32, 69, 109, 98, 101, 100, 100, 101, // oose Embedde
|
||||
100, 32, 70, 105, 108, 101, 115, 121, 116, 101, 109, 32, // d Filesytem
|
||||
101, 120, 97, 109, 112, 108, 101, 34, 32, 47, 62, 10, // example" />.
|
||||
32, 32, 32, 32, 60, 109, 101, 116, 97, 32, 104, 116, // <meta ht
|
||||
116, 112, 45, 101, 113, 117, 105, 118, 61, 34, 67, 111, // tp-equiv="Co
|
||||
110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 34, 32, // ntent-Type"
|
||||
99, 111, 110, 116, 101, 110, 116, 61, 34, 116, 101, 120, // content="tex
|
||||
116, 47, 104, 116, 109, 108, 59, 32, 99, 104, 97, 114, // t/html; char
|
||||
115, 101, 116, 61, 85, 84, 70, 45, 56, 34, 62, 10, // set=UTF-8">.
|
||||
32, 32, 32, 32, 60, 109, 101, 116, 97, 32, 104, 116, // <meta ht
|
||||
116, 112, 45, 101, 113, 117, 105, 118, 61, 34, 88, 45, // tp-equiv="X-
|
||||
85, 65, 45, 67, 111, 109, 112, 97, 116, 105, 98, 108, // UA-Compatibl
|
||||
101, 34, 32, 99, 111, 110, 116, 101, 110, 116, 61, 34, // e" content="
|
||||
73, 69, 61, 101, 100, 103, 101, 34, 62, 10, 32, 32, // IE=edge">.
|
||||
32, 32, 60, 109, 101, 116, 97, 32, 110, 97, 109, 101, // <meta name
|
||||
61, 34, 118, 105, 101, 119, 112, 111, 114, 116, 34, 32, // ="viewport"
|
||||
99, 111, 110, 116, 101, 110, 116, 61, 34, 119, 105, 100, // content="wid
|
||||
116, 104, 61, 100, 101, 118, 105, 99, 101, 45, 119, 105, // th=device-wi
|
||||
100, 116, 104, 44, 32, 105, 110, 105, 116, 105, 97, 108, // dth, initial
|
||||
45, 115, 99, 97, 108, 101, 61, 49, 34, 62, 10, 32, // -scale=1">.
|
||||
32, 32, 32, 32, 32, 32, 32, 60, 116, 105, 116, 108, // <titl
|
||||
101, 62, 77, 111, 110, 103, 111, 111, 115, 101, 32, 69, // e>Mongoose E
|
||||
109, 98, 101, 100, 100, 101, 100, 32, 70, 105, 108, 101, // mbedded File
|
||||
115, 121, 116, 101, 109, 32, 101, 120, 97, 109, 112, 108, // sytem exampl
|
||||
101, 60, 47, 116, 105, 116, 108, 101, 62, 10, 32, 32, // e</title>.
|
||||
32, 32, 60, 108, 105, 110, 107, 32, 114, 101, 108, 61, // <link rel=
|
||||
34, 115, 116, 121, 108, 101, 115, 104, 101, 101, 116, 34, // "stylesheet"
|
||||
32, 104, 114, 101, 102, 61, 34, 115, 116, 121, 108, 101, // href="style
|
||||
46, 99, 115, 115, 34, 32, 47, 62, 10, 32, 32, 60, // .css" />. <
|
||||
47, 104, 101, 97, 100, 62, 10, 32, 32, 60, 98, 111, // /head>. <bo
|
||||
100, 121, 62, 60, 47, 98, 111, 100, 121, 62, 10, 32, // dy></body>.
|
||||
32, 60, 115, 99, 114, 105, 112, 116, 32, 116, 121, 112, // <script typ
|
||||
101, 61, 34, 109, 111, 100, 117, 108, 101, 34, 32, 115, // e="module" s
|
||||
114, 99, 61, 34, 109, 97, 105, 110, 46, 106, 115, 34, // rc="main.js"
|
||||
62, 60, 47, 115, 99, 114, 105, 112, 116, 62, 10, 60, // ></script>.<
|
||||
47, 104, 116, 109, 108, 62, 10,// /html>.
|
||||
31, 139, 8, 8, 219, 27, 244, 98, 0, 3, 112, 114, // .......b..pr
|
||||
101, 97, 99, 116, 46, 109, 105, 110, 46, 106, 115, 0, // eact.min.js.
|
||||
157, 91, 123, 119, 219, 182, 146, 255, 127, 63, 69, 164, // .[{w.....?E.
|
||||
211, 163, 18, 43, 68, 177, 147, 182, 187, 75, 5, 213, // ...+D....K..
|
||||
105, 29, 183, 238, 109, 234, 230, 38, 105, 123, 123, 85, // i...m..&i{{U
|
||||
93, 30, 138, 132, 44, 214, 20, 169, 242, 97, 91, 53, // ]...,....a[5
|
||||
245, 221, 247, 55, 3, 128, 164, 108, 185, 247, 236, 158, // ...7...l....
|
||||
36, 34, 30, 131, 1, 48, 47, 204, 12, 144, 155, 176, // $"...0/.....
|
||||
120, 166, 101, 38, 3, 89, 201, 92, 22, 178, 150, 169, // x.e&.Y......
|
||||
186, 223, 203, 68, 205, 23, 50, 82, 47, 194, 40, 169, // ...D..2R/.(.
|
||||
26, 125, 231, 205, 252, 178, 185, 106, 178, 102, 219, 124, // .}.....j.f.|
|
||||
34, 154, 98, 187, 110, 174, 138, 36, 110, 242, 219, 178, // ".b.n..$n...
|
||||
217, 100, 81, 147, 85, 183, 77, 146, 233, 121, 180, 94, // .dQ.U.M..y.^
|
||||
52, 127, 230, 121, 243, 175, 188, 136, 155, 164, 210, 69, // 4..y.......E
|
||||
248, 34, 153, 174, 234, 44, 170, 146, 60, 123, 86, 122, // ."...,..<{Vz
|
||||
152, 72, 220, 175, 242, 194, 187, 193, 172, 193, 179, 36, // .H.........$
|
||||
123, 150, 9, 61, 15, 22, 42, 195, 207, 180, 208, 85, // {..=..*....U
|
||||
93, 100, 207, 244, 190, 29, 177, 242, 180, 184, 39, 216, // ]d........'.
|
||||
76, 233, 201, 54, 44, 116, 86, 93, 230, 177, 158, 102, // L..6,tV]...f
|
||||
163, 81, 54, 41, 244, 38, 191, 209, 103, 235, 36, 141, // .Q6).&..g.$.
|
||||
1, 214, 13, 10, 61, 222, 141, 25, 216, 109, 105, 74, // ....=....miJ
|
||||
243, 214, 52, 103, 32, 134, 215, 122, 55, 84, 170, 158, // ..4g ..z7T..
|
||||
229, 42, 152, 215, 11, 127, 88, 232, 21, 215, 11, 83, // .*....X....S
|
||||
79, 241, 195, 165, 105, 178, 242, 194, 226, 170, 222, 96, // O...i......`
|
||||
230, 114, 146, 234, 236, 170, 90, 127, 249, 114, 52, 242, // .r....Z..r4.
|
||||
210, 73, 68, 19, 99, 69, 234, 81, 255, 171, 153, 158, // .ID.cE.Q....
|
||||
68, 97, 154, 118, 35, 229, 75, 225, 87, 66, 14, 221, // Da.v#.K.WB..
|
||||
26, 49, 87, 181, 219, 234, 124, 245, 140, 118, 82, 167, // .1W...|..vR.
|
||||
233, 64, 101, 147, 88, 175, 194, 58, 173, 222, 21, 249, // .@e.X..:....
|
||||
182, 20, 237, 98, 31, 180, 223, 228, 73, 252, 236, 68, // ...b....I..D
|
||||
41, 69, 75, 164, 117, 208, 74, 15, 97, 208, 34, 28, // )EK.u.J.a.".
|
||||
45, 183, 160, 69, 202, 124, 165, 89, 122, 68, 218, 130, // -..E.|.YzD..
|
||||
23, 150, 225, 134, 80, 32, 17, 45, 201, 215, 114, 75, // ....P .-..rK
|
||||
72, 252, 74, 130, 70, 62, 0, 244, 202, 47, 100, 16, // H.J.F>.../d.
|
||||
92, 251, 132, 1, 5, 247, 93, 250, 39, 248, 213, 174, // ......].'...
|
||||
26, 251, 102, 105, 40, 70, 174, 109, 109, 10, 81, 158, // ..fi(F.mm.Q.
|
||||
149, 85, 81, 71, 85, 94, 116, 64, 55, 220, 71, 52, // .UQGU^t@7.G4
|
||||
31, 143, 3, 191, 222, 187, 21, 59, 106, 220, 100, 96, // .......;j.d`
|
||||
52, 177, 153, 11, 94, 42, 100, 218, 173, 126, 77, 114, // 4...^*d..~Mr
|
||||
225, 196, 165, 229, 68, 215, 31, 27, 73, 171, 214, 73, // ....D...I..I
|
||||
57, 225, 237, 40, 236, 150, 42, 88, 74, 165, 239, 42, // 9..(..*XJ..*
|
||||
213, 131, 189, 49, 176, 96, 180, 89, 80, 38, 90, 196, // ...1.`.YP&Z.
|
||||
65, 48, 67, 47, 62, 146, 126, 240, 247, 122, 146, 100, // A0C/>.~..z.d
|
||||
177, 190, 251, 145, 228, 114, 124, 42, 120, 11, 211, 86, // .....r|*x..V
|
||||
158, 167, 217, 107, 205, 64, 70, 14, 166, 217, 120, 44, // ...k.@F...x,
|
||||
44, 218, 129, 242, 2, 197, 157, 243, 108, 33, 28, 207, // ,.......l!..
|
||||
9, 165, 118, 211, 113, 197, 82, 225, 136, 160, 232, 9, // ..v.q.R.....
|
||||
21, 104, 61, 102, 218, 110, 3, 187, 86, 73, 100, 48, // .h=f.n..VId0
|
||||
237, 230, 211, 60, 95, 59, 23, 85, 34, 163, 124, 84, // ...<_;.U".|T
|
||||
52, 189, 209, 100, 25, 150, 90, 49, 151, 50, 117, 242, // 4..d..Z1.2u.
|
||||
255, 220, 192, 253, 35, 132, 102, 47, 203, 66, 135, 215, // ....#.f/.B..
|
||||
123, 187, 61, 90, 229, 190, 91, 244, 134, 22, 237, 13, // {.=Z..[.....
|
||||
104, 76, 12, 49, 230, 175, 26, 156, 0, 115, 53, 217, // hL.1.....s5.
|
||||
214, 37, 49, 120, 52, 26, 92, 161, 185, 24, 143, 155, // .%1x4.......
|
||||
166, 24, 40, 150, 242, 101, 14, 4, 250, 189, 6, 23, // ..(..e......
|
||||
138, 36, 187, 2, 140, 231, 21, 71, 123, 154, 38, 23, // .$.....G{.&.
|
||||
222, 85, 79, 226, 175, 188, 206, 244, 232, 41, 99, 86, // .UO......)cV
|
||||
149, 219, 169, 208, 40, 151, 121, 81, 121, 14, 222, 72, // ....(.yQy..H
|
||||
69, 79, 20, 110, 240, 111, 249, 60, 115, 165, 189, 144, // EO.n.o.<s...
|
||||
21, 217, 72, 141, 97, 27, 221, 27, 214, 242, 194, 233, // ..H.a.......
|
||||
215, 212, 109, 178, 80, 94, 174, 60, 152, 50, 65, 72, // ..m.P^.<.2AH
|
||||
232, 71, 75, 175, 86, 132, 242, 29, 237, 36, 32, 124, // .GK.V....$ |
|
||||
94, 165, 74, 15, 6, 56, 23, 12, 165, 114, 250, 29, // ^.J..8...r..
|
||||
159, 202, 119, 94, 13, 116, 149, 36, 232, 76, 26, 53, // ..w^.t.$.L.5
|
||||
2, 81, 234, 73, 126, 155, 233, 226, 195, 207, 223, 158, // .Q.I~.......
|
||||
167, 154, 108, 141, 52, 156, 161, 97, 235, 217, 188, 88, // ..l.4..a...X
|
||||
88, 93, 148, 70, 184, 11, 8, 80, 46, 160, 208, 220, // X].F...P....
|
||||
47, 228, 27, 47, 192, 76, 92, 211, 3, 85, 140, 70, // /../.L...U.F
|
||||
59, 116, 11, 177, 239, 209, 237, 218, 59, 60, 30, 34, // ;t......;<."
|
||||
89, 202, 149, 217, 100, 40, 99, 185, 147, 27, 121, 37, // Y...d(c...y%
|
||||
175, 229, 157, 188, 80, 21, 113, 15, 34, 210, 52, 137, // ....P.q.".4.
|
||||
60, 87, 23, 142, 184, 68, 117, 214, 30, 218, 95, 8, // <W...Du..._.
|
||||
49, 11, 95, 103, 174, 47, 60, 16, 177, 13, 75, 206, // 1._g./<...K.
|
||||
245, 60, 92, 40, 179, 94, 180, 100, 168, 129, 155, 195, // .<.(.^.d....
|
||||
101, 158, 167, 58, 236, 105, 196, 102, 70, 48, 254, 16, // e..:.i.fF0..
|
||||
182, 5, 12, 239, 181, 3, 56, 171, 55, 75, 93, 28, // ......8.7K].
|
||||
182, 45, 147, 171, 36, 171, 250, 227, 183, 60, 47, 54, // .-..$....</6
|
||||
96, 20, 128, 203, 194, 255, 170, 40, 194, 221, 36, 41, // `......(..$)
|
||||
249, 235, 109, 4, 192, 214, 242, 222, 25, 25, 127, 179, // ..m.........
|
||||
239, 129, 179, 85, 245, 55, 36, 16, 95, 158, 0, 112, // ...U.7$._..p
|
||||
195, 90, 42, 55, 198, 234, 224, 11, 35, 106, 17, 51, // .Z*7....#j.3
|
||||
207, 253, 141, 96, 83, 67, 53, 21, 112, 227, 146, 247, // ...`SC5.p...
|
||||
188, 4, 139, 205, 150, 149, 183, 83, 23, 102, 207, 187, // .......S.f..
|
||||
209, 136, 49, 40, 181, 163, 15, 213, 8, 189, 162, 58, // ..1(.......:
|
||||
21, 4, 193, 41, 35, 11, 83, 157, 150, 250, 25, 145, // ...)#.S.....
|
||||
58, 6, 133, 227, 215, 231, 211, 24, 164, 165, 185, 24, // :...........
|
||||
95, 76, 74, 251, 215, 200, 238, 9, 202, 97, 51, 186, // _LJ......a3.
|
||||
187, 99, 54, 236, 223, 65, 4, 54, 114, 167, 118, 77, // .c6..A.6r.vM
|
||||
147, 30, 72, 129, 188, 82, 27, 35, 198, 49, 10, 56, // ..H..R.#.1.8
|
||||
42, 48, 201, 142, 190, 3, 69, 2, 127, 215, 52, 222, // *0....E...4.
|
||||
29, 152, 46, 36, 55, 142, 70, 119, 70, 183, 185, 230, // ...$7.FwF...
|
||||
232, 45, 109, 99, 204, 212, 136, 154, 230, 10, 141, 194, // .-mc........
|
||||
138, 241, 213, 204, 90, 229, 107, 160, 187, 86, 87, 71, // ....Z.k..VWG
|
||||
207, 80, 179, 17, 103, 147, 8, 203, 53, 237, 142, 4, // .P..g...5...
|
||||
142, 54, 135, 239, 108, 195, 246, 165, 84, 75, 111, 131, // .6..l...TKo.
|
||||
133, 195, 132, 150, 234, 204, 108, 74, 94, 64, 124, 75, // ......lJ^@|K
|
||||
33, 87, 144, 144, 124, 203, 136, 161, 86, 129, 177, 182, // !W..|...V...
|
||||
71, 38, 11, 236, 100, 44, 209, 64, 41, 124, 61, 185, // G&..d,.@)|=.
|
||||
9, 211, 90, 171, 225, 16, 104, 105, 255, 100, 12, 21, // ..Z...hi.d..
|
||||
74, 101, 207, 101, 129, 1, 198, 152, 82, 221, 120, 59, // Je.e....R.x;
|
||||
168, 151, 211, 8, 173, 174, 161, 16, 231, 211, 240, 249, // ............
|
||||
243, 169, 48, 203, 39, 150, 2, 242, 47, 102, 238, 224, // ..0.'.../f..
|
||||
8, 195, 104, 228, 74, 138, 5, 41, 110, 151, 118, 227, // ..h.J..)n.v.
|
||||
85, 50, 196, 41, 37, 228, 79, 30, 193, 72, 150, 42, // U2.)%.O..H.*
|
||||
65, 71, 196, 29, 251, 23, 70, 21, 239, 250, 170, 248, // AG....F.....
|
||||
209, 187, 35, 200, 187, 249, 120, 220, 126, 122, 182, 96, // ..#...x.~z.`
|
||||
105, 108, 129, 209, 126, 24, 4, 86, 237, 10, 104, 170, // il..~..V..h.
|
||||
195, 131, 163, 2, 42, 216, 58, 115, 94, 84, 36, 122, // ....*.:s^T$z
|
||||
30, 153, 24, 156, 194, 153, 58, 178, 179, 220, 80, 123, // ......:...P{
|
||||
233, 229, 140, 221, 63, 35, 171, 132, 63, 60, 222, 24, // ....?#..?<..
|
||||
39, 24, 227, 214, 169, 233, 29, 222, 103, 125, 227, 100, // '.......g}.d
|
||||
150, 5, 111, 79, 38, 180, 201, 214, 70, 146, 201, 140, // ..oO&...F...
|
||||
133, 49, 180, 49, 27, 208, 248, 64, 105, 218, 163, 63, // .1.1...@i..?
|
||||
192, 161, 1, 43, 216, 52, 166, 154, 247, 248, 39, 180, // ...+.4....'.
|
||||
223, 130, 1, 160, 56, 96, 45, 44, 186, 158, 132, 219, // ....8`-,....
|
||||
45, 14, 31, 227, 142, 194, 164, 214, 172, 58, 60, 1, // -........:<.
|
||||
31, 59, 169, 42, 224, 84, 159, 76, 81, 72, 39, 25, // .;.*.T.LQH'.
|
||||
124, 144, 15, 201, 50, 53, 71, 88, 242, 186, 61, 135, // |...25GX..=.
|
||||
146, 177, 122, 73, 246, 144, 102, 23, 172, 131, 56, 171, // ..zI..f...8.
|
||||
52, 188, 142, 82, 23, 213, 215, 26, 136, 180, 71, 59, // 4..R......G;
|
||||
5, 250, 194, 157, 172, 221, 89, 48, 171, 253, 188, 143, // ......Y0....
|
||||
187, 163, 211, 157, 99, 220, 240, 57, 200, 14, 155, 122, // ....c..9...z
|
||||
178, 128, 147, 90, 106, 246, 24, 129, 122, 231, 49, 225, // ...Zj...z.1.
|
||||
53, 14, 119, 107, 121, 131, 217, 112, 232, 59, 59, 58, // 5.wky..p.;;:
|
||||
104, 101, 176, 105, 162, 73, 165, 203, 202, 203, 196, 44, // he.i.I.....,
|
||||
240, 131, 241, 112, 123, 55, 236, 166, 185, 232, 216, 97, // ...p{7.....a
|
||||
152, 81, 76, 153, 110, 176, 209, 187, 84, 243, 204, 194, // .QL.n...T...
|
||||
84, 15, 77, 118, 0, 250, 49, 200, 36, 42, 203, 143, // T.Mv..1.$*..
|
||||
228, 160, 5, 134, 114, 199, 128, 43, 246, 23, 14, 193, // ....r..+....
|
||||
43, 210, 62, 248, 252, 68, 233, 140, 220, 230, 74, 4, // +.>..D....J.
|
||||
208, 20, 246, 246, 155, 230, 206, 193, 99, 113, 128, 35, // ........cq.#
|
||||
225, 8, 58, 208, 64, 0, 99, 64, 59, 199, 20, 248, // ..:.@.c@;...
|
||||
28, 194, 83, 135, 216, 59, 57, 25, 230, 142, 124, 163, // ..S..;9...|.
|
||||
209, 48, 51, 229, 211, 133, 128, 11, 2, 250, 227, 104, // .03........h
|
||||
167, 168, 100, 155, 134, 145, 246, 94, 156, 133, 91, 176, // ..d....^..[.
|
||||
71, 127, 242, 130, 166, 132, 61, 67, 95, 149, 191, 205, // G.....=C_...
|
||||
111, 117, 113, 6, 23, 201, 19, 152, 89, 207, 30, 180, // ouq.....Y...
|
||||
77, 202, 52, 193, 88, 68, 11, 89, 91, 132, 22, 164, // M.4.XD.Y[...
|
||||
176, 163, 248, 69, 16, 195, 181, 121, 54, 46, 16, 158, // ...E...y6...
|
||||
200, 96, 86, 53, 13, 4, 47, 142, 207, 111, 32, 139, // .`V5../..o .
|
||||
111, 147, 178, 210, 240, 5, 192, 202, 98, 246, 193, 63, // o.......b..?
|
||||
135, 152, 192, 54, 153, 40, 233, 41, 128, 86, 1, 134, // ...6.(.).V..
|
||||
113, 152, 93, 233, 34, 175, 203, 116, 247, 65, 87, 223, // q.]."..t.AW.
|
||||
101, 128, 187, 248, 248, 195, 91, 50, 134, 198, 59, 206, // e.....[2..;.
|
||||
197, 193, 246, 238, 32, 96, 215, 243, 11, 127, 189, 192, // .... `......
|
||||
6, 215, 67, 209, 245, 148, 151, 225, 134, 183, 93, 14, // ..C.......].
|
||||
123, 248, 215, 20, 98, 17, 50, 16, 46, 197, 66, 92, // {...b.2...B.
|
||||
25, 108, 216, 184, 114, 21, 46, 191, 35, 255, 218, 213, // .l..r...#...
|
||||
99, 248, 54, 105, 30, 198, 182, 206, 220, 210, 162, 42, // c.6i.......*
|
||||
118, 247, 15, 5, 53, 152, 90, 101, 217, 71, 97, 21, // v...5.Ze.Ga.
|
||||
113, 120, 176, 63, 102, 66, 65, 72, 235, 185, 66, 136, // qx.?fBAH..B.
|
||||
6, 167, 3, 214, 249, 97, 216, 99, 106, 209, 50, 213, // .....a.cj.2.
|
||||
40, 200, 87, 21, 196, 111, 89, 87, 218, 106, 136, 37, // (.W..oYW.j.%
|
||||
104, 175, 89, 244, 253, 218, 115, 154, 154, 67, 141, 116, // h.Y...s..C.t
|
||||
110, 92, 246, 241, 224, 116, 225, 101, 19, 77, 28, 152, // n....t.e.M..
|
||||
217, 47, 57, 241, 253, 144, 245, 195, 145, 81, 39, 255, // ./9......Q'.
|
||||
118, 20, 29, 203, 189, 176, 93, 38, 50, 50, 90, 183, // v.....]&22Z.
|
||||
146, 161, 220, 202, 27, 235, 155, 45, 229, 25, 121, 103, // .......-..yg
|
||||
240, 200, 204, 9, 114, 96, 27, 131, 73, 47, 58, 19, // ....r`..I/:.
|
||||
189, 24, 108, 106, 232, 68, 254, 220, 26, 180, 138, 76, // ..lj.D.....L
|
||||
9, 38, 204, 156, 91, 21, 27, 101, 42, 175, 77, 248, // .&..[..e*.M.
|
||||
80, 171, 121, 130, 131, 222, 91, 177, 153, 93, 194, 172, // P.y...[..]..
|
||||
145, 146, 77, 153, 89, 108, 2, 30, 115, 227, 156, 229, // ..M.Yl..s...
|
||||
138, 252, 31, 227, 45, 157, 41, 140, 62, 119, 49, 218, // ....-.).>w1.
|
||||
71, 242, 73, 70, 163, 124, 190, 34, 183, 0, 135, 145, // G.IF.|."....
|
||||
90, 205, 206, 102, 103, 6, 214, 28, 185, 62, 117, 33, // Z..fg....>u!
|
||||
70, 165, 197, 68, 179, 43, 133, 19, 141, 86, 100, 214, // F..D.+...Vd.
|
||||
26, 145, 255, 172, 66, 252, 156, 251, 222, 16, 163, 170, // ....B.......
|
||||
156, 230, 29, 66, 134, 206, 71, 163, 243, 73, 219, 2, // ...B..G..I..
|
||||
142, 82, 208, 48, 51, 67, 67, 149, 233, 91, 176, 113, // .R.03CC..[.q
|
||||
41, 239, 132, 239, 245, 219, 98, 110, 147, 97, 159, 98, // ).....bn.a.b
|
||||
234, 28, 117, 51, 94, 125, 37, 228, 217, 104, 116, 54, // ..u3^}%..ht6
|
||||
41, 235, 165, 23, 18, 156, 137, 60, 151, 40, 149, 85, // )......<.(.U
|
||||
88, 105, 200, 158, 45, 177, 34, 135, 109, 48, 122, 39, // Xi..-.".m0z'
|
||||
105, 149, 153, 202, 229, 150, 215, 75, 129, 16, 55, 173, // i......K..7.
|
||||
217, 119, 50, 98, 78, 117, 248, 20, 30, 127, 149, 69, // .w2bNu.....E
|
||||
228, 220, 164, 243, 201, 149, 174, 222, 32, 240, 185, 209, // ........ ...
|
||||
241, 7, 234, 248, 166, 200, 55, 156, 12, 104, 71, 184, // ......7..hG.
|
||||
33, 109, 3, 71, 25, 92, 132, 117, 42, 77, 163, 124, // !m.G...u*M.|
|
||||
26, 145, 183, 116, 192, 66, 222, 40, 187, 57, 248, 132, // ...t.B.(.9..
|
||||
22, 173, 220, 10, 179, 206, 191, 90, 138, 89, 44, 109, // .......Z.Y,m
|
||||
124, 179, 205, 51, 72, 244, 47, 73, 154, 254, 128, 192, // |..3H./I....
|
||||
13, 6, 248, 88, 171, 231, 246, 215, 235, 124, 147, 196, // ...X.....|..
|
||||
237, 8, 80, 200, 248, 142, 71, 250, 69, 123, 128, 252, // ..P...G.E{..
|
||||
251, 117, 45, 161, 8, 55, 79, 44, 239, 189, 142, 52, // .u-..7O,...4
|
||||
198, 88, 200, 191, 232, 52, 210, 49, 8, 141, 83, 230, // .X...4.1..S.
|
||||
112, 149, 235, 188, 78, 227, 51, 55, 232, 167, 109, 204, // p...N.37..m.
|
||||
60, 24, 156, 42, 245, 84, 175, 163, 52, 208, 53, 77, // <..*.T..4.5M
|
||||
192, 65, 160, 98, 137, 190, 17, 247, 143, 132, 202, 200, // .A.b........
|
||||
5, 43, 226, 205, 192, 130, 89, 22, 67, 140, 78, 5, // .+....Y.C.N.
|
||||
163, 186, 161, 195, 226, 129, 218, 94, 115, 249, 218, 148, // .......^s...
|
||||
39, 176, 194, 231, 33, 236, 102, 63, 140, 213, 54, 46, // '...!.f?..6.
|
||||
87, 129, 216, 27, 60, 107, 235, 166, 140, 70, 169, 165, // W...<k...F..
|
||||
187, 104, 237, 238, 81, 226, 185, 237, 30, 109, 238, 237, // .h..Q....m..
|
||||
243, 40, 155, 187, 193, 45, 159, 219, 229, 17, 37, 30, // .(...-....%.
|
||||
195, 122, 108, 242, 40, 122, 61, 84, 174, 227, 52, 179, // .zl.(z=T..4.
|
||||
166, 170, 176, 166, 74, 58, 154, 181, 36, 163, 239, 59, // ....J:..$..;
|
||||
248, 172, 43, 229, 116, 220, 115, 114, 239, 164, 190, 157, // ..+.t.sr....
|
||||
71, 60, 64, 238, 54, 4, 161, 99, 151, 240, 204, 128, // G<@.6..c....
|
||||
145, 35, 12, 205, 179, 17, 190, 124, 212, 239, 145, 122, // .#.....|...z
|
||||
109, 157, 3, 202, 221, 31, 178, 112, 11, 57, 177, 222, // m......p.9..
|
||||
159, 217, 40, 76, 201, 230, 233, 94, 34, 3, 208, 92, // ..(L...^"...
|
||||
40, 179, 8, 196, 93, 43, 23, 234, 173, 141, 100, 42, // (...]+....d*
|
||||
181, 162, 24, 112, 182, 178, 214, 180, 13, 110, 87, 146, // ...p.....nW.
|
||||
194, 253, 195, 8, 248, 66, 204, 46, 252, 249, 197, 226, // .....B......
|
||||
209, 89, 131, 229, 119, 217, 158, 254, 89, 240, 132, 172, // .Y..w...Y...
|
||||
200, 43, 43, 153, 231, 76, 36, 134, 53, 100, 215, 32, // .++..L$.5d.
|
||||
187, 241, 177, 108, 82, 16, 14, 89, 95, 240, 103, 222, // ...lR..Y_.g.
|
||||
67, 145, 181, 162, 44, 124, 83, 185, 245, 172, 100, 247, // C...,|S...d.
|
||||
150, 24, 137, 41, 179, 56, 78, 86, 43, 29, 91, 46, // ...).8NV+.[.
|
||||
119, 254, 129, 153, 128, 215, 235, 69, 134, 226, 3, 85, // w......E...U
|
||||
11, 27, 62, 105, 149, 216, 29, 13, 6, 145, 172, 231, // ..>i........
|
||||
117, 155, 249, 75, 196, 194, 174, 156, 164, 71, 155, 51, // u..K.....G.3
|
||||
184, 239, 2, 188, 161, 38, 113, 79, 189, 17, 37, 48, // .....&qO..%0
|
||||
241, 65, 60, 163, 197, 163, 84, 17, 128, 248, 120, 100, // .A<...T...xd
|
||||
2, 174, 237, 116, 199, 83, 74, 54, 161, 76, 154, 216, // ...t.SJ6.L..
|
||||
237, 160, 157, 159, 109, 195, 190, 159, 180, 185, 245, 250, // ....m.......
|
||||
41, 155, 214, 49, 40, 217, 49, 88, 131, 118, 70, 140, // )..1(.1X.vF.
|
||||
227, 246, 236, 221, 89, 231, 64, 110, 16, 163, 176, 215, // ....Y.@n....
|
||||
125, 67, 46, 183, 218, 113, 222, 106, 112, 226, 84, 180, // }C...q.jp.T.
|
||||
102, 191, 121, 186, 121, 93, 187, 144, 101, 99, 50, 56, // f.y.y]..ec28
|
||||
136, 109, 235, 249, 134, 67, 189, 146, 60, 40, 136, 232, // .m...C..<(..
|
||||
110, 6, 127, 38, 199, 194, 201, 33, 4, 42, 255, 21, // n..&...!.*..
|
||||
194, 226, 9, 165, 115, 249, 108, 23, 216, 129, 42, 37, // ....s.l...*%
|
||||
141, 50, 177, 146, 201, 57, 244, 18, 177, 157, 245, 86, // .2...9.....V
|
||||
59, 231, 155, 196, 121, 196, 57, 245, 73, 4, 232, 74, // ;...y.9.I..J
|
||||
147, 247, 79, 65, 152, 23, 139, 105, 166, 138, 217, 131, // ..OA...i....
|
||||
110, 155, 20, 187, 252, 0, 7, 180, 170, 182, 254, 139, // n...........
|
||||
23, 183, 183, 183, 147, 219, 87, 147, 188, 184, 122, 241, // ......W...z.
|
||||
242, 228, 228, 228, 5, 237, 19, 234, 226, 31, 31, 232, // ............
|
||||
237, 100, 12, 69, 24, 141, 98, 23, 209, 201, 136, 100, // .d.E..b....d
|
||||
181, 191, 176, 53, 126, 99, 196, 69, 196, 107, 168, 95, // ...5~c.E.k._
|
||||
104, 170, 158, 173, 196, 221, 65, 84, 147, 92, 91, 78, // h.....AT..[N
|
||||
102, 70, 231, 104, 233, 37, 116, 64, 121, 45, 83, 154, // fF.h.%t@y-S.
|
||||
38, 21, 147, 39, 188, 113, 56, 8, 241, 147, 125, 131, // &..'.q8...}.
|
||||
168, 37, 152, 227, 211, 154, 174, 114, 136, 163, 155, 215, // .%.....r....
|
||||
217, 36, 116, 46, 107, 217, 103, 221, 122, 222, 239, 1, // .$t.k.g.z...
|
||||
47, 38, 25, 184, 69, 119, 10, 135, 173, 236, 112, 77, // /&..Ew....pM
|
||||
61, 216, 166, 144, 120, 188, 37, 85, 30, 141, 182, 36, // =...x.%U...$
|
||||
179, 213, 198, 250, 39, 84, 106, 154, 174, 13, 72, 18, // ....'Tj...H.
|
||||
183, 60, 193, 36, 105, 171, 106, 219, 13, 134, 7, 142, // .<.$i.j.....
|
||||
8, 137, 104, 218, 79, 190, 30, 134, 145, 180, 155, 194, // ..h.O.......
|
||||
94, 222, 56, 107, 69, 242, 137, 88, 220, 94, 230, 112, // ^.8kE..X.^.p
|
||||
88, 206, 55, 38, 77, 67, 113, 168, 185, 242, 64, 252, // X.7&MCq...@.
|
||||
86, 44, 160, 159, 29, 130, 76, 228, 20, 118, 56, 111, // V,....L..v8o
|
||||
180, 13, 109, 51, 0, 2, 217, 211, 200, 135, 76, 2, // ..m3......L.
|
||||
87, 137, 214, 58, 186, 214, 177, 173, 210, 44, 28, 55, // W..:.....,.7
|
||||
16, 14, 59, 59, 77, 108, 103, 223, 67, 29, 99, 185, // ..;;Mlg.C.c.
|
||||
70, 43, 172, 230, 86, 184, 100, 104, 27, 29, 109, 156, // F+..V.dh..m.
|
||||
30, 182, 150, 24, 118, 56, 147, 143, 50, 145, 27, 31, // ....v8..2...
|
||||
172, 112, 138, 109, 130, 39, 157, 92, 101, 63, 46, 127, // .p.m.'..e?..
|
||||
215, 17, 71, 84, 59, 214, 246, 122, 86, 35, 152, 241, // ..GT;..zV#..
|
||||
43, 147, 9, 163, 60, 16, 244, 55, 58, 84, 225, 141, // +...<..7:T..
|
||||
234, 52, 184, 203, 62, 145, 50, 146, 161, 100, 85, 158, // .4..>.2..dU.
|
||||
194, 44, 122, 118, 215, 32, 92, 12, 84, 46, 108, 192, // .,zv. ..T.l.
|
||||
240, 216, 136, 4, 9, 195, 134, 147, 44, 92, 5, 101, // ........,..e
|
||||
176, 145, 171, 66, 151, 165, 53, 31, 131, 13, 64, 46, // ...B..5...@.
|
||||
176, 27, 139, 9, 49, 201, 218, 192, 74, 242, 79, 90, // ....1...J.OZ
|
||||
66, 30, 155, 193, 246, 81, 234, 146, 167, 176, 117, 139, // B....Q....u.
|
||||
207, 141, 100, 140, 182, 66, 56, 197, 254, 113, 162, 232, // ..d..B8..q..
|
||||
163, 181, 211, 108, 113, 143, 93, 175, 204, 180, 199, 225, // ...lq.].....
|
||||
93, 84, 23, 148, 216, 81, 193, 99, 59, 123, 96, 229, // ]T...Q.c;{`.
|
||||
127, 114, 8, 237, 45, 35, 223, 188, 76, 234, 108, 99, // .r..-#..L.lc
|
||||
156, 211, 182, 8, 4, 146, 83, 97, 38, 59, 234, 229, // ......Sa&;..
|
||||
110, 6, 132, 54, 174, 72, 25, 36, 154, 163, 105, 62, // n..6.H.$..i>
|
||||
82, 10, 140, 197, 182, 77, 129, 218, 60, 90, 100, 18, // R....M..<Zd.
|
||||
199, 249, 3, 79, 202, 76, 194, 49, 241, 241, 46, 239, // ...O.L.1....
|
||||
216, 129, 33, 246, 185, 57, 186, 115, 118, 113, 56, 201, // ..!..9.svq8.
|
||||
75, 200, 77, 198, 142, 229, 163, 128, 213, 40, 94, 231, // K.M......(^.
|
||||
78, 70, 10, 152, 138, 28, 194, 60, 26, 253, 228, 229, // NF.....<....
|
||||
44, 217, 242, 136, 14, 153, 216, 21, 81, 159, 243, 96, // ,.......Q..`
|
||||
236, 182, 86, 230, 206, 73, 200, 238, 166, 200, 165, 224, // ..V..I......
|
||||
58, 138, 126, 229, 114, 84, 150, 123, 238, 194, 206, 197, // :.~.rT.{....
|
||||
90, 102, 225, 45, 248, 15, 94, 223, 64, 144, 220, 79, // Zf.-..^.@..O
|
||||
105, 127, 230, 196, 165, 62, 178, 216, 216, 198, 177, 124, // i....>.....|
|
||||
163, 48, 87, 7, 57, 241, 128, 239, 43, 140, 99, 193, // .0W.9...+.c.
|
||||
151, 222, 239, 160, 46, 129, 242, 6, 208, 175, 28, 29, // ............
|
||||
130, 117, 53, 244, 214, 134, 47, 243, 0, 17, 89, 77, // .u5.../...YM
|
||||
121, 240, 180, 187, 132, 169, 30, 93, 194, 240, 232, 217, // y......]....
|
||||
60, 95, 248, 181, 153, 170, 154, 172, 146, 162, 52, 190, // <_........4.
|
||||
158, 187, 30, 174, 250, 103, 128, 185, 167, 73, 236, 200, // .....g...I..
|
||||
28, 227, 106, 162, 213, 193, 64, 74, 252, 189, 241, 146, // ..j...@J....
|
||||
3, 50, 124, 99, 46, 170, 248, 2, 82, 221, 243, 229, // .2|c....R...
|
||||
171, 26, 226, 115, 54, 28, 215, 227, 49, 221, 215, 106, // ...s6...1..j
|
||||
9, 231, 178, 196, 225, 86, 248, 79, 92, 110, 57, 163, // .....V.O.n9.
|
||||
227, 101, 98, 47, 17, 204, 220, 36, 241, 1, 176, 69, // .eb/...$...E
|
||||
47, 171, 105, 159, 53, 15, 92, 87, 216, 10, 119, 129, // /.i.5..W..w.
|
||||
133, 240, 150, 242, 51, 4, 37, 143, 129, 170, 158, 31, // ....3.%.....
|
||||
239, 48, 238, 13, 228, 209, 136, 72, 245, 151, 210, 93, // .0.....H...]
|
||||
234, 26, 43, 194, 202, 195, 37, 114, 26, 217, 115, 66, // ..+...%r..sB
|
||||
8, 96, 177, 213, 203, 131, 177, 129, 187, 91, 156, 186, // .`.......[..
|
||||
71, 5, 199, 84, 102, 122, 188, 185, 191, 106, 76, 180, // G..Tfz...jL.
|
||||
229, 252, 92, 208, 187, 17, 150, 48, 103, 252, 50, 129, // .......0g.2.
|
||||
185, 75, 215, 157, 36, 240, 237, 237, 116, 123, 197, 29, // .K..$...t{..
|
||||
76, 28, 141, 57, 186, 154, 56, 246, 244, 51, 31, 176, // L..9..8..3..
|
||||
63, 112, 65, 77, 18, 80, 102, 196, 88, 253, 128, 123, // ?pAM.Pf.X..{
|
||||
237, 181, 51, 105, 193, 52, 227, 88, 102, 202, 158, 88, // ..3i.4.Xf..X
|
||||
192, 229, 136, 46, 80, 233, 164, 97, 227, 64, 237, 213, // ....P..a.@..
|
||||
131, 108, 143, 139, 82, 171, 99, 161, 241, 121, 81, 228, // .l..R.c..yQ.
|
||||
5, 59, 195, 37, 162, 12, 106, 245, 158, 134, 195, 102, // .;.%..j....f
|
||||
133, 204, 205, 253, 131, 179, 91, 193, 65, 128, 118, 70, // ......[.A.vF
|
||||
54, 136, 209, 61, 106, 37, 202, 181, 99, 243, 254, 117, // 6..=j%..c..u
|
||||
248, 121, 107, 133, 177, 95, 173, 178, 125, 181, 46, 242, // .yk.._..}...
|
||||
91, 4, 155, 123, 104, 232, 9, 60, 179, 46, 135, 227, // [..{h..<....
|
||||
22, 169, 14, 137, 100, 238, 229, 3, 27, 9, 177, 76, // ....d......L
|
||||
112, 26, 197, 149, 72, 121, 89, 80, 104, 236, 204, 181, // p...HyYPh...
|
||||
250, 174, 96, 146, 36, 29, 196, 209, 235, 39, 142, 147, // ..`.$....'..
|
||||
149, 54, 65, 29, 226, 200, 78, 64, 65, 20, 116, 150, // .6A...N@A.t.
|
||||
198, 251, 183, 215, 240, 237, 220, 20, 166, 103, 109, 205, // .........gm.
|
||||
6, 184, 153, 144, 27, 143, 154, 112, 136, 29, 236, 15, // .......p....
|
||||
220, 142, 244, 83, 218, 96, 144, 217, 162, 166, 236, 145, // ...S.`......
|
||||
126, 136, 88, 63, 133, 216, 38, 175, 214, 230, 54, 59, // ~.X?..&...6;
|
||||
63, 102, 46, 33, 173, 155, 164, 212, 51, 251, 237, 13, // ?f.!....3...
|
||||
174, 214, 58, 155, 44, 161, 1, 158, 235, 195, 193, 159, // ..:.,.......
|
||||
167, 55, 26, 113, 172, 15, 150, 124, 76, 54, 58, 175, // .7.q...|L6:.
|
||||
43, 105, 110, 219, 79, 96, 144, 79, 88, 243, 222, 202, // +in.O`.OX...
|
||||
75, 249, 139, 124, 143, 150, 239, 104, 214, 31, 77, 206, // K..|...h..M.
|
||||
80, 254, 108, 2, 114, 249, 71, 27, 181, 201, 175, 141, // P.l.r.G.....
|
||||
44, 203, 79, 84, 123, 162, 118, 15, 138, 126, 239, 34, // ,.OT{.v..~."
|
||||
173, 181, 177, 251, 107, 239, 82, 106, 249, 30, 14, 153, // ....k.Rj....
|
||||
32, 244, 60, 89, 165, 46, 209, 115, 1, 251, 196, 95, // .<Y...s..._
|
||||
210, 37, 31, 147, 210, 243, 148, 249, 98, 223, 222, 42, // .%......b..*
|
||||
233, 47, 57, 164, 108, 195, 86, 174, 48, 237, 40, 91, // ./9.l.V.0.([
|
||||
71, 181, 185, 94, 116, 118, 247, 219, 222, 19, 148, 247, // G..^tv......
|
||||
234, 84, 254, 233, 37, 90, 246, 179, 179, 127, 30, 220, // .T..%Z......
|
||||
149, 169, 223, 189, 183, 48, 199, 47, 219, 233, 170, 73, // .....0./...I
|
||||
69, 143, 82, 38, 124, 229, 201, 209, 171, 154, 7, 179, // E.R&|.......
|
||||
0, 18, 224, 39, 218, 230, 103, 33, 193, 242, 209, 195, // ...'..g!....
|
||||
2, 172, 178, 98, 120, 184, 120, 146, 206, 90, 83, 52, // ...bx.x..ZS4
|
||||
41, 114, 139, 40, 51, 235, 61, 93, 44, 204, 12, 157, // )r.(3.=],...
|
||||
14, 99, 47, 98, 111, 91, 213, 165, 217, 87, 183, 230, // .c/bo[...W..
|
||||
191, 25, 130, 246, 87, 252, 74, 76, 7, 153, 81, 154, // ....W.JL..Q.
|
||||
84, 51, 250, 11, 73, 175, 74, 204, 76, 102, 7, 23, // T3..I.J.Lf..
|
||||
42, 144, 76, 219, 78, 222, 42, 209, 35, 197, 247, 143, // *.L.N.*.#...
|
||||
209, 126, 246, 127, 64, 123, 12, 229, 223, 15, 200, 255, // .~..@{......
|
||||
185, 252, 213, 123, 116, 166, 220, 91, 239, 202, 39, 123, // ...{t..[..'{
|
||||
49, 239, 95, 99, 254, 195, 177, 230, 189, 250, 66, 126, // 1._c......B~
|
||||
223, 31, 249, 132, 103, 152, 145, 60, 155, 124, 152, 243, // ....g..<.|..
|
||||
15, 169, 105, 47, 221, 21, 68, 224, 179, 105, 133, 177, // ..i/..D..i..
|
||||
34, 83, 216, 205, 244, 107, 255, 116, 54, 59, 255, 175, // "S...k.t6;..
|
||||
86, 4, 82, 205, 169, 134, 11, 64, 216, 172, 3, 172, // V.R....@....
|
||||
136, 224, 112, 254, 66, 101, 54, 31, 160, 77, 67, 135, // ..p.Be6..MC.
|
||||
242, 159, 7, 135, 247, 123, 245, 223, 199, 246, 14, 27, // .....{......
|
||||
9, 160, 110, 144, 214, 157, 252, 92, 186, 115, 102, 206, // ..n......sf.
|
||||
126, 37, 52, 193, 174, 236, 127, 68, 119, 66, 69, 116, // ~%4....DwBEt
|
||||
87, 235, 46, 223, 3, 246, 171, 204, 10, 97, 92, 50, // W........a.2
|
||||
78, 113, 95, 146, 135, 218, 63, 136, 201, 123, 238, 47, // Nq_...?..{./
|
||||
52, 211, 78, 61, 235, 82, 191, 209, 203, 250, 234, 103, // 4.N=.R.....g
|
||||
115, 74, 63, 104, 240, 72, 236, 31, 92, 109, 4, 189, // sJ?h.H...m..
|
||||
245, 154, 197, 157, 34, 132, 9, 212, 183, 94, 119, 11, // ...."....^w.
|
||||
108, 4, 229, 242, 241, 129, 194, 154, 254, 168, 245, 192, // l...........
|
||||
108, 246, 60, 69, 34, 48, 52, 133, 206, 107, 1, 247, // l.<E"04..k..
|
||||
142, 180, 170, 127, 208, 83, 151, 209, 70, 232, 77, 183, // .....S..F.M.
|
||||
64, 168, 146, 184, 255, 238, 104, 222, 52, 49, 222, 238, // @.....h.41..
|
||||
59, 115, 81, 213, 170, 133, 3, 45, 172, 27, 124, 216, // ;sQ....-..|.
|
||||
90, 247, 91, 97, 19, 237, 185, 23, 136, 251, 126, 171, // Z.[a......~.
|
||||
77, 57, 153, 247, 104, 156, 242, 97, 3, 186, 103, 243, // M9..h..a..g.
|
||||
121, 176, 193, 75, 147, 172, 248, 113, 52, 250, 145, 118, // y..K...q4..v
|
||||
198, 3, 139, 3, 136, 159, 71, 163, 159, 105, 243, 111, // ......G..i.o
|
||||
173, 153, 204, 148, 119, 105, 35, 13, 154, 145, 222, 88, // ....wi#....X
|
||||
122, 217, 163, 149, 103, 143, 86, 157, 217, 181, 241, 36, // z...g.V....$
|
||||
198, 106, 31, 204, 243, 199, 104, 244, 135, 243, 184, 204, // .j....h.....
|
||||
19, 178, 104, 26, 152, 252, 222, 133, 253, 28, 164, 11, // ..h.........
|
||||
61, 186, 149, 251, 206, 168, 60, 89, 132, 95, 56, 143, // =.....<Y._8.
|
||||
80, 232, 63, 106, 93, 86, 95, 101, 201, 38, 36, 204, // P.?j]V_e.&$.
|
||||
223, 20, 225, 134, 210, 160, 222, 47, 79, 117, 10, 132, // ......./Ou..
|
||||
29, 143, 31, 101, 245, 157, 184, 40, 213, 97, 97, 143, // ...e...(.aa.
|
||||
40, 88, 23, 153, 67, 54, 163, 48, 139, 116, 122, 136, // (X..C6.0.tz.
|
||||
137, 78, 229, 238, 48, 99, 114, 86, 170, 215, 16, 64, // .N..0crV...@
|
||||
56, 79, 196, 148, 134, 123, 153, 58, 186, 24, 236, 4, // 8O...{.:....
|
||||
226, 229, 85, 228, 39, 93, 186, 200, 135, 73, 23, 245, // ..U.']...I..
|
||||
61, 150, 128, 61, 203, 135, 201, 63, 39, 71, 143, 101, // =..=...?'G.e
|
||||
104, 173, 108, 123, 146, 86, 186, 56, 24, 100, 180, 132, // h.l{.V.8.d..
|
||||
31, 216, 53, 77, 173, 89, 188, 173, 80, 85, 71, 103, // ..5M.Y..PUGg
|
||||
209, 230, 20, 245, 116, 203, 79, 82, 184, 86, 230, 170, // ....t.OR.V..
|
||||
158, 204, 125, 61, 26, 125, 109, 162, 49, 217, 158, 202, // ..}=.}m.1...
|
||||
7, 60, 255, 100, 52, 250, 228, 33, 207, 233, 210, 221, // .<.d4..!....
|
||||
242, 155, 53, 195, 113, 190, 191, 169, 167, 115, 155, 140, // ..5.q....s..
|
||||
42, 215, 199, 220, 147, 163, 4, 239, 156, 132, 162, 111, // *..........o
|
||||
250, 166, 71, 95, 86, 114, 162, 150, 63, 30, 177, 167, // ..G_Vr..?...
|
||||
151, 54, 168, 15, 6, 51, 8, 111, 231, 33, 92, 170, // .6...3.o.!..
|
||||
251, 86, 121, 160, 233, 94, 222, 8, 52, 231, 45, 76, // .Vy..^..4.-L
|
||||
17, 65, 241, 3, 178, 247, 195, 93, 122, 65, 64, 111, // .A.....]zA@o
|
||||
161, 251, 105, 220, 228, 0, 237, 177, 231, 195, 179, 140, // ..i.........
|
||||
31, 132, 238, 105, 137, 209, 161, 247, 219, 75, 79, 76, // ...i.....KOL
|
||||
233, 114, 27, 122, 238, 98, 134, 66, 157, 34, 184, 207, // .r.z.b.B."..
|
||||
250, 193, 189, 121, 59, 67, 25, 172, 241, 120, 33, 83, // ...y;C...x!S
|
||||
78, 101, 193, 254, 99, 92, 163, 234, 217, 169, 255, 146, // Ne..c.......
|
||||
94, 66, 112, 231, 2, 243, 205, 199, 227, 98, 49, 125, // ^Bp......b1}
|
||||
165, 232, 209, 73, 69, 184, 83, 255, 51, 91, 57, 93, // ...IE.S.3[9]
|
||||
40, 147, 143, 154, 132, 101, 153, 92, 101, 30, 53, 53, // (....e..e.55
|
||||
13, 124, 227, 84, 248, 159, 51, 16, 55, 41, 215, 142, // .|.T..3.7)..
|
||||
88, 145, 209, 17, 146, 47, 90, 36, 174, 113, 172, 210, // X..../Z$.q..
|
||||
241, 112, 136, 112, 152, 179, 19, 225, 118, 155, 238, 188, // .p.p....v...
|
||||
84, 70, 68, 24, 122, 214, 56, 31, 14, 249, 16, 94, // TFD.z.8....^
|
||||
8, 242, 101, 216, 104, 228, 66, 166, 244, 190, 197, 172, // ..e.h.B.....
|
||||
253, 165, 143, 77, 20, 207, 95, 98, 251, 156, 146, 83, // ...M.._b...S
|
||||
57, 142, 114, 11, 153, 182, 153, 34, 132, 159, 244, 14, // 9.r...."....
|
||||
86, 223, 62, 251, 33, 220, 202, 213, 161, 143, 109, 216, // V.>.!.....m.
|
||||
15, 231, 22, 225, 143, 241, 161, 219, 51, 136, 146, 154, // ........3...
|
||||
237, 176, 146, 195, 16, 134, 160, 231, 74, 18, 93, 88, // ........J.]X
|
||||
167, 169, 242, 88, 109, 146, 160, 4, 68, 65, 93, 127, // ...Xm...DA].
|
||||
14, 199, 25, 230, 26, 220, 73, 56, 226, 67, 89, 208, // ......I8.CY.
|
||||
79, 173, 232, 72, 74, 15, 160, 233, 246, 144, 159, 193, // O..HJ.......
|
||||
0, 95, 174, 242, 238, 237, 197, 191, 126, 43, 255, 243, // ._......~+..
|
||||
183, 12, 63, 141, 43, 124, 242, 226, 138, 31, 160, 136, // ..?.+|......
|
||||
89, 109, 54, 141, 224, 0, 81, 22, 229, 226, 29, 138, // Ym6...Q.....
|
||||
92, 204, 60, 219, 249, 138, 59, 177, 130, 151, 194, 127, // ..<...;.....
|
||||
105, 32, 134, 147, 201, 132, 82, 121, 57, 84, 196, 225, // i ....Ry9T..
|
||||
248, 12, 96, 39, 45, 4, 122, 6, 109, 215, 231, 242, // ..`'-.z.m...
|
||||
68, 194, 71, 192, 12, 213, 151, 234, 115, 122, 159, 155, // D.G.....sz..
|
||||
55, 205, 0, 166, 145, 88, 95, 145, 163, 99, 1, 43, // 7....X_..c.+
|
||||
0, 230, 28, 47, 169, 47, 56, 78, 234, 58, 128, 220, // ..././8N.:..
|
||||
117, 8, 166, 196, 158, 159, 78, 37, 175, 117, 247, 78, // u.....N%.u.N
|
||||
138, 222, 54, 210, 97, 97, 150, 144, 66, 33, 83, 47, // ..6.aa..B!S/
|
||||
17, 162, 21, 241, 8, 3, 162, 215, 122, 158, 44, 220, // ........z.,.
|
||||
152, 8, 99, 16, 242, 163, 101, 14, 167, 135, 7, 206, // ..c...e.....
|
||||
134, 175, 249, 185, 199, 204, 35, 4, 160, 116, 13, 215, // ......#..t..
|
||||
88, 189, 18, 126, 62, 86, 25, 75, 52, 64, 158, 63, // X..~>V.K4@.?
|
||||
183, 219, 31, 126, 105, 129, 29, 131, 0, 167, 178, 113, // ...~i......q
|
||||
78, 185, 214, 98, 150, 81, 38, 120, 70, 44, 51, 163, // N..b.Q&xF,3.
|
||||
63, 29, 126, 106, 238, 65, 134, 159, 154, 97, 5, 26, // ?.~j.A...a..
|
||||
91, 20, 52, 31, 208, 128, 74, 244, 216, 79, 181, 136, // [.4...J..O..
|
||||
63, 135, 205, 205, 45, 242, 225, 11, 110, 38, 167, 248, // ?...-...n&..
|
||||
245, 231, 192, 195, 99, 205, 250, 199, 244, 62, 133, 145, // ....c....>..
|
||||
56, 62, 214, 138, 114, 190, 132, 180, 150, 174, 98, 232, // 8>..r.....b.
|
||||
249, 18, 212, 172, 168, 3, 28, 27, 62, 27, 218, 69, // ........>..E
|
||||
253, 86, 181, 165, 172, 45, 21, 7, 171, 123, 105, 232, // .V...-...{i.
|
||||
208, 206, 49, 28, 180, 164, 192, 74, 63, 147, 118, 22, // ..1....J?.v.
|
||||
167, 67, 76, 194, 61, 167, 2, 48, 166, 251, 191, 15, // .CL.=..0....
|
||||
56, 74, 132, 251, 175, 17, 167, 179, 204, 39, 189, 220, // 8J.......'..
|
||||
155, 168, 49, 20, 83, 125, 183, 205, 139, 234, 62, 124, // ..1.S}....>|
|
||||
22, 150, 207, 214, 208, 60, 254, 86, 155, 84, 254, 64, // .....<.V.T.@
|
||||
37, 19, 157, 202, 152, 202, 109, 82, 72, 126, 67, 85, // %.....mRH~CU
|
||||
115, 79, 99, 51, 74, 242, 91, 106, 130, 91, 201, 81, // sOc3J.[j.[.Q
|
||||
142, 252, 211, 214, 222, 235, 184, 142, 48, 254, 111, 182, // ........0.o.
|
||||
126, 14, 239, 36, 170, 228, 247, 182, 250, 54, 220, 225, // ~..$.....6..
|
||||
252, 182, 141, 127, 111, 199, 172, 228, 63, 108, 249, 187, // ....o...?l..
|
||||
205, 86, 23, 56, 84, 110, 244, 69, 152, 197, 169, 150, // .V.8Tn.E....
|
||||
191, 218, 142, 31, 244, 38, 151, 255, 180, 149, 179, 48, // .....&.....0
|
||||
77, 151, 97, 116, 45, 181, 118, 45, 118, 85, 153, 107, // M.at-.v-vU.k
|
||||
232, 188, 93, 25, 184, 54, 206, 156, 124, 141, 179, 51, // ..]..6..|..3
|
||||
14, 139, 221, 126, 250, 31, 255, 11, 22, 19, 178, 116, // ...~.......t
|
||||
138, 51, 0, 0, 0 // .3..
|
||||
};
|
||||
static const unsigned char v2[] = {
|
||||
31, 139, 8, 8, 219, 27, 244, 98, 0, 3, 109, 97, // .......b..ma
|
||||
105, 110, 46, 106, 115, 0, 165, 86, 237, 110, 219, 54, // in.js..V.n.6
|
||||
20, 253, 239, 167, 184, 8, 6, 52, 65, 109, 41, 77, // .......4Am)M
|
||||
246, 1, 52, 138, 1, 55, 93, 129, 20, 93, 61, 204, // ..4..7]..]=.
|
||||
233, 218, 254, 43, 37, 210, 22, 91, 138, 84, 249, 97, // ...+%..[.T.a
|
||||
205, 11, 242, 46, 125, 150, 62, 217, 14, 37, 217, 177, // ....}.>..%..
|
||||
19, 103, 195, 218, 95, 166, 36, 222, 123, 15, 207, 185, // .g.._.$.{...
|
||||
247, 208, 143, 130, 19, 228, 188, 149, 133, 127, 116, 54, // ..........t6
|
||||
144, 85, 109, 172, 167, 107, 42, 135, 84, 250, 74, 13, // .Um..k*.T.J.
|
||||
201, 10, 205, 133, 165, 27, 154, 91, 83, 209, 163, 36, // .......[S..$
|
||||
173, 173, 96, 133, 79, 42, 169, 147, 143, 14, 33, 131, // ..`.O*....!.
|
||||
65, 97, 180, 243, 244, 142, 206, 105, 30, 116, 225, 165, // Aa.....i.t..
|
||||
209, 116, 120, 68, 215, 131, 1, 33, 218, 7, 171, 219, // .txD...!....
|
||||
84, 31, 240, 152, 113, 185, 164, 66, 49, 231, 206, 15, // T...q..B1...
|
||||
16, 229, 153, 212, 194, 30, 140, 241, 5, 223, 202, 147, // ............
|
||||
245, 39, 39, 218, 44, 7, 227, 201, 179, 233, 155, 43, // .''.,......+
|
||||
122, 51, 203, 210, 242, 164, 223, 181, 149, 193, 154, 166, // z3..........
|
||||
143, 189, 155, 89, 141, 126, 217, 124, 193, 183, 122, 220, // ...Y.~.|..z.
|
||||
45, 54, 111, 136, 46, 132, 99, 168, 79, 51, 51, 247, // -6o...c.O33.
|
||||
13, 179, 130, 94, 121, 158, 144, 116, 84, 10, 198, 63, // ...^y..tT..?
|
||||
7, 102, 189, 176, 130, 127, 253, 34, 53, 61, 15, 185, // .f....."5=..
|
||||
146, 122, 72, 127, 136, 58, 174, 10, 50, 115, 186, 180, // .zH..:..2s..
|
||||
66, 49, 205, 147, 219, 26, 105, 189, 83, 112, 231, 121, // B1....i.Sp.y
|
||||
26, 44, 40, 54, 118, 69, 214, 24, 239, 40, 103, 197, // .,(6vE...(g.
|
||||
39, 242, 134, 78, 142, 143, 127, 28, 82, 83, 10, 77, // '..N....RS.M
|
||||
191, 25, 189, 48, 6, 82, 188, 21, 57, 205, 132, 93, // ...0.R..9..]
|
||||
130, 243, 87, 50, 183, 204, 174, 190, 126, 225, 98, 41, // ..W2....~.b)
|
||||
148, 169, 43, 161, 61, 242, 68, 108, 192, 154, 229, 118, // ..+.=.Dl...v
|
||||
60, 216, 148, 152, 184, 189, 41, 22, 86, 52, 132, 51, // <.....).V4.3
|
||||
212, 166, 14, 138, 89, 233, 87, 4, 216, 84, 49, 200, // ....Y.W..T1.
|
||||
34, 56, 153, 184, 199, 151, 130, 230, 70, 41, 211, 72, // "8......F).H
|
||||
189, 160, 149, 96, 214, 13, 99, 204, 201, 241, 147, 211, // ...`..c.....
|
||||
13, 79, 13, 115, 36, 80, 27, 4, 184, 18, 145, 64, // .O.s$P.....@
|
||||
31, 5, 148, 58, 8, 146, 56, 210, 54, 196, 88, 97, // ...:..8.6.Xa
|
||||
3, 172, 182, 102, 41, 57, 90, 44, 212, 109, 107, 33, // ...f)9Z,.mk!
|
||||
208, 128, 142, 37, 83, 1, 105, 138, 0, 94, 42, 97, // ...%S.i..^*a
|
||||
221, 195, 76, 190, 21, 20, 245, 65, 158, 208, 150, 45, // ..L....A...-
|
||||
217, 18, 111, 42, 28, 182, 77, 180, 201, 128, 67, 233, // ..o*..M...C.
|
||||
21, 101, 114, 252, 2, 101, 130, 22, 244, 211, 241, 113, // .er..e.....q
|
||||
150, 202, 49, 112, 86, 53, 211, 82, 56, 194, 25, 26, // ..1pV5.R8...
|
||||
161, 84, 252, 173, 4, 151, 161, 106, 161, 186, 138, 225, // .T.....j....
|
||||
157, 147, 127, 11, 202, 131, 67, 71, 58, 39, 182, 240, // ......CG:'..
|
||||
16, 184, 44, 194, 134, 58, 244, 134, 138, 107, 52, 65, // ..,..:...k4A
|
||||
44, 239, 140, 10, 177, 87, 93, 236, 29, 70, 53, 179, // ,....W]..F5.
|
||||
128, 22, 64, 194, 220, 88, 10, 174, 13, 105, 9, 198, // ..@..X...i..
|
||||
204, 96, 193, 252, 94, 153, 16, 139, 49, 228, 148, 175, // .`..^...1...
|
||||
232, 245, 100, 54, 33, 150, 27, 102, 187, 192, 75, 141, // ..d6!..f..K.
|
||||
78, 212, 44, 214, 96, 138, 102, 53, 43, 4, 205, 124, // N.,.`.f5+..|
|
||||
251, 28, 195, 182, 96, 198, 221, 57, 52, 138, 194, 204, // ....`..94...
|
||||
165, 173, 186, 61, 96, 76, 250, 100, 135, 212, 150, 214, // ...=`L.d....
|
||||
153, 212, 200, 20, 53, 30, 110, 68, 46, 163, 200, 127, // ....5.nD....
|
||||
129, 44, 14, 44, 81, 85, 144, 206, 3, 128, 71, 229, // .,.,QU....G.
|
||||
208, 34, 210, 36, 64, 189, 214, 186, 61, 27, 151, 209, // .".$@...=...
|
||||
59, 242, 224, 5, 137, 42, 23, 60, 70, 186, 245, 76, // ;....*.<F..L
|
||||
197, 13, 37, 14, 210, 62, 52, 210, 151, 96, 5, 122, // ..%..>4..`.z
|
||||
17, 96, 1, 163, 198, 148, 99, 119, 95, 227, 150, 170, // .`....cw_...
|
||||
238, 196, 194, 71, 138, 175, 74, 244, 164, 235, 224, 175, // ...G..J.....
|
||||
39, 61, 197, 168, 247, 102, 176, 94, 246, 139, 15, 103, // '=...f.^...g
|
||||
131, 155, 179, 181, 31, 189, 255, 110, 63, 58, 189, 239, // .......n?:..
|
||||
71, 155, 182, 187, 69, 109, 197, 83, 216, 211, 233, 55, // G...Em.S...7
|
||||
219, 83, 22, 212, 150, 52, 153, 146, 219, 66, 81, 6, // .S...4...BQ.
|
||||
85, 172, 152, 159, 31, 148, 222, 215, 238, 105, 154, 86, // U........i.V
|
||||
125, 251, 36, 141, 75, 15, 198, 123, 154, 41, 75, 217, // }.$.K..{.)K.
|
||||
78, 134, 17, 136, 189, 213, 166, 193, 62, 215, 53, 93, // N.......>.5]
|
||||
228, 27, 52, 55, 198, 126, 138, 131, 175, 58, 183, 217, // ..47.~...:..
|
||||
130, 146, 238, 96, 249, 79, 100, 75, 48, 152, 72, 3, // ...`.OdK0.H.
|
||||
84, 127, 94, 76, 95, 99, 117, 31, 201, 196, 242, 32, // T.^L_cu....
|
||||
181, 25, 181, 35, 233, 101, 174, 208, 177, 177, 211, 93, // ...#.e.....]
|
||||
215, 29, 121, 144, 202, 143, 96, 61, 177, 125, 219, 166, // ..y...`=.}..
|
||||
153, 94, 77, 40, 212, 156, 121, 225, 182, 51, 117, 30, // .^M(..y..3u.
|
||||
166, 217, 66, 180, 134, 195, 153, 43, 219, 60, 223, 14, // ..B....+.<..
|
||||
190, 138, 57, 18, 208, 1, 248, 213, 243, 126, 189, 151, // ..9......~..
|
||||
74, 152, 5, 32, 142, 12, 28, 230, 210, 92, 209, 239, // J.. ........
|
||||
138, 97, 52, 108, 245, 29, 165, 123, 13, 71, 198, 37, // .a4l...{.G.%
|
||||
32, 102, 75, 212, 233, 108, 47, 2, 83, 11, 11, 246, // fK..l/.S...
|
||||
160, 153, 91, 57, 47, 170, 214, 107, 96, 223, 163, 218, // ..[9/..k`...
|
||||
52, 208, 181, 146, 133, 53, 177, 155, 45, 76, 29, 198, // 4....5..-L..
|
||||
120, 23, 217, 255, 128, 182, 128, 42, 33, 143, 168, 210, // x......*!...
|
||||
162, 243, 136, 180, 250, 232, 192, 208, 203, 253, 200, 54, // ...........6
|
||||
109, 246, 146, 45, 217, 172, 176, 178, 246, 36, 244, 2, // m..-.....$..
|
||||
83, 213, 98, 188, 72, 47, 30, 63, 126, 128, 168, 44, // S.b.H/.?~..,
|
||||
189, 157, 131, 173, 17, 191, 63, 58, 63, 239, 222, 236, // ......?:?...
|
||||
89, 62, 158, 238, 248, 112, 55, 144, 249, 238, 13, 188, // Y>...p7.....
|
||||
59, 100, 237, 193, 37, 108, 102, 1, 30, 163, 213, 105, // ;d..%lf....i
|
||||
184, 164, 47, 77, 192, 17, 209, 139, 240, 29, 156, 24, // ../M........
|
||||
119, 74, 33, 97, 185, 235, 73, 191, 35, 107, 155, 131, // wJ!a..I.#k..
|
||||
139, 90, 153, 85, 119, 29, 150, 65, 115, 220, 169, 109, // .Z.Uw..As..m
|
||||
120, 37, 149, 106, 193, 192, 42, 37, 152, 107, 175, 224, // x%.j..*%.k..
|
||||
46, 79, 116, 35, 161, 151, 210, 26, 29, 123, 247, 78, // .Ot#.....{.N
|
||||
218, 7, 88, 248, 87, 163, 155, 212, 245, 142, 213, 161, // ..X.W.......
|
||||
80, 237, 246, 249, 93, 86, 62, 25, 63, 99, 14, 255, // P...]V>.?c..
|
||||
96, 126, 93, 235, 244, 66, 42, 209, 55, 17, 23, 21, // `~]..B*.7...
|
||||
38, 22, 91, 6, 89, 95, 236, 135, 235, 242, 240, 221, // &.[.Y_......
|
||||
209, 205, 160, 47, 186, 253, 250, 253, 230, 117, 15, 5, // .../.....u..
|
||||
255, 29, 184, 105, 18, 163, 149, 97, 28, 112, 96, 184, // ...i...a.p`.
|
||||
231, 227, 254, 207, 227, 97, 121, 8, 140, 71, 67, 226, // .....ay..GC.
|
||||
112, 255, 120, 232, 36, 55, 124, 117, 116, 54, 248, 7, // p.x.$7|ut6..
|
||||
71, 33, 75, 134, 124, 10, 0, 0, 0 // G!K.|...
|
||||
};
|
||||
static const unsigned char v3[] = {
|
||||
39, 117, 115, 101, 32, 115, 116, 114, 105, 99, 116, 39, // 'use strict'
|
||||
59, 10, 105, 109, 112, 111, 114, 116, 32, 123, 32, 104, // ;.import { h
|
||||
44, 32, 104, 116, 109, 108, 44, 32, 114, 101, 110, 100, // , html, rend
|
||||
@@ -269,9 +781,9 @@ static const unsigned char v2[] = {
|
||||
108, 111, 97, 100, 32, 61, 32, 40, 41, 32, 61, 62, // load = () =>
|
||||
32, 114, 101, 110, 100, 101, 114, 40, 104, 40, 65, 112, // render(h(Ap
|
||||
112, 41, 44, 32, 100, 111, 99, 117, 109, 101, 110, 116, // p), document
|
||||
46, 98, 111, 100, 121, 41, 59, 10,// .body);.
|
||||
46, 98, 111, 100, 121, 41, 59, 10, 0 // .body);.
|
||||
};
|
||||
static const unsigned char v3[] = {
|
||||
static const unsigned char v4[] = {
|
||||
118, 97, 114, 32, 101, 44, 110, 44, 95, 44, 116, 44, // var e,n,_,t,
|
||||
111, 44, 114, 44, 117, 44, 108, 61, 123, 125, 44, 105, // o,r,u,l={},i
|
||||
61, 91, 93, 44, 99, 61, 47, 97, 99, 105, 116, 124, // =[],c=/acit|
|
||||
@@ -1371,9 +1883,149 @@ static const unsigned char v3[] = {
|
||||
97, 115, 32, 117, 115, 101, 68, 101, 98, 117, 103, 86, // as useDebugV
|
||||
97, 108, 117, 101, 44, 95, 101, 32, 97, 115, 32, 117, // alue,_e as u
|
||||
115, 101, 69, 114, 114, 111, 114, 66, 111, 117, 110, 100, // seErrorBound
|
||||
97, 114, 121, 125, 59, 10,// ary};.
|
||||
97, 114, 121, 125, 59, 10, 0 // ary};.
|
||||
};
|
||||
static const unsigned char v4[] = {
|
||||
static const unsigned char v5[] = {
|
||||
60, 33, 68, 79, 67, 84, 89, 80, 69, 32, 104, 116, // <!DOCTYPE ht
|
||||
109, 108, 62, 10, 60, 104, 116, 109, 108, 32, 108, 97, // ml>.<html la
|
||||
110, 103, 61, 34, 101, 110, 34, 62, 10, 32, 32, 60, // ng="en">. <
|
||||
104, 101, 97, 100, 62, 10, 32, 32, 32, 32, 60, 109, // head>. <m
|
||||
101, 116, 97, 32, 110, 97, 109, 101, 61, 34, 100, 101, // eta name="de
|
||||
115, 99, 114, 105, 112, 116, 105, 111, 110, 34, 32, 99, // scription" c
|
||||
111, 110, 116, 101, 110, 116, 61, 34, 77, 111, 110, 103, // ontent="Mong
|
||||
111, 111, 115, 101, 32, 69, 109, 98, 101, 100, 100, 101, // oose Embedde
|
||||
100, 32, 70, 105, 108, 101, 115, 121, 116, 101, 109, 32, // d Filesytem
|
||||
101, 120, 97, 109, 112, 108, 101, 34, 32, 47, 62, 10, // example" />.
|
||||
32, 32, 32, 32, 60, 109, 101, 116, 97, 32, 104, 116, // <meta ht
|
||||
116, 112, 45, 101, 113, 117, 105, 118, 61, 34, 67, 111, // tp-equiv="Co
|
||||
110, 116, 101, 110, 116, 45, 84, 121, 112, 101, 34, 32, // ntent-Type"
|
||||
99, 111, 110, 116, 101, 110, 116, 61, 34, 116, 101, 120, // content="tex
|
||||
116, 47, 104, 116, 109, 108, 59, 32, 99, 104, 97, 114, // t/html; char
|
||||
115, 101, 116, 61, 85, 84, 70, 45, 56, 34, 62, 10, // set=UTF-8">.
|
||||
32, 32, 32, 32, 60, 109, 101, 116, 97, 32, 104, 116, // <meta ht
|
||||
116, 112, 45, 101, 113, 117, 105, 118, 61, 34, 88, 45, // tp-equiv="X-
|
||||
85, 65, 45, 67, 111, 109, 112, 97, 116, 105, 98, 108, // UA-Compatibl
|
||||
101, 34, 32, 99, 111, 110, 116, 101, 110, 116, 61, 34, // e" content="
|
||||
73, 69, 61, 101, 100, 103, 101, 34, 62, 10, 32, 32, // IE=edge">.
|
||||
32, 32, 60, 109, 101, 116, 97, 32, 110, 97, 109, 101, // <meta name
|
||||
61, 34, 118, 105, 101, 119, 112, 111, 114, 116, 34, 32, // ="viewport"
|
||||
99, 111, 110, 116, 101, 110, 116, 61, 34, 119, 105, 100, // content="wid
|
||||
116, 104, 61, 100, 101, 118, 105, 99, 101, 45, 119, 105, // th=device-wi
|
||||
100, 116, 104, 44, 32, 105, 110, 105, 116, 105, 97, 108, // dth, initial
|
||||
45, 115, 99, 97, 108, 101, 61, 49, 34, 62, 10, 32, // -scale=1">.
|
||||
32, 32, 32, 32, 32, 32, 32, 60, 116, 105, 116, 108, // <titl
|
||||
101, 62, 77, 111, 110, 103, 111, 111, 115, 101, 32, 69, // e>Mongoose E
|
||||
109, 98, 101, 100, 100, 101, 100, 32, 70, 105, 108, 101, // mbedded File
|
||||
115, 121, 116, 101, 109, 32, 101, 120, 97, 109, 112, 108, // sytem exampl
|
||||
101, 60, 47, 116, 105, 116, 108, 101, 62, 10, 32, 32, // e</title>.
|
||||
32, 32, 60, 108, 105, 110, 107, 32, 114, 101, 108, 61, // <link rel=
|
||||
34, 115, 116, 121, 108, 101, 115, 104, 101, 101, 116, 34, // "stylesheet"
|
||||
32, 104, 114, 101, 102, 61, 34, 115, 116, 121, 108, 101, // href="style
|
||||
46, 99, 115, 115, 34, 32, 47, 62, 10, 32, 32, 60, // .css" />. <
|
||||
47, 104, 101, 97, 100, 62, 10, 32, 32, 60, 98, 111, // /head>. <bo
|
||||
100, 121, 62, 60, 47, 98, 111, 100, 121, 62, 10, 32, // dy></body>.
|
||||
32, 60, 115, 99, 114, 105, 112, 116, 32, 116, 121, 112, // <script typ
|
||||
101, 61, 34, 109, 111, 100, 117, 108, 101, 34, 32, 115, // e="module" s
|
||||
114, 99, 61, 34, 109, 97, 105, 110, 46, 106, 115, 34, // rc="main.js"
|
||||
62, 60, 47, 115, 99, 114, 105, 112, 116, 62, 10, 60, // ></script>.<
|
||||
47, 104, 116, 109, 108, 62, 10, 0 // /html>.
|
||||
};
|
||||
static const unsigned char v6[] = {
|
||||
31, 139, 8, 8, 219, 27, 244, 98, 0, 3, 105, 110, // .......b..in
|
||||
100, 101, 120, 46, 104, 116, 109, 108, 0, 141, 145, 77, // dex.html...M
|
||||
75, 3, 49, 16, 134, 239, 253, 21, 99, 206, 166, 139, // K.1.....c...
|
||||
55, 193, 205, 130, 212, 22, 60, 136, 30, 90, 208, 99, // 7.....<..Z.c
|
||||
154, 140, 205, 104, 62, 214, 205, 244, 99, 255, 189, 217, // ...h>...c...
|
||||
110, 133, 5, 17, 60, 205, 7, 47, 15, 51, 239, 91, // n...<../.3.[
|
||||
95, 61, 60, 47, 214, 111, 47, 75, 112, 28, 124, 51, // _=</.o/Kp.|3
|
||||
171, 135, 2, 94, 199, 157, 18, 24, 69, 51, 3, 168, // ...^....E3..
|
||||
29, 106, 59, 52, 165, 13, 200, 26, 162, 14, 168, 132, // .j;4........
|
||||
197, 108, 58, 106, 153, 82, 20, 96, 82, 100, 140, 172, // .l:j.R.`Rd..
|
||||
196, 83, 138, 187, 148, 50, 194, 50, 108, 209, 90, 180, // .S...2.2l.Z.
|
||||
176, 34, 143, 185, 103, 12, 128, 39, 29, 90, 143, 2, // ."..g..'.Z..
|
||||
170, 41, 205, 49, 183, 18, 191, 246, 116, 80, 98, 49, // .).1....tPb1
|
||||
98, 228, 186, 111, 113, 2, 101, 60, 113, 53, 28, 118, // b..oq.e<q5.v
|
||||
7, 198, 233, 46, 35, 171, 205, 122, 37, 111, 197, 95, // ....#..z%o._
|
||||
156, 87, 185, 185, 151, 139, 20, 90, 205, 180, 245, 83, // .W.....Z...S
|
||||
212, 227, 82, 161, 221, 161, 248, 253, 207, 129, 240, 216, // ..R.........
|
||||
166, 142, 39, 226, 35, 89, 118, 202, 226, 129, 12, 202, // ..'.#Yv.....
|
||||
243, 112, 13, 20, 137, 73, 123, 153, 141, 246, 168, 110, // .p...I{....n
|
||||
46, 160, 51, 140, 137, 61, 54, 255, 112, 160, 174, 70, // ..3..=6.p..F
|
||||
233, 120, 131, 167, 248, 9, 29, 122, 37, 50, 247, 69, // .x.....z%2.E
|
||||
233, 16, 203, 17, 174, 195, 247, 203, 102, 110, 114, 190, // ........fnr.
|
||||
152, 86, 87, 63, 97, 212, 219, 100, 251, 166, 174, 206, // .VW?a..d....
|
||||
101, 152, 199, 52, 128, 139, 117, 74, 132, 100, 247, 195, // e..4..uJ.d..
|
||||
223, 185, 51, 101, 208, 20, 231, 31, 89, 20, 245, 40, // ..3e....Y..(
|
||||
42, 49, 87, 99, 220, 223, 14, 156, 225, 97, 255, 1, // *1Wc.....a..
|
||||
0, 0, 0 // ..
|
||||
};
|
||||
static const unsigned char v7[] = {
|
||||
31, 139, 8, 8, 219, 27, 244, 98, 0, 3, 115, 116, // .......b..st
|
||||
121, 108, 101, 46, 99, 115, 115, 0, 117, 84, 203, 110, // yle.css.uT.n
|
||||
219, 48, 16, 188, 251, 43, 88, 4, 5, 218, 32, 82, // .0...+X... R
|
||||
44, 41, 178, 99, 249, 210, 91, 63, 162, 232, 129, 18, // ,).c..[?....
|
||||
87, 54, 17, 138, 84, 73, 58, 118, 90, 248, 223, 187, // W6..TI:vZ...
|
||||
164, 30, 164, 226, 228, 98, 75, 187, 163, 125, 204, 12, // .....bK..}..
|
||||
121, 79, 254, 145, 90, 93, 18, 195, 255, 114, 121, 168, // yO..Z]...ry.
|
||||
240, 89, 51, 208, 9, 134, 246, 228, 186, 58, 218, 78, // .Y3......:.N
|
||||
60, 96, 140, 189, 33, 172, 163, 250, 192, 101, 69, 214, // <`..!....eE.
|
||||
123, 210, 83, 198, 60, 28, 159, 143, 192, 15, 71, 91, // {.S.<.....G[
|
||||
145, 108, 189, 254, 186, 39, 173, 146, 238, 121, 211, 95, // .l...'...y._
|
||||
136, 161, 210, 36, 6, 52, 111, 93, 41, 3, 2, 26, // ...$.4o])...
|
||||
251, 64, 184, 236, 79, 248, 39, 104, 13, 162, 170, 106, // .@..O.'h...j
|
||||
104, 149, 134, 7, 98, 225, 98, 169, 6, 138, 109, 212, // h...b.b...m.
|
||||
201, 10, 46, 161, 34, 82, 73, 216, 15, 195, 29, 41, // ...."RI....)
|
||||
83, 231, 202, 5, 200, 23, 222, 245, 74, 91, 42, 237, // S.......J[*.
|
||||
126, 28, 22, 219, 185, 110, 74, 112, 70, 238, 154, 166, // ~....nJpF...
|
||||
89, 64, 174, 171, 70, 49, 108, 208, 107, 192, 218, 141, // Y@..F1l.k...
|
||||
18, 10, 241, 119, 197, 182, 24, 70, 77, 90, 218, 113, // ...w...FMZ.q
|
||||
241, 86, 145, 78, 73, 101, 122, 218, 192, 24, 63, 143, // .V.NIez...?.
|
||||
91, 213, 74, 96, 139, 49, 136, 36, 225, 92, 166, 163, // [.J`.1.$....
|
||||
66, 184, 88, 77, 155, 151, 131, 86, 39, 201, 176, 36, // B.XM...V'..$
|
||||
99, 44, 230, 37, 205, 160, 195, 223, 2, 186, 105, 204, // c,.%......i.
|
||||
68, 83, 198, 79, 198, 229, 114, 23, 189, 174, 166, 165, // DS.O..r.....
|
||||
103, 82, 82, 252, 92, 73, 156, 51, 234, 150, 149, 253, // gRR..I.3....
|
||||
229, 179, 77, 23, 13, 203, 161, 40, 86, 163, 213, 43, // ..M....(V..+
|
||||
55, 220, 2, 115, 143, 180, 177, 252, 53, 222, 189, 44, // 7..s....5..,
|
||||
189, 30, 115, 175, 197, 22, 0, 72, 0, 233, 184, 76, // ..s....H...L
|
||||
206, 156, 217, 99, 69, 118, 88, 21, 193, 181, 69, 232, // ...cEvX...E.
|
||||
138, 44, 193, 126, 130, 155, 229, 162, 149, 189, 63, 166, // .,.~......?.
|
||||
190, 109, 139, 125, 155, 147, 54, 238, 173, 87, 92, 90, // .m.}..6..W.Z
|
||||
228, 16, 75, 50, 110, 122, 65, 81, 2, 46, 157, 238, // ..K2nzAQ....
|
||||
73, 45, 84, 243, 178, 216, 108, 131, 84, 122, 202, 62, // I-T...l.Tz.>
|
||||
82, 102, 53, 76, 247, 11, 203, 208, 90, 0, 251, 237, // Rf5L....Z...
|
||||
44, 132, 66, 114, 251, 230, 89, 9, 61, 233, 201, 42, // ,.Br..Y.=..*
|
||||
183, 139, 233, 148, 178, 71, 132, 89, 141, 14, 229, 150, // .....G.Y....
|
||||
43, 52, 53, 74, 74, 210, 220, 120, 102, 26, 108, 67, // +45JJ..xf.lC
|
||||
113, 20, 29, 155, 158, 228, 107, 39, 196, 72, 139, 175, // q.....k'.H..
|
||||
229, 176, 44, 105, 5, 92, 16, 56, 175, 225, 222, 199, // ..,i...8....
|
||||
148, 55, 108, 148, 26, 28, 237, 6, 246, 244, 248, 163, // .7l.........
|
||||
119, 163, 171, 55, 18, 98, 60, 203, 192, 102, 80, 68, // w..7.b<..fPD
|
||||
241, 40, 117, 42, 213, 89, 211, 30, 17, 231, 35, 202, // .(u*.Y....#.
|
||||
157, 120, 255, 186, 46, 46, 234, 1, 157, 57, 188, 87, // .x.......9.W
|
||||
152, 65, 59, 139, 38, 160, 69, 34, 203, 208, 187, 220, // .A;.&.E"....
|
||||
177, 91, 79, 69, 102, 220, 185, 35, 62, 81, 226, 29, // .[OEf..#>Q..
|
||||
238, 219, 24, 60, 217, 220, 155, 41, 208, 149, 141, 51, // ...<...)...3
|
||||
90, 213, 243, 6, 173, 205, 168, 69, 107, 166, 127, 148, // Z......Ek...
|
||||
65, 88, 220, 35, 247, 7, 165, 252, 240, 160, 60, 185, // AX.#......<.
|
||||
232, 80, 51, 209, 131, 236, 35, 212, 149, 30, 106, 45, // .P3...#...j-
|
||||
253, 219, 210, 208, 245, 125, 178, 133, 33, 233, 70, 121, // .....}..!.Fy
|
||||
159, 163, 224, 79, 197, 234, 241, 158, 252, 212, 72, 197, // ...O......H.
|
||||
253, 163, 83, 224, 124, 43, 172, 251, 77, 28, 193, 21, // ..S.|+..M...
|
||||
153, 105, 70, 139, 127, 126, 63, 170, 87, 208, 173, 192, // .iF..~?.W...
|
||||
235, 43, 152, 6, 241, 73, 150, 59, 221, 6, 55, 13, // .+...I.;..7.
|
||||
87, 231, 148, 200, 66, 98, 151, 165, 155, 77, 148, 90, // W...Bb...M.Z
|
||||
135, 212, 115, 145, 22, 69, 72, 237, 66, 102, 91, 134, // ..s..EH.Bf[.
|
||||
240, 115, 8, 111, 54, 139, 90, 219, 144, 41, 159, 23, // .s.o6.Z..)..
|
||||
165, 54, 81, 38, 154, 171, 12, 225, 167, 229, 88, 79, // .6Q&......XO
|
||||
33, 83, 44, 167, 42, 66, 38, 143, 166, 138, 87, 95, // !S,.*B&...W_
|
||||
78, 21, 237, 62, 15, 245, 163, 3, 198, 41, 249, 22, // N..>.....)..
|
||||
221, 74, 89, 145, 225, 105, 252, 142, 224, 15, 15, 235, // .JY..i......
|
||||
64, 244, 132, 205, 183, 254, 228, 94, 227, 82, 244, 50, // @......^.R.2
|
||||
95, 112, 249, 84, 201, 201, 61, 74, 185, 212, 5, 63, // _p.T..=J...?
|
||||
252, 15, 225, 232, 67, 124, 39, 7, 0, 0, 0 // ....C|'...
|
||||
};
|
||||
static const unsigned char v8[] = {
|
||||
42, 32, 123, 32, 98, 111, 120, 45, 115, 105, 122, 105, // * { box-sizi
|
||||
110, 103, 58, 32, 98, 111, 114, 100, 101, 114, 45, 98, // ng: border-b
|
||||
111, 120, 59, 32, 125, 10, 104, 116, 109, 108, 44, 32, // ox; }.html,
|
||||
@@ -1526,14 +2178,40 @@ static const unsigned char v4[] = {
|
||||
100, 116, 104, 58, 32, 57, 50, 48, 112, 120, 41, 32, // dth: 920px)
|
||||
123, 32, 46, 114, 111, 119, 32, 46, 99, 111, 108, 32, // { .row .col
|
||||
123, 32, 119, 105, 100, 116, 104, 58, 32, 49, 48, 48, // { width: 100
|
||||
37, 59, 32, 125, 32, 125, 10,// %; } }.
|
||||
37, 59, 32, 125, 32, 125, 10, 0 // %; } }.
|
||||
};
|
||||
|
||||
const struct mg_mem_file mg_packed_files[] = {
|
||||
{"/web_root/index.html", v1, sizeof(v1), 1730991857},
|
||||
{"/web_root/main.js", v2, sizeof(v2), 1730991857},
|
||||
{"/web_root/preact.min.js", v3, sizeof(v3), 1730991857},
|
||||
{"/web_root/style.css", v4, sizeof(v4), 1730991857},
|
||||
static const struct packed_file {
|
||||
const char *name;
|
||||
const unsigned char *data;
|
||||
size_t size;
|
||||
time_t mtime;
|
||||
} packed_files[] = {
|
||||
{"/web_root/preact.min.js.gz", v1, sizeof(v1), 1660165083},
|
||||
{"/web_root/main.js.gz", v2, sizeof(v2), 1660165083},
|
||||
{"/web_root/main.js", v3, sizeof(v3), 1660586478},
|
||||
{"/web_root/preact.min.js", v4, sizeof(v4), 1660586478},
|
||||
{"/web_root/index.html", v5, sizeof(v5), 1660586478},
|
||||
{"/web_root/index.html.gz", v6, sizeof(v6), 1660165083},
|
||||
{"/web_root/style.css.gz", v7, sizeof(v7), 1660165083},
|
||||
{"/web_root/style.css", v8, sizeof(v8), 1660586478},
|
||||
{NULL, NULL, 0, 0}
|
||||
};
|
||||
|
||||
static int scmp(const char *a, const char *b) {
|
||||
while (*a && (*a == *b)) a++, b++;
|
||||
return *(const unsigned char *) a - *(const unsigned char *) b;
|
||||
}
|
||||
const char *mg_unlist(size_t no) {
|
||||
return packed_files[no].name;
|
||||
}
|
||||
const char *mg_unpack(const char *name, size_t *size, time_t *mtime) {
|
||||
const struct packed_file *p;
|
||||
for (p = packed_files; p->name != NULL; p++) {
|
||||
if (scmp(p->name, name) != 0) continue;
|
||||
if (size != NULL) *size = p->size - 1;
|
||||
if (mtime != NULL) *mtime = p->mtime;
|
||||
return (const char *) p->data;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -5,7 +5,7 @@ SOURCES = main.c mongoose.c net.c packed_fs.c # Source code files
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
# CFLAGS_MONGOOSE +=
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
|
||||
PROG = example.exe # Use .exe suffix for the binary
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#define MG_ARCH MG_ARCH_ESP32
|
||||
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_TLS MG_TLS_NONE // change to 'MG_TLS_MBED' to enable TLS
|
||||
#define MG_OTA MG_OTA_CUSTOM
|
||||
@@ -11,7 +11,7 @@ SOURCES = main.c syscalls.c startup.c
|
||||
# Mongoose-specific source code files and build options. See https://mongoose.ws/documentation/#build-options
|
||||
SOURCES += mongoose.c net.c packed_fs.c
|
||||
CFLAGS += -DMG_ENABLE_TCPIP=1 -DMG_ARCH=MG_ARCH_ARMGCC -DMG_ENABLE_CUSTOM_MILLIS=1 -DMG_ENABLE_LINES=1
|
||||
CFLAGS += -DMG_ENABLE_DRIVER_SAME54=1 -DMG_ENABLE_CUSTOM_RANDOM=1 $(CFLAGS_EXTRA)
|
||||
CFLAGS += -DMG_ENABLE_DRIVER_SAME54=1 -DMG_ENABLE_CUSTOM_RANDOM=1 -DMG_ENABLE_PACKED_FS=1 $(CFLAGS_EXTRA)
|
||||
|
||||
# Example specific build options. See README.md
|
||||
CFLAGS += -DHTTP_URL=\"http://0.0.0.0/\"
|
||||
|
||||
@@ -256,5 +256,4 @@ void web_init(struct mg_mgr *mgr) {
|
||||
mg_http_listen(mgr, HTTPS_URL, fn, NULL);
|
||||
mg_timer_add(mgr, 3600 * 1000, MG_TIMER_RUN_NOW | MG_TIMER_REPEAT,
|
||||
timer_sntp_fn, mgr);
|
||||
mg_mem_files = mg_packed_files;
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
../../../test/pack.js
|
||||
@@ -0,0 +1,81 @@
|
||||
// Copyright (c) 2024 Cesanta Software Limited
|
||||
//
|
||||
// Utility that generates packed filesystem C file compatible with the
|
||||
// Mongoose Network Library, https://github.com/cesanta/mongoose
|
||||
//
|
||||
// Usage:
|
||||
// node pack.js FILE[:DESTINATION[:gzip]] ...
|
||||
|
||||
const fs = require('fs');
|
||||
const zlib = require('zlib');
|
||||
const argv = process.argv.slice(2);
|
||||
|
||||
// Convert each command-line arguments into [ DATA_ARRAY, STRUCT_INITIALIZER ]
|
||||
const entries = argv.map(function(filename, i) {
|
||||
const parts = filename.split(':');
|
||||
const stat = fs.statSync(parts[0]);
|
||||
const data = fs.readFileSync(parts[0], null);
|
||||
let bytes = Array.from(data);
|
||||
let destination = (parts[1] || parts[0]).replace(/^\.+[\/\\]*/, '');
|
||||
if (parts[2] == 'gzip') {
|
||||
bytes = Array.from(zlib.gzipSync(data));
|
||||
destination += '.gz';
|
||||
}
|
||||
|
||||
// concat(0) appends trailing 0, in order to make any file an asciz string
|
||||
return [
|
||||
`static const unsigned char v${i}[] = {${bytes.concat(0).join(',')}};`,
|
||||
` {"/${destination}", v${i}, sizeof(v${i}) - 1, ${parseInt(stat.mtimeMs / 1000)}}`,
|
||||
];
|
||||
});
|
||||
|
||||
process.stdout.write(`// DO NOT EDIT. This file is generated using this command:
|
||||
// ${process.argv.join(' ')}
|
||||
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
const char *mg_unlist(size_t no);
|
||||
const char *mg_unpack(const char *, size_t *, time_t *);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
${entries.map(x => x[0]).join('\n\n')}
|
||||
|
||||
static const struct packed_file {
|
||||
const char *name;
|
||||
const unsigned char *data;
|
||||
size_t size;
|
||||
time_t mtime;
|
||||
} packed_files[] = {
|
||||
${entries.map(x => x[1]).join(',\n')},
|
||||
{NULL, NULL, 0, 0}
|
||||
};
|
||||
|
||||
static int scmp(const char *a, const char *b) {
|
||||
while (*a && (*a == *b)) a++, b++;
|
||||
return *(const unsigned char *) a - *(const unsigned char *) b;
|
||||
}
|
||||
|
||||
const char *mg_unlist(size_t no) {
|
||||
return packed_files[no].name;
|
||||
}
|
||||
|
||||
const char *mg_unpack(const char *name, size_t *size, time_t *mtime) {
|
||||
const struct packed_file *p;
|
||||
for (p = packed_files; p->name != NULL; p++) {
|
||||
if (scmp(p->name, name) != 0) continue;
|
||||
if (size != NULL) *size = p->size;
|
||||
if (mtime != NULL) *mtime = p->mtime;
|
||||
return (const char *) p->data;
|
||||
}
|
||||
return NULL;
|
||||
};
|
||||
`);
|
||||
@@ -1,29 +1,67 @@
|
||||
// DO NOT EDIT. This file is generated using this command:
|
||||
// /opt/homebrew/Cellar/node/25.6.1_1/bin/node /Users/cpq/src/mongoose/tutorials/http/device-dashboard/pack.js web_root/bundle.js::gzip web_root/components.js::gzip web_root/history.min.js::gzip web_root/index.html::gzip web_root/main.js::gzip certs/server_cert.pem certs/server_key.pem
|
||||
// /usr/local/lib/nodejs/node-v18.16.1-linux-x64/bin/node /home/scaprile/work/cesanta/mongoose/tutorials/http/device-dashboard/pack.js web_root/bundle.js::gzip web_root/components.js::gzip web_root/history.min.js::gzip web_root/index.html::gzip web_root/main.js::gzip certs/server_cert.pem certs/server_key.pem
|
||||
|
||||
#include "mongoose.h"
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
static const unsigned char v0[] = {31,139,8,0,0,0,0,0,0,19,173,60,139,114,219,56,146,191,18,105,83,90,98,132,200,118,102,178,119,71,25,81,37,30,79,156,153,60,188,118,30,187,171,209,170,40,10,178,56,166,64,153,132,228,120,76,221,183,95,119,227,65,82,166,231,246,182,174,42,17,65,60,27,141,126,163,233,109,148,63,81,92,115,201,167,60,231,25,79,248,134,167,60,22,247,59,30,137,241,132,23,226,32,138,19,93,202,111,193,40,44,202,171,82,149,235,242,41,43,243,245,178,188,202,147,121,153,221,22,229,74,197,165,210,183,101,162,228,56,94,78,202,223,179,172,252,103,150,207,203,68,203,60,58,72,134,139,141,138,117,146,169,39,139,0,22,99,247,139,44,15,182,176,178,124,146,168,39,154,169,177,156,8,13,63,195,92,234,77,174,158,168,157,31,177,14,20,187,199,190,90,168,193,58,202,165,210,31,178,185,28,234,94,79,15,114,185,202,182,242,100,153,164,115,232,86,13,90,6,180,35,51,208,110,11,182,52,196,117,19,92,83,178,238,181,188,235,10,145,140,114,33,199,201,36,236,230,114,65,239,153,121,223,192,15,149,134,201,34,136,242,171,205,10,86,46,6,169,84,87,122,249,242,121,175,23,108,6,49,46,12,16,137,7,237,223,143,212,32,142,210,180,26,201,159,179,112,202,120,215,193,8,107,233,187,181,204,22,79,96,39,106,147,166,29,161,7,115,185,136,54,169,62,207,179,117,193,60,176,123,245,219,44,153,63,57,20,66,32,136,8,7,66,218,236,3,53,204,225,114,14,184,216,208,217,226,42,53,36,1,202,220,161,27,68,1,138,16,164,80,241,53,78,18,78,57,224,40,204,57,96,38,204,248,116,122,29,226,12,80,112,207,89,120,8,191,210,189,206,67,3,26,20,99,87,183,52,133,56,83,133,206,55,177,206,242,170,211,150,218,16,231,253,190,12,147,157,63,125,83,91,161,101,171,224,196,241,188,169,16,108,24,223,84,219,216,6,236,222,12,188,143,55,57,210,7,77,187,171,122,172,144,132,220,220,254,208,170,246,59,67,148,122,153,20,3,218,185,128,119,124,1,168,181,252,166,133,174,250,94,153,190,64,19,6,74,205,252,196,211,233,8,90,225,193,241,7,254,93,15,18,53,151,223,62,66,95,214,63,98,4,214,208,147,254,80,31,43,234,100,72,102,168,251,125,102,167,237,136,64,10,106,28,235,9,115,120,144,80,33,221,114,244,98,17,214,66,83,106,128,5,132,199,44,91,109,96,230,249,137,203,97,181,158,162,245,252,90,248,18,27,62,197,162,129,38,30,204,162,2,138,120,160,90,28,254,155,27,184,127,48,161,217,203,44,151,209,245,206,110,15,161,172,157,224,53,2,29,116,112,204,28,40,158,158,162,115,8,51,231,131,245,166,88,66,115,175,215,57,129,234,188,223,47,203,172,35,136,33,102,25,76,32,47,36,156,66,158,168,43,232,19,4,89,107,75,89,38,44,56,169,49,199,73,96,176,228,100,35,138,16,32,99,58,190,124,80,100,185,6,50,28,42,1,229,101,178,208,1,27,50,7,157,134,74,131,18,62,21,150,216,51,87,72,69,144,16,114,24,244,222,226,143,228,65,76,40,56,71,248,166,40,116,1,200,69,0,18,56,97,212,75,36,248,219,63,226,159,130,24,192,200,56,246,86,220,204,8,91,141,7,217,173,146,249,229,151,55,167,169,68,97,195,13,190,113,216,114,52,78,39,150,25,185,33,217,20,200,34,97,97,202,169,157,241,139,96,10,43,209,155,236,136,180,215,155,65,51,227,110,19,47,53,98,217,238,152,13,9,201,226,176,194,212,183,224,161,254,40,12,242,22,124,205,151,124,203,239,248,140,95,243,19,49,237,245,136,47,202,50,226,223,196,137,35,28,196,41,110,233,26,247,190,0,194,90,28,107,223,214,32,170,45,33,234,122,188,152,8,179,23,168,209,240,6,231,215,157,101,89,42,163,26,15,108,161,242,33,103,108,71,56,50,236,130,56,130,131,111,246,86,155,213,76,230,205,186,89,114,149,40,93,31,63,39,104,96,91,244,48,101,22,190,202,243,232,110,144,20,244,12,182,12,186,173,248,189,19,54,225,118,87,235,78,130,56,220,194,86,102,47,15,161,227,150,184,149,111,141,244,129,39,200,93,248,5,185,59,162,95,115,126,91,162,152,112,203,72,252,224,155,144,84,57,35,172,204,128,64,12,82,68,176,20,39,6,43,203,94,143,102,19,98,137,15,124,195,165,4,190,99,129,97,63,75,155,67,153,22,242,9,30,198,26,206,96,125,252,109,184,6,228,227,90,52,223,26,25,249,143,39,187,199,94,110,54,195,207,75,58,168,221,39,32,146,45,95,138,101,89,198,13,58,225,119,98,107,152,96,45,104,175,176,200,18,159,29,177,6,118,0,82,9,144,44,24,167,202,94,239,218,240,59,189,57,220,115,91,185,38,108,196,101,9,200,3,2,54,52,115,55,178,146,122,6,211,205,196,93,171,10,54,27,193,13,33,21,226,126,224,57,218,146,152,73,197,105,176,5,88,65,146,166,226,179,217,7,63,1,154,78,91,167,146,118,42,162,104,24,205,96,24,110,9,101,30,50,87,90,51,98,64,206,66,199,84,92,5,75,6,178,199,178,129,20,51,224,130,111,195,197,179,103,32,84,104,19,120,74,208,243,15,150,171,250,225,12,189,158,43,9,162,141,185,135,231,85,48,101,3,5,74,237,50,153,165,40,249,248,215,0,251,114,34,24,134,26,225,154,44,15,195,135,215,117,62,124,31,32,231,241,235,113,191,239,31,53,145,121,106,4,65,101,221,129,68,48,74,0,196,223,225,48,239,245,178,99,39,84,134,25,204,7,194,46,31,103,19,18,123,72,205,48,92,180,108,113,106,116,217,41,136,41,156,62,252,28,160,176,65,113,51,37,202,209,204,219,58,53,69,125,102,20,181,107,16,186,44,65,186,24,82,80,109,226,2,42,131,38,19,43,6,86,92,145,173,100,16,184,105,81,15,153,153,119,112,176,218,41,31,198,107,43,127,174,11,68,35,8,137,218,17,183,94,102,107,60,13,150,152,39,167,223,6,27,122,3,67,150,1Line truncated
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
static const unsigned char v1[] = {31,139,8,0,0,0,0,0,0,19,237,93,235,115,219,70,146,255,238,191,98,162,242,45,169,181,0,225,77,64,182,148,114,156,77,57,85,246,94,42,78,244,37,151,59,67,36,40,34,198,131,7,64,148,100,133,255,251,245,175,103,0,12,64,74,206,195,187,117,167,219,84,12,14,230,61,253,238,158,38,53,185,170,19,81,55,85,58,111,38,207,159,164,249,186,172,26,113,39,86,71,162,74,138,69,82,29,9,234,240,174,137,155,132,75,127,91,46,147,121,195,197,239,147,229,145,88,53,121,118,36,190,47,175,154,164,18,91,177,172,202,92,136,137,121,124,113,85,44,178,196,252,165,166,73,159,28,31,139,215,73,182,166,30,203,171,98,222,164,101,33,154,85,220,208,10,205,85,85,212,34,22,107,26,151,210,70,84,117,93,102,155,132,234,151,152,117,145,100,241,237,147,121,89,212,141,248,26,101,113,42,166,121,125,36,54,113,118,40,78,207,68,145,92,139,239,228,4,83,53,22,213,117,210,252,144,230,9,109,173,173,61,18,237,176,67,218,85,114,195,103,149,19,127,139,15,154,248,238,137,16,171,36,174,154,19,236,105,93,99,34,156,241,253,139,122,115,41,230,89,92,215,167,79,239,184,201,228,183,173,184,201,179,162,62,61,88,53,205,250,228,248,248,250,250,218,188,118,205,178,186,60,118,44,203,58,166,97,7,98,153,102,217,233,65,81,22,201,129,216,164,201,245,87,229,205,233,129,37,44,225,120,244,255,193,217,139,117,220,172,128,133,242,67,98,100,105,145,204,227,245,233,65,85,18,16,15,244,234,95,202,180,24,215,95,167,139,102,117,122,224,28,136,197,233,193,91,207,116,237,80,4,120,198,158,233,11,252,163,133,44,11,117,129,247,198,118,132,99,161,148,205,204,32,116,12,126,14,122,26,220,209,232,186,83,15,55,200,12,27,83,202,231,158,238,194,250,72,167,56,198,49,232,131,206,124,246,254,136,32,185,40,175,139,151,85,85,226,192,255,76,128,142,96,99,155,126,91,117,122,48,191,170,136,178,155,87,101,86,86,7,103,226,15,129,30,144,142,68,104,58,254,235,153,233,199,14,21,4,63,24,34,221,235,38,26,53,117,111,171,125,45,60,112,99,140,155,140,174,237,181,237,211,178,182,147,185,194,205,169,41,115,13,55,55,232,229,28,173,7,226,152,142,211,3,255,106,253,47,208,127,78,208,231,150,225,102,6,64,14,208,3,236,57,189,156,219,59,128,159,151,151,143,14,226,166,31,121,194,53,35,111,110,90,145,97,250,158,99,250,129,65,239,194,54,109,27,133,21,213,68,238,220,244,1,58,219,36,176,186,81,200,173,212,152,153,142,237,210,139,19,218,52,65,224,154,238,12,146,202,37,233,19,152,129,231,155,225,204,180,168,202,242,76,219,163,98,232,154,142,99,218,206,204,116,29,170,138,2,115,6,44,204,48,241,204,167,6,47,163,201,236,153,97,122,126,16,211,34,132,48,249,36,184,208,138,238,204,244,34,116,137,2,96,211,155,237,244,49,76,39,160,87,207,181,33,219,44,203,53,67,103,54,167,218,136,150,246,104,94,55,52,3,219,69,129,14,16,57,49,109,193,143,132,124,98,2,75,208,134,124,26,97,89,180,203,89,104,218,52,130,246,230,17,148,176,180,101,209,169,156,112,110,122,116,2,215,55,125,215,51,35,223,107,151,197,170,14,1,232,158,221,209,17,130,136,206,192,187,107,15,74,139,185,190,111,208,74,180,175,25,21,172,153,131,205,207,2,64,132,118,72,0,226,135,58,32,32,24,98,16,29,193,14,105,140,31,210,210,17,13,12,60,207,12,131,40,51,58,188,224,32,132,101,15,189,2,194,24,182,192,168,179,87,6,48,235,81,7,160,22,235,57,6,112,107,180,152,151,179,24,18,187,52,77,128,246,25,193,208,181,169,68,24,230,245,12,194,49,182,232,8,126,180,91,52,128,101,236,209,193,193,34,234,75,103,2,170,229,193,12,198,181,132,193,94,92,75,72,25,64,55,67,116,102,236,135,40,193,221,144,232,6,106,176,27,90,150,250,99,49,143,234,9,194,132,110,19,231,151,216,142,92,236,20,79,198,182,193,216,6,178,113,184,16,72,8,37,18,228,16,73,69,60,111,184,151,216,120,245,236,161,45,130,108,13,198,57,142,27,48,198,9,225,1,240,77,43,1,30,142,232,161,194,216,39,142,1,203,80,141,69,44,36,193,25,18,194,81,32,38,242,73,197,3,227,10,1,132,113,154,217,147,168,250,40,229,214,31,21,9,54,109,221,137,73,10,130,221,109,35,160,15,249,98,217,1,204,129,145,80,36,107,172,73,139,203,250,245,99,19,141,182,69,150,80,176,138,8,67,170,76,136,5,90,125,9,24,2,73,78,255,244,74,11,149,111,129,83,17,64,139,81,187,237,240,12,185,129,231,160,183,181,111,10,139,167,32,221,207,189,121,142,200,8,86,46,79,225,254,174,41,228,130,188,250,125,56,59,127,108,56,35,17,76,188,113,206,224,178,4,142,62,128,150,5,243,202,112,7,192,226,58,129,17,231,196,154,126,78,162,205,253,83,19,24,129,17,181,19,184,191,125,130,136,39,176,204,93,100,205,227,226,177,225,137,232,154,97,243,58,120,57,52,204,36,239,108,104,209,183,0,166,236,100,135,195,94,54,121,58,142,234,6,200,157,239,116,32,87,137,251,172,12,116,49,72,177,143,87,178,121,37,59,220,24,188,214,111,150,121,66,250,63,73,253,161,41,215,143,13,45,228,131,204,96,47,67,227,205,226,22,2,80,240,145,128,205,225,188,1,226,28,123,5,3,35,112,108,126,188,108,251,1,136,176,223,103,231,60,75,78,154,209,33,43,122,104,122,219,189,41,255,218,167,199,24,43,194,246,207,81,159,19,10,173,17,113,216,176,195,132,187,103,156,229,138,110,208,57,97,242,119,46,233,240,146,99,198,139,179,228,159,27,46,248,167,104,53,178,15,97,110,195,22,39,56,145,117,236,17,175,200,15,0,146,236,92,223,227,112,192,203,208,140,130,1Line truncated
|
||||
const char *mg_unlist(size_t no);
|
||||
const char *mg_unpack(const char *, size_t *, time_t *);
|
||||
|
||||
static const unsigned char v2[] = {31,139,8,0,0,0,0,0,0,19,237,91,109,111,219,186,146,254,43,182,47,214,144,96,86,181,123,206,61,187,43,151,215,72,211,52,9,144,32,65,147,246,124,8,140,3,197,166,109,181,50,233,82,146,147,192,214,127,223,25,190,72,148,45,167,233,222,158,189,7,187,251,37,150,248,50,28,14,135,51,207,67,49,237,89,206,39,89,44,184,151,17,238,111,58,226,254,11,155,100,29,74,179,167,21,19,179,22,123,92,9,153,165,221,238,94,205,82,76,243,132,141,244,79,96,218,81,238,249,97,199,202,172,26,79,217,44,230,172,219,213,191,65,180,156,142,244,163,119,55,134,113,195,67,227,142,204,111,112,22,167,153,144,79,74,126,230,190,21,94,182,136,83,82,78,195,223,72,150,229,146,183,170,137,249,27,251,220,226,158,240,55,241,204,99,119,98,236,155,134,248,108,245,31,174,35,217,146,20,139,232,198,148,133,155,130,196,211,80,144,68,68,83,54,13,219,131,98,104,186,102,216,117,18,37,137,39,173,4,34,73,245,204,125,120,209,221,104,187,95,85,20,56,12,163,155,82,16,15,150,20,22,32,152,80,6,127,87,180,211,33,220,235,195,228,238,220,245,33,12,86,40,79,89,43,205,100,12,214,26,150,243,18,56,75,171,84,183,155,5,127,252,193,210,75,189,66,89,184,1,91,71,121,146,133,89,81,112,167,10,117,130,49,37,139,50,118,29,101,11,10,67,71,50,181,207,137,152,68,40,61,61,146,236,228,91,30,37,212,54,190,48,53,101,193,37,91,194,122,148,203,98,74,207,162,116,177,91,246,78,138,135,148,73,91,188,22,241,180,213,183,102,247,222,248,195,43,229,9,129,118,143,107,41,86,76,102,79,30,39,157,250,208,29,178,97,60,95,50,25,221,39,44,132,137,204,89,22,238,123,129,220,209,184,40,124,114,112,132,189,9,191,120,144,189,158,48,142,154,84,12,147,26,60,51,169,210,222,47,28,42,174,86,232,217,169,84,139,250,98,193,85,23,171,124,4,202,255,187,79,38,84,120,145,79,114,120,251,15,159,164,240,150,251,100,6,111,255,233,147,4,222,102,254,240,192,234,78,2,227,121,164,201,37,210,189,218,186,27,37,182,190,32,59,81,202,221,3,59,14,13,239,209,116,122,193,162,105,204,231,55,9,12,71,221,72,160,103,219,121,13,145,134,102,193,100,17,201,163,12,54,26,108,18,40,235,193,72,60,64,193,171,31,23,16,164,249,61,116,133,213,14,43,49,215,18,86,230,145,214,213,55,22,239,43,9,49,159,178,199,171,153,199,29,17,176,245,24,159,103,11,87,210,173,140,226,228,229,26,101,70,196,171,129,146,155,196,19,230,245,201,43,171,92,181,205,93,73,184,230,156,102,219,45,8,35,12,131,144,192,63,18,54,175,85,179,243,183,142,63,148,109,74,95,13,186,93,79,64,141,209,89,250,132,87,111,16,235,124,187,1,156,206,35,236,108,252,205,202,96,85,175,120,71,70,236,99,193,148,77,196,148,125,250,120,14,54,34,155,21,40,205,163,37,11,57,73,89,36,39,139,16,164,194,204,217,168,211,9,25,89,128,117,66,80,18,74,4,150,136,162,168,135,184,134,249,6,86,38,204,25,108,165,164,194,204,179,0,133,193,236,25,47,21,80,166,41,231,0,9,13,6,135,137,192,131,39,123,212,104,226,120,5,67,237,122,204,39,2,154,254,13,155,10,211,84,171,232,52,21,168,118,79,64,198,40,234,254,254,231,68,253,23,4,247,90,108,54,145,38,74,211,120,14,102,168,101,87,33,61,109,202,193,144,191,141,228,28,162,13,135,156,173,61,112,200,123,61,109,106,70,203,186,59,62,30,218,110,162,21,131,41,125,51,192,74,138,76,32,8,64,235,95,61,112,27,212,116,154,101,68,248,96,64,204,187,42,73,251,133,157,62,228,104,12,181,125,159,68,16,146,98,140,90,240,58,192,176,37,188,9,134,45,21,136,247,38,89,183,52,136,223,104,175,53,147,55,155,11,77,207,231,21,60,201,70,94,76,193,67,211,106,39,249,96,10,18,195,102,5,233,20,32,13,52,144,30,64,7,40,213,178,96,189,227,210,213,96,18,213,11,108,50,213,85,121,222,72,187,148,125,173,60,68,117,209,133,232,105,61,251,226,135,85,113,7,196,160,215,142,180,179,233,151,29,17,88,132,254,215,211,143,216,93,23,117,140,162,208,145,119,187,142,210,106,78,122,120,51,59,84,247,43,123,2,180,34,106,51,25,193,246,104,187,243,220,25,187,156,49,216,46,178,225,221,119,42,136,40,31,125,212,172,236,224,148,147,184,104,116,224,198,40,91,237,110,152,10,119,236,111,119,186,42,214,143,88,168,76,129,69,248,128,5,56,77,124,135,95,152,66,159,228,149,218,153,182,135,10,209,240,235,127,111,227,42,111,167,78,238,45,134,89,137,156,197,159,190,235,75,148,245,11,152,144,122,2,99,182,163,12,214,102,148,231,73,66,156,109,225,88,146,114,183,121,70,149,155,120,186,11,206,157,57,189,112,43,65,14,64,172,141,213,109,154,217,141,213,192,14,178,81,134,61,32,55,13,247,118,90,60,106,232,32,70,176,197,65,124,40,189,118,31,255,98,54,105,15,252,130,37,96,49,85,88,64,4,7,110,33,27,2,62,196,63,230,174,2,71,35,70,171,85,242,228,105,167,39,101,156,242,75,132,14,254,151,167,11,143,213,76,6,178,6,48,142,8,102,113,146,49,233,237,167,229,86,134,233,161,64,243,196,238,152,54,248,101,116,55,94,130,241,143,164,140,158,48,156,48,218,31,178,183,217,144,65,8,229,119,108,236,4,80,54,30,194,176,66,158,68,147,69,227,184,245,25,113,191,40,231,178,73,89,6,97,117,185,202,32,137,78,4,159,197,114,9,240,130,167,49,202,184,21,144,70,161,47,227,211,11,0,98,140,51,25,74,194,69,22,207,158,108,65,26,198,136,17,185,221,10,52,254,65,136,54,137,248,167,148,189,191,186,164,109,175,147,115,141,95,167,213,2,63,0,100,16,15,219,109,91,63,4,83,49,81,243,222,47Line truncated
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
static const unsigned char v3[] = {31,139,8,0,0,0,0,0,0,19,109,83,201,110,219,48,16,189,231,43,166,188,240,208,136,218,23,7,162,129,52,205,161,135,162,61,180,69,123,100,36,218,98,194,197,37,105,43,254,251,82,150,237,36,78,1,129,51,122,243,102,33,103,166,253,240,249,219,221,143,63,223,239,97,240,74,46,175,218,73,128,100,122,77,17,215,8,58,201,156,163,104,136,86,91,41,225,97,29,141,131,240,28,45,175,0,218,129,179,126,82,130,234,133,151,124,217,198,179,156,49,197,61,131,110,96,214,113,79,209,214,175,162,6,65,252,218,56,120,191,137,248,223,173,216,81,244,59,250,121,27,221,25,181,97,94,60,72,30,50,27,237,185,14,158,95,238,41,239,215,252,194,87,51,197,41,218,9,62,110,140,245,175,232,163,232,253,64,123,190,19,29,143,14,63,215,32,180,240,130,201,200,117,76,114,154,146,228,37,152,20,250,9,44,151,20,137,16,2,129,223,111,66,92,161,216,154,199,110,183,254,248,172,36,130,193,242,21,69,61,243,236,230,141,229,186,13,10,4,69,59,138,167,219,220,196,241,56,142,100,204,137,177,235,56,75,146,100,162,98,88,9,41,41,214,70,115,12,83,205,159,204,51,197,9,36,144,21,225,195,224,188,53,79,199,114,41,78,73,121,130,40,238,182,214,134,139,221,25,105,44,94,66,27,30,104,56,241,67,241,188,99,27,138,173,217,234,30,191,134,31,141,208,103,188,167,248,107,90,144,166,172,33,173,73,210,100,44,203,73,83,52,112,20,161,146,164,36,69,89,68,41,201,211,219,134,44,170,26,230,51,152,210,180,129,5,169,203,93,68,234,95,139,219,10,170,131,67,5,139,93,64,217,37,59,202,66,140,12,42,146,100,89,151,146,58,207,73,85,64,78,202,10,194,203,55,37,76,153,74,152,50,169,146,212,105,1,9,203,10,146,5,236,40,14,81,142,166,51,37,135,60,24,210,179,1,135,22,66,59,61,239,242,162,155,115,183,166,118,184,208,15,235,148,35,138,199,34,204,135,157,79,210,57,135,230,166,59,191,151,220,13,156,251,99,144,54,62,141,117,251,96,250,253,219,5,64,97,196,39,244,96,118,157,21,27,15,206,118,47,201,186,94,19,207,132,28,133,238,67,18,210,25,53,249,204,212,247,94,194,121,99,247,68,9,77,30,221,255,137,243,60,42,211,111,167,165,56,184,41,246,142,31,170,62,172,239,63,221,71,42,213,207,3,0,0,0};
|
||||
static const unsigned char v0[] = {31,139,8,0,0,0,0,0,0,3,173,60,139,114,219,56,146,191,18,105,83,90,98,132,200,118,102,178,119,71,25,81,37,30,79,156,153,60,188,118,30,187,171,209,170,40,10,178,56,166,64,153,132,228,120,76,221,183,95,119,227,65,82,166,231,246,182,174,42,17,65,60,27,141,126,163,233,109,148,63,81,92,115,201,167,60,231,25,79,248,134,167,60,22,247,59,30,137,241,132,23,226,32,138,19,93,202,111,193,40,44,202,171,82,149,235,242,41,43,243,245,178,188,202,147,121,153,221,22,229,74,197,165,210,183,101,162,228,56,94,78,202,223,179,172,252,103,150,207,203,68,203,60,58,72,134,139,141,138,117,146,169,39,139,0,22,99,247,139,44,15,182,176,178,124,146,168,39,154,169,177,156,8,13,63,195,92,234,77,174,158,168,157,31,177,14,20,187,199,190,90,168,193,58,202,165,210,31,178,185,28,234,94,79,15,114,185,202,182,242,100,153,164,115,232,86,13,90,6,180,35,51,208,110,11,182,52,196,117,19,92,83,178,238,181,188,235,10,145,140,114,33,199,201,36,236,230,114,65,239,153,121,223,192,15,149,134,201,34,136,242,171,205,10,86,46,6,169,84,87,122,249,242,121,175,23,108,6,49,46,12,16,137,7,237,223,143,212,32,142,210,180,26,201,159,179,112,202,120,215,193,8,107,233,187,181,204,22,79,96,39,106,147,166,29,161,7,115,185,136,54,169,62,207,179,117,193,60,176,123,245,219,44,153,63,57,20,66,32,136,8,7,66,218,236,3,53,204,225,114,14,184,216,208,217,226,42,53,36,1,202,220,161,27,68,1,138,16,164,80,241,53,78,18,78,57,224,40,204,57,96,38,204,248,116,122,29,226,12,80,112,207,89,120,8,191,210,189,206,67,3,26,20,99,87,183,52,133,56,83,133,206,55,177,206,242,170,211,150,218,16,231,253,190,12,147,157,63,125,83,91,161,101,171,224,196,241,188,169,16,108,24,223,84,219,216,6,236,222,12,188,143,55,57,210,7,77,187,171,122,172,144,132,220,220,254,208,170,246,59,67,148,122,153,20,3,218,185,128,119,124,1,168,181,252,166,133,174,250,94,153,190,64,19,6,74,205,252,196,211,233,8,90,225,193,241,7,254,93,15,18,53,151,223,62,66,95,214,63,98,4,214,208,147,254,80,31,43,234,100,72,102,168,251,125,102,167,237,136,64,10,106,28,235,9,115,120,144,80,33,221,114,244,98,17,214,66,83,106,128,5,132,199,44,91,109,96,230,249,137,203,97,181,158,162,245,252,90,248,18,27,62,197,162,129,38,30,204,162,2,138,120,160,90,28,254,155,27,184,127,48,161,217,203,44,151,209,245,206,110,15,161,172,157,224,53,2,29,116,112,204,28,40,158,158,162,115,8,51,231,131,245,166,88,66,115,175,215,57,129,234,188,223,47,203,172,35,136,33,102,25,76,32,47,36,156,66,158,168,43,232,19,4,89,107,75,89,38,44,56,169,49,199,73,96,176,228,100,35,138,16,32,99,58,190,124,80,100,185,6,50,28,42,1,229,101,178,208,1,27,50,7,157,134,74,131,18,62,21,150,216,51,87,72,69,144,16,114,24,244,222,226,143,228,65,76,40,56,71,248,166,40,116,1,200,69,0,18,56,97,212,75,36,248,219,63,226,159,130,24,192,200,56,246,86,220,204,8,91,141,7,217,173,146,249,229,151,55,167,169,68,97,195,13,190,113,216,114,52,78,39,150,25,185,33,217,20,200,34,97,97,202,169,157,241,139,96,10,43,209,155,236,136,180,215,155,65,51,227,110,19,47,53,98,217,238,152,13,9,201,226,176,194,212,183,224,161,254,40,12,242,22,124,205,151,124,203,239,248,140,95,243,19,49,237,245,136,47,202,50,226,223,196,137,35,28,196,41,110,233,26,247,190,0,194,90,28,107,223,214,32,170,45,33,234,122,188,152,8,179,23,168,209,240,6,231,215,157,101,89,42,163,26,15,108,161,242,33,103,108,71,56,50,236,130,56,130,131,111,246,86,155,213,76,230,205,186,89,114,149,40,93,31,63,39,104,96,91,244,48,101,22,190,202,243,232,110,144,20,244,12,182,12,186,173,248,189,19,54,225,118,87,235,78,130,56,220,194,86,102,47,15,161,227,150,184,149,111,141,244,129,39,200,93,248,5,185,59,162,95,115,126,91,162,152,112,203,72,252,224,155,144,84,57,35,172,204,128,64,12,82,68,176,20,39,6,43,203,94,143,102,19,98,137,15,124,195,165,4,190,99,129,97,63,75,155,67,153,22,242,9,30,198,26,206,96,125,252,109,184,6,228,227,90,52,223,26,25,249,143,39,187,199,94,110,54,195,207,75,58,168,221,39,32,146,45,95,138,101,89,198,13,58,225,119,98,107,152,96,45,104,175,176,200,18,159,29,177,6,118,0,82,9,144,44,24,167,202,94,239,218,240,59,189,57,220,115,91,185,38,108,196,101,9,200,3,2,54,52,115,55,178,146,122,6,211,205,196,93,171,10,54,27,193,13,33,21,226,126,224,57,218,146,152,73,197,105,176,5,88,65,146,166,226,179,217,7,63,1,154,78,91,167,146,118,42,162,104,24,205,96,24,110,9,101,30,50,87,90,51,98,64,206,66,199,84,92,5,75,6,178,199,178,129,20,51,224,130,111,195,197,179,103,32,84,104,19,120,74,208,243,15,150,171,250,225,12,189,158,43,9,162,141,185,135,231,85,48,101,3,5,74,237,50,153,165,40,249,248,215,0,251,114,34,24,134,26,225,154,44,15,195,135,215,117,62,124,31,32,231,241,235,113,191,239,31,53,145,121,106,4,65,101,221,129,68,48,74,0,196,223,225,48,239,245,178,99,39,84,134,25,204,7,194,46,31,103,19,18,123,72,205,48,92,180,108,113,106,116,217,41,136,41,156,62,252,28,160,176,65,113,51,37,202,209,204,219,58,53,69,125,102,20,181,107,16,186,44,65,186,24,82,80,109,226,2,42,131,38,19,43,6,86,92,145,173,100,16,184,105,81,15,153,153,119,112,176,218,41,31,198,107,43,127,174,11,68,35,8,137,218,17,183,94,102,107,60,13,150,152,39,167,223,6,27,122,3,67,150,10Line truncated
|
||||
|
||||
static const unsigned char v4[] = {31,139,8,0,0,0,0,0,0,19,189,91,233,114,219,72,146,254,239,167,168,230,184,155,164,155,0,9,82,151,105,81,29,62,219,158,112,219,14,75,118,108,143,66,225,6,137,34,137,22,174,0,64,145,28,13,223,105,159,97,159,108,191,204,194,81,32,33,74,125,236,206,168,105,28,85,89,89,89,121,124,153,85,232,118,133,248,240,241,226,245,80,60,255,244,78,76,108,207,75,132,191,72,82,145,164,118,156,138,165,155,206,69,211,142,220,110,83,184,129,8,99,71,198,34,13,69,34,227,27,41,210,185,20,118,20,9,59,21,118,176,22,95,62,191,123,244,168,185,72,36,58,199,238,36,109,62,123,228,250,81,8,50,183,98,222,17,177,12,208,187,35,208,224,60,181,83,201,87,175,167,83,57,73,249,242,179,156,118,196,60,245,189,142,248,28,46,82,12,180,17,211,56,244,133,104,154,221,241,34,112,60,105,254,158,232,68,223,77,194,32,233,136,247,225,204,13,58,226,92,166,169,27,204,58,226,197,34,77,67,122,128,81,58,34,117,163,151,161,23,198,104,200,255,74,167,35,62,132,169,59,117,39,118,234,82,187,79,54,250,103,215,95,34,47,180,157,55,174,39,21,149,156,7,176,48,9,49,110,32,131,52,81,108,60,162,209,83,26,61,20,35,17,197,97,148,136,209,25,207,224,183,211,228,102,38,38,158,157,36,163,199,183,252,202,228,187,141,88,249,94,144,140,26,243,52,141,134,221,238,114,185,52,151,3,51,140,103,221,126,175,215,235,162,91,67,220,184,114,249,34,92,141,26,61,209,19,86,223,60,57,230,223,195,198,217,169,35,167,201,217,105,146,174,61,121,102,122,158,49,241,18,195,186,157,186,158,55,12,192,219,51,8,62,188,150,195,127,128,86,118,109,248,46,68,233,185,248,103,104,21,15,151,174,147,206,135,61,243,48,90,61,219,156,118,21,193,211,174,34,63,19,174,51,106,188,183,215,50,254,214,111,8,199,78,109,35,176,125,153,61,19,253,70,181,141,101,212,181,178,208,42,178,161,62,74,12,141,156,91,52,29,53,126,193,132,142,250,29,203,60,233,127,61,49,159,90,207,45,243,240,164,195,63,61,252,223,234,88,248,235,153,7,39,111,15,108,203,60,56,232,240,15,191,50,44,195,28,28,63,55,143,158,226,47,107,13,233,160,73,207,51,76,188,180,250,182,121,2,202,86,214,222,180,14,13,80,250,122,104,30,30,227,205,49,254,178,110,230,201,145,129,255,222,30,152,199,131,175,199,102,255,4,175,143,240,199,175,123,29,190,57,124,251,212,60,32,138,135,248,43,94,128,226,201,225,215,129,121,112,248,188,210,5,60,91,131,206,160,99,30,31,225,175,120,200,12,218,102,255,41,254,212,67,98,19,255,209,188,158,170,31,245,152,39,247,182,111,14,158,126,37,225,144,92,142,59,252,163,88,62,232,152,253,195,183,150,181,243,162,20,232,191,26,221,189,146,39,177,42,225,126,181,118,5,143,213,96,90,111,107,135,199,224,88,26,76,252,233,193,46,7,232,128,137,130,125,208,176,171,19,179,168,239,224,216,195,172,77,203,214,164,131,199,150,101,90,7,154,20,233,209,129,121,112,156,175,72,33,120,203,80,55,160,111,13,242,229,44,133,111,168,101,57,122,75,203,162,47,52,189,161,102,95,177,146,186,106,96,33,173,67,136,1,92,177,210,148,26,69,111,6,166,101,117,170,186,215,83,179,96,1,119,103,217,127,48,217,179,223,224,13,166,139,96,66,62,68,188,149,54,252,92,235,214,131,99,88,40,215,6,175,151,200,244,124,30,46,207,93,71,142,109,186,47,111,54,109,113,251,72,192,63,166,139,56,80,254,227,209,169,227,222,228,235,55,158,25,203,57,172,24,110,213,157,92,175,225,127,35,163,39,254,109,92,30,156,92,137,213,210,152,46,60,79,140,217,55,27,99,17,173,141,190,120,124,171,209,23,63,252,32,154,145,103,28,247,155,27,145,198,118,144,184,196,168,1,103,47,156,69,204,158,207,24,244,122,234,221,52,140,253,198,25,248,209,89,136,86,32,154,141,132,1,122,194,167,159,169,39,87,2,140,249,137,49,129,95,148,49,247,67,207,177,242,157,233,58,130,59,80,55,13,17,6,19,15,252,195,33,202,27,114,148,85,137,180,248,217,119,55,237,77,62,102,42,87,169,145,120,136,20,198,65,175,151,145,6,241,199,183,236,247,77,116,74,6,69,235,185,113,212,16,221,108,252,110,126,161,77,129,153,165,31,195,18,51,59,50,86,198,1,88,240,166,6,92,162,76,39,115,225,205,134,234,249,81,57,150,214,63,150,96,197,69,212,211,8,193,197,229,67,213,12,166,75,166,24,178,102,20,116,77,34,59,168,206,219,23,219,243,135,62,205,164,67,97,216,78,134,88,97,210,171,141,54,126,149,131,185,235,56,50,160,225,198,94,56,185,166,139,185,26,126,105,68,43,126,62,51,102,177,13,109,1,113,97,199,174,109,168,62,224,32,94,200,202,212,88,234,42,32,66,131,220,212,35,47,207,234,221,16,46,22,99,148,175,137,210,249,141,182,214,249,147,82,76,221,234,42,241,63,244,3,35,218,232,118,148,43,198,237,34,246,148,189,100,134,162,226,238,7,251,230,189,27,92,35,244,182,110,153,165,14,179,2,8,17,19,144,64,39,52,207,227,113,166,206,217,192,54,183,25,53,254,241,248,150,46,54,141,92,104,234,94,140,70,212,93,252,36,154,144,145,90,129,195,158,90,143,177,183,144,198,17,108,101,22,135,139,168,41,134,162,201,207,89,146,199,120,62,15,111,100,60,172,182,85,207,114,121,31,230,157,55,74,149,148,58,12,4,158,1,32,57,134,239,136,8,214,150,171,129,7,119,2,88,99,28,137,105,24,224,137,244,221,113,232,57,186,61,208,188,11,67,88,162,37,25,67,33,240,199,74,60,155,92,232,133,212,33,240,253,94,231,198,13,61,153,26,22,77,33,49,104,18,158,189,214,46,141,48,146,193,144,189,6,11,105,101,244,10,133,161,2Line truncated
|
||||
static const unsigned char v1[] = {31,139,8,0,0,0,0,0,0,3,237,93,235,115,219,70,146,255,238,191,98,162,242,45,169,181,0,225,77,64,182,148,114,156,77,57,85,246,94,42,78,244,37,151,59,67,36,40,34,198,131,7,64,148,100,133,255,251,245,175,103,0,12,64,74,206,195,187,117,167,219,84,12,14,230,61,253,238,158,38,53,185,170,19,81,55,85,58,111,38,207,159,164,249,186,172,26,113,39,86,71,162,74,138,69,82,29,9,234,240,174,137,155,132,75,127,91,46,147,121,195,197,239,147,229,145,88,53,121,118,36,190,47,175,154,164,18,91,177,172,202,92,136,137,121,124,113,85,44,178,196,252,165,166,73,159,28,31,139,215,73,182,166,30,203,171,98,222,164,101,33,154,85,220,208,10,205,85,85,212,34,22,107,26,151,210,70,84,117,93,102,155,132,234,151,152,117,145,100,241,237,147,121,89,212,141,248,26,101,113,42,166,121,125,36,54,113,118,40,78,207,68,145,92,139,239,228,4,83,53,22,213,117,210,252,144,230,9,109,173,173,61,18,237,176,67,218,85,114,195,103,149,19,127,139,15,154,248,238,137,16,171,36,174,154,19,236,105,93,99,34,156,241,253,139,122,115,41,230,89,92,215,167,79,239,184,201,228,183,173,184,201,179,162,62,61,88,53,205,250,228,248,248,250,250,218,188,118,205,178,186,60,118,44,203,58,166,97,7,98,153,102,217,233,65,81,22,201,129,216,164,201,245,87,229,205,233,129,37,44,225,120,244,255,193,217,139,117,220,172,128,133,242,67,98,100,105,145,204,227,245,233,65,85,18,16,15,244,234,95,202,180,24,215,95,167,139,102,117,122,224,28,136,197,233,193,91,207,116,237,80,4,120,198,158,233,11,252,163,133,44,11,117,129,247,198,118,132,99,161,148,205,204,32,116,12,126,14,122,26,220,209,232,186,83,15,55,200,12,27,83,202,231,158,238,194,250,72,167,56,198,49,232,131,206,124,246,254,136,32,185,40,175,139,151,85,85,226,192,255,76,128,142,96,99,155,126,91,117,122,48,191,170,136,178,155,87,101,86,86,7,103,226,15,129,30,144,142,68,104,58,254,235,153,233,199,14,21,4,63,24,34,221,235,38,26,53,117,111,171,125,45,60,112,99,140,155,140,174,237,181,237,211,178,182,147,185,194,205,169,41,115,13,55,55,232,229,28,173,7,226,152,142,211,3,255,106,253,47,208,127,78,208,231,150,225,102,6,64,14,208,3,236,57,189,156,219,59,128,159,151,151,143,14,226,166,31,121,194,53,35,111,110,90,145,97,250,158,99,250,129,65,239,194,54,109,27,133,21,213,68,238,220,244,1,58,219,36,176,186,81,200,173,212,152,153,142,237,210,139,19,218,52,65,224,154,238,12,146,202,37,233,19,152,129,231,155,225,204,180,168,202,242,76,219,163,98,232,154,142,99,218,206,204,116,29,170,138,2,115,6,44,204,48,241,204,167,6,47,163,201,236,153,97,122,126,16,211,34,132,48,249,36,184,208,138,238,204,244,34,116,137,2,96,211,155,237,244,49,76,39,160,87,207,181,33,219,44,203,53,67,103,54,167,218,136,150,246,104,94,55,52,3,219,69,129,14,16,57,49,109,193,143,132,124,98,2,75,208,134,124,26,97,89,180,203,89,104,218,52,130,246,230,17,148,176,180,101,209,169,156,112,110,122,116,2,215,55,125,215,51,35,223,107,151,197,170,14,1,232,158,221,209,17,130,136,206,192,187,107,15,74,139,185,190,111,208,74,180,175,25,21,172,153,131,205,207,2,64,132,118,72,0,226,135,58,32,32,24,98,16,29,193,14,105,140,31,210,210,17,13,12,60,207,12,131,40,51,58,188,224,32,132,101,15,189,2,194,24,182,192,168,179,87,6,48,235,81,7,160,22,235,57,6,112,107,180,152,151,179,24,18,187,52,77,128,246,25,193,208,181,169,68,24,230,245,12,194,49,182,232,8,126,180,91,52,128,101,236,209,193,193,34,234,75,103,2,170,229,193,12,198,181,132,193,94,92,75,72,25,64,55,67,116,102,236,135,40,193,221,144,232,6,106,176,27,90,150,250,99,49,143,234,9,194,132,110,19,231,151,216,142,92,236,20,79,198,182,193,216,6,178,113,184,16,72,8,37,18,228,16,73,69,60,111,184,151,216,120,245,236,161,45,130,108,13,198,57,142,27,48,198,9,225,1,240,77,43,1,30,142,232,161,194,216,39,142,1,203,80,141,69,44,36,193,25,18,194,81,32,38,242,73,197,3,227,10,1,132,113,154,217,147,168,250,40,229,214,31,21,9,54,109,221,137,73,10,130,221,109,35,160,15,249,98,217,1,204,129,145,80,36,107,172,73,139,203,250,245,99,19,141,182,69,150,80,176,138,8,67,170,76,136,5,90,125,9,24,2,73,78,255,244,74,11,149,111,129,83,17,64,139,81,187,237,240,12,185,129,231,160,183,181,111,10,139,167,32,221,207,189,121,142,200,8,86,46,79,225,254,174,41,228,130,188,250,125,56,59,127,108,56,35,17,76,188,113,206,224,178,4,142,62,128,150,5,243,202,112,7,192,226,58,129,17,231,196,154,126,78,162,205,253,83,19,24,129,17,181,19,184,191,125,130,136,39,176,204,93,100,205,227,226,177,225,137,232,154,97,243,58,120,57,52,204,36,239,108,104,209,183,0,166,236,100,135,195,94,54,121,58,142,234,6,200,157,239,116,32,87,137,251,172,12,116,49,72,177,143,87,178,121,37,59,220,24,188,214,111,150,121,66,250,63,73,253,161,41,215,143,13,45,228,131,204,96,47,67,227,205,226,22,2,80,240,145,128,205,225,188,1,226,28,123,5,3,35,112,108,126,188,108,251,1,136,176,223,103,231,60,75,78,154,209,33,43,122,104,122,219,189,41,255,218,167,199,24,43,194,246,207,81,159,19,10,173,17,113,216,176,195,132,187,103,156,229,138,110,208,57,97,242,119,46,233,240,146,99,198,139,179,228,159,27,46,248,167,104,53,178,15,97,110,195,22,39,56,145,117,236,17,175,200,15,0,146,236,92,223,227,112,192,203,208,140,130,15Line truncated
|
||||
|
||||
static const unsigned char v2[] = {31,139,8,0,0,0,0,0,0,3,237,91,109,111,219,186,146,254,43,182,47,214,144,96,86,181,123,206,61,187,43,151,215,72,211,52,9,144,32,65,147,246,124,8,140,3,197,166,109,181,50,233,82,146,147,192,214,127,223,25,190,72,148,45,167,233,222,158,189,7,187,251,37,150,248,50,28,14,135,51,207,67,49,237,89,206,39,89,44,184,151,17,238,111,58,226,254,11,155,100,29,74,179,167,21,19,179,22,123,92,9,153,165,221,238,94,205,82,76,243,132,141,244,79,96,218,81,238,249,97,199,202,172,26,79,217,44,230,172,219,213,191,65,180,156,142,244,163,119,55,134,113,195,67,227,142,204,111,112,22,167,153,144,79,74,126,230,190,21,94,182,136,83,82,78,195,223,72,150,229,146,183,170,137,249,27,251,220,226,158,240,55,241,204,99,119,98,236,155,134,248,108,245,31,174,35,217,146,20,139,232,198,148,133,155,130,196,211,80,144,68,68,83,54,13,219,131,98,104,186,102,216,117,18,37,137,39,173,4,34,73,245,204,125,120,209,221,104,187,95,85,20,56,12,163,155,82,16,15,150,20,22,32,152,80,6,127,87,180,211,33,220,235,195,228,238,220,245,33,12,86,40,79,89,43,205,100,12,214,26,150,243,18,56,75,171,84,183,155,5,127,252,193,210,75,189,66,89,184,1,91,71,121,146,133,89,81,112,167,10,117,130,49,37,139,50,118,29,101,11,10,67,71,50,181,207,137,152,68,40,61,61,146,236,228,91,30,37,212,54,190,48,53,101,193,37,91,194,122,148,203,98,74,207,162,116,177,91,246,78,138,135,148,73,91,188,22,241,180,213,183,102,247,222,248,195,43,229,9,129,118,143,107,41,86,76,102,79,30,39,157,250,208,29,178,97,60,95,50,25,221,39,44,132,137,204,89,22,238,123,129,220,209,184,40,124,114,112,132,189,9,191,120,144,189,158,48,142,154,84,12,147,26,60,51,169,210,222,47,28,42,174,86,232,217,169,84,139,250,98,193,85,23,171,124,4,202,255,187,79,38,84,120,145,79,114,120,251,15,159,164,240,150,251,100,6,111,255,233,147,4,222,102,254,240,192,234,78,2,227,121,164,201,37,210,189,218,186,27,37,182,190,32,59,81,202,221,3,59,14,13,239,209,116,122,193,162,105,204,231,55,9,12,71,221,72,160,103,219,121,13,145,134,102,193,100,17,201,163,12,54,26,108,18,40,235,193,72,60,64,193,171,31,23,16,164,249,61,116,133,213,14,43,49,215,18,86,230,145,214,213,55,22,239,43,9,49,159,178,199,171,153,199,29,17,176,245,24,159,103,11,87,210,173,140,226,228,229,26,101,70,196,171,129,146,155,196,19,230,245,201,43,171,92,181,205,93,73,184,230,156,102,219,45,8,35,12,131,144,192,63,18,54,175,85,179,243,183,142,63,148,109,74,95,13,186,93,79,64,141,209,89,250,132,87,111,16,235,124,187,1,156,206,35,236,108,252,205,202,96,85,175,120,71,70,236,99,193,148,77,196,148,125,250,120,14,54,34,155,21,40,205,163,37,11,57,73,89,36,39,139,16,164,194,204,217,168,211,9,25,89,128,117,66,80,18,74,4,150,136,162,168,135,184,134,249,6,86,38,204,25,108,165,164,194,204,179,0,133,193,236,25,47,21,80,166,41,231,0,9,13,6,135,137,192,131,39,123,212,104,226,120,5,67,237,122,204,39,2,154,254,13,155,10,211,84,171,232,52,21,168,118,79,64,198,40,234,254,254,231,68,253,23,4,247,90,108,54,145,38,74,211,120,14,102,168,101,87,33,61,109,202,193,144,191,141,228,28,162,13,135,156,173,61,112,200,123,61,109,106,70,203,186,59,62,30,218,110,162,21,131,41,125,51,192,74,138,76,32,8,64,235,95,61,112,27,212,116,154,101,68,248,96,64,204,187,42,73,251,133,157,62,228,104,12,181,125,159,68,16,146,98,140,90,240,58,192,176,37,188,9,134,45,21,136,247,38,89,183,52,136,223,104,175,53,147,55,155,11,77,207,231,21,60,201,70,94,76,193,67,211,106,39,249,96,10,18,195,102,5,233,20,32,13,52,144,30,64,7,40,213,178,96,189,227,210,213,96,18,213,11,108,50,213,85,121,222,72,187,148,125,173,60,68,117,209,133,232,105,61,251,226,135,85,113,7,196,160,215,142,180,179,233,151,29,17,88,132,254,215,211,143,216,93,23,117,140,162,208,145,119,187,142,210,106,78,122,120,51,59,84,247,43,123,2,180,34,106,51,25,193,246,104,187,243,220,25,187,156,49,216,46,178,225,221,119,42,136,40,31,125,212,172,236,224,148,147,184,104,116,224,198,40,91,237,110,152,10,119,236,111,119,186,42,214,143,88,168,76,129,69,248,128,5,56,77,124,135,95,152,66,159,228,149,218,153,182,135,10,209,240,235,127,111,227,42,111,167,78,238,45,134,89,137,156,197,159,190,235,75,148,245,11,152,144,122,2,99,182,163,12,214,102,148,231,73,66,156,109,225,88,146,114,183,121,70,149,155,120,186,11,206,157,57,189,112,43,65,14,64,172,141,213,109,154,217,141,213,192,14,178,81,134,61,32,55,13,247,118,90,60,106,232,32,70,176,197,65,124,40,189,118,31,255,98,54,105,15,252,130,37,96,49,85,88,64,4,7,110,33,27,2,62,196,63,230,174,2,71,35,70,171,85,242,228,105,167,39,101,156,242,75,132,14,254,151,167,11,143,213,76,6,178,6,48,142,8,102,113,146,49,233,237,167,229,86,134,233,161,64,243,196,238,152,54,248,101,116,55,94,130,241,143,164,140,158,48,156,48,218,31,178,183,217,144,65,8,229,119,108,236,4,80,54,30,194,176,66,158,68,147,69,227,184,245,25,113,191,40,231,178,73,89,6,97,117,185,202,32,137,78,4,159,197,114,9,240,130,167,49,202,184,21,144,70,161,47,227,211,11,0,98,140,51,25,74,194,69,22,207,158,108,65,26,198,136,17,185,221,10,52,254,65,136,54,137,248,167,148,189,191,186,164,109,175,147,115,141,95,167,213,2,63,0,100,16,15,219,109,91,63,4,83,49,81,243,222,47,Line truncated
|
||||
|
||||
static const unsigned char v3[] = {31,139,8,0,0,0,0,0,0,3,109,83,201,110,219,48,16,189,231,43,166,188,240,208,136,218,23,7,162,129,52,205,161,135,162,61,180,69,123,100,36,218,98,194,197,37,105,43,254,251,82,150,237,36,78,1,129,51,122,243,102,33,103,166,253,240,249,219,221,143,63,223,239,97,240,74,46,175,218,73,128,100,122,77,17,215,8,58,201,156,163,104,136,86,91,41,225,97,29,141,131,240,28,45,175,0,218,129,179,126,82,130,234,133,151,124,217,198,179,156,49,197,61,131,110,96,214,113,79,209,214,175,162,6,65,252,218,56,120,191,137,248,223,173,216,81,244,59,250,121,27,221,25,181,97,94,60,72,30,50,27,237,185,14,158,95,238,41,239,215,252,194,87,51,197,41,218,9,62,110,140,245,175,232,163,232,253,64,123,190,19,29,143,14,63,215,32,180,240,130,201,200,117,76,114,154,146,228,37,152,20,250,9,44,151,20,137,16,2,129,223,111,66,92,161,216,154,199,110,183,254,248,172,36,130,193,242,21,69,61,243,236,230,141,229,186,13,10,4,69,59,138,167,219,220,196,241,56,142,100,204,137,177,235,56,75,146,100,162,98,88,9,41,41,214,70,115,12,83,205,159,204,51,197,9,36,144,21,225,195,224,188,53,79,199,114,41,78,73,121,130,40,238,182,214,134,139,221,25,105,44,94,66,27,30,104,56,241,67,241,188,99,27,138,173,217,234,30,191,134,31,141,208,103,188,167,248,107,90,144,166,172,33,173,73,210,100,44,203,73,83,52,112,20,161,146,164,36,69,89,68,41,201,211,219,134,44,170,26,230,51,152,210,180,129,5,169,203,93,68,234,95,139,219,10,170,131,67,5,139,93,64,217,37,59,202,66,140,12,42,146,100,89,151,146,58,207,73,85,64,78,202,10,194,203,55,37,76,153,74,152,50,169,146,212,105,1,9,203,10,146,5,236,40,14,81,142,166,51,37,135,60,24,210,179,1,135,22,66,59,61,239,242,162,155,115,183,166,118,184,208,15,235,148,35,138,199,34,204,135,157,79,210,57,135,230,166,59,191,151,220,13,156,251,99,144,54,62,141,117,251,96,250,253,219,5,64,97,196,39,244,96,118,157,21,27,15,206,118,47,201,186,94,19,207,132,28,133,238,67,18,210,25,53,249,204,212,247,94,194,121,99,247,68,9,77,30,221,255,137,243,60,42,211,111,167,165,56,184,41,246,142,31,170,62,172,239,63,221,71,42,213,207,3,0,0,0};
|
||||
|
||||
static const unsigned char v4[] = {31,139,8,0,0,0,0,0,0,3,189,91,233,114,219,72,146,254,239,167,168,230,184,155,164,155,0,9,82,151,105,81,29,62,219,158,112,219,14,75,118,108,143,66,225,6,137,34,137,22,174,0,64,145,28,13,223,105,159,97,159,108,191,204,194,81,32,33,74,125,236,206,168,105,28,85,89,89,89,121,124,153,85,232,118,133,248,240,241,226,245,80,60,255,244,78,76,108,207,75,132,191,72,82,145,164,118,156,138,165,155,206,69,211,142,220,110,83,184,129,8,99,71,198,34,13,69,34,227,27,41,210,185,20,118,20,9,59,21,118,176,22,95,62,191,123,244,168,185,72,36,58,199,238,36,109,62,123,228,250,81,8,50,183,98,222,17,177,12,208,187,35,208,224,60,181,83,201,87,175,167,83,57,73,249,242,179,156,118,196,60,245,189,142,248,28,46,82,12,180,17,211,56,244,133,104,154,221,241,34,112,60,105,254,158,232,68,223,77,194,32,233,136,247,225,204,13,58,226,92,166,169,27,204,58,226,197,34,77,67,122,128,81,58,34,117,163,151,161,23,198,104,200,255,74,167,35,62,132,169,59,117,39,118,234,82,187,79,54,250,103,215,95,34,47,180,157,55,174,39,21,149,156,7,176,48,9,49,110,32,131,52,81,108,60,162,209,83,26,61,20,35,17,197,97,148,136,209,25,207,224,183,211,228,102,38,38,158,157,36,163,199,183,252,202,228,187,141,88,249,94,144,140,26,243,52,141,134,221,238,114,185,52,151,3,51,140,103,221,126,175,215,235,162,91,67,220,184,114,249,34,92,141,26,61,209,19,86,223,60,57,230,223,195,198,217,169,35,167,201,217,105,146,174,61,121,102,122,158,49,241,18,195,186,157,186,158,55,12,192,219,51,8,62,188,150,195,127,128,86,118,109,248,46,68,233,185,248,103,104,21,15,151,174,147,206,135,61,243,48,90,61,219,156,118,21,193,211,174,34,63,19,174,51,106,188,183,215,50,254,214,111,8,199,78,109,35,176,125,153,61,19,253,70,181,141,101,212,181,178,208,42,178,161,62,74,12,141,156,91,52,29,53,126,193,132,142,250,29,203,60,233,127,61,49,159,90,207,45,243,240,164,195,63,61,252,223,234,88,248,235,153,7,39,111,15,108,203,60,56,232,240,15,191,50,44,195,28,28,63,55,143,158,226,47,107,13,233,160,73,207,51,76,188,180,250,182,121,2,202,86,214,222,180,14,13,80,250,122,104,30,30,227,205,49,254,178,110,230,201,145,129,255,222,30,152,199,131,175,199,102,255,4,175,143,240,199,175,123,29,190,57,124,251,212,60,32,138,135,248,43,94,128,226,201,225,215,129,121,112,248,188,210,5,60,91,131,206,160,99,30,31,225,175,120,200,12,218,102,255,41,254,212,67,98,19,255,209,188,158,170,31,245,152,39,247,182,111,14,158,126,37,225,144,92,142,59,252,163,88,62,232,152,253,195,183,150,181,243,162,20,232,191,26,221,189,146,39,177,42,225,126,181,118,5,143,213,96,90,111,107,135,199,224,88,26,76,252,233,193,46,7,232,128,137,130,125,208,176,171,19,179,168,239,224,216,195,172,77,203,214,164,131,199,150,101,90,7,154,20,233,209,129,121,112,156,175,72,33,120,203,80,55,160,111,13,242,229,44,133,111,168,101,57,122,75,203,162,47,52,189,161,102,95,177,146,186,106,96,33,173,67,136,1,92,177,210,148,26,69,111,6,166,101,117,170,186,215,83,179,96,1,119,103,217,127,48,217,179,223,224,13,166,139,96,66,62,68,188,149,54,252,92,235,214,131,99,88,40,215,6,175,151,200,244,124,30,46,207,93,71,142,109,186,47,111,54,109,113,251,72,192,63,166,139,56,80,254,227,209,169,227,222,228,235,55,158,25,203,57,172,24,110,213,157,92,175,225,127,35,163,39,254,109,92,30,156,92,137,213,210,152,46,60,79,140,217,55,27,99,17,173,141,190,120,124,171,209,23,63,252,32,154,145,103,28,247,155,27,145,198,118,144,184,196,168,1,103,47,156,69,204,158,207,24,244,122,234,221,52,140,253,198,25,248,209,89,136,86,32,154,141,132,1,122,194,167,159,169,39,87,2,140,249,137,49,129,95,148,49,247,67,207,177,242,157,233,58,130,59,80,55,13,17,6,19,15,252,195,33,202,27,114,148,85,137,180,248,217,119,55,237,77,62,102,42,87,169,145,120,136,20,198,65,175,151,145,6,241,199,183,236,247,77,116,74,6,69,235,185,113,212,16,221,108,252,110,126,161,77,129,153,165,31,195,18,51,59,50,86,198,1,88,240,166,6,92,162,76,39,115,225,205,134,234,249,81,57,150,214,63,150,96,197,69,212,211,8,193,197,229,67,213,12,166,75,166,24,178,102,20,116,77,34,59,168,206,219,23,219,243,135,62,205,164,67,97,216,78,134,88,97,210,171,141,54,126,149,131,185,235,56,50,160,225,198,94,56,185,166,139,185,26,126,105,68,43,126,62,51,102,177,13,109,1,113,97,199,174,109,168,62,224,32,94,200,202,212,88,234,42,32,66,131,220,212,35,47,207,234,221,16,46,22,99,148,175,137,210,249,141,182,214,249,147,82,76,221,234,42,241,63,244,3,35,218,232,118,148,43,198,237,34,246,148,189,100,134,162,226,238,7,251,230,189,27,92,35,244,182,110,153,165,14,179,2,8,17,19,144,64,39,52,207,227,113,166,206,217,192,54,183,25,53,254,241,248,150,46,54,141,92,104,234,94,140,70,212,93,252,36,154,144,145,90,129,195,158,90,143,177,183,144,198,17,108,101,22,135,139,168,41,134,162,201,207,89,146,199,120,62,15,111,100,60,172,182,85,207,114,121,31,230,157,55,74,149,148,58,12,4,158,1,32,57,134,239,136,8,214,150,171,129,7,119,2,88,99,28,137,105,24,224,137,244,221,113,232,57,186,61,208,188,11,67,88,162,37,25,67,33,240,199,74,60,155,92,232,133,212,33,240,253,94,231,198,13,61,153,26,22,77,33,49,104,18,158,189,214,46,141,48,146,193,144,189,6,11,105,101,244,10,133,161,25Line truncated
|
||||
|
||||
static const unsigned char v5[] = {45,45,45,45,45,66,69,71,73,78,32,67,69,82,84,73,70,73,67,65,84,69,45,45,45,45,45,10,77,73,73,66,67,84,67,66,115,65,73,74,65,75,57,119,98,73,68,107,72,110,65,111,77,65,111,71,67,67,113,71,83,77,52,57,66,65,77,67,77,65,48,120,67,122,65,74,66,103,78,86,66,65,89,84,65,107,108,70,77,66,52,88,10,68,84,73,122,77,68,69,121,79,84,73,120,77,106,69,122,79,70,111,88,68,84,77,122,77,68,69,121,78,106,73,120,77,106,69,122,79,70,111,119,68,84,69,76,77,65,107,71,65,49,85,69,66,104,77,67,83,85,85,119,87,84,65,84,10,66,103,99,113,104,107,106,79,80,81,73,66,66,103,103,113,104,107,106,79,80,81,77,66,66,119,78,67,65,65,82,122,83,81,83,53,79,72,100,49,55,108,85,101,78,73,43,54,107,112,57,87,89,117,48,99,120,117,69,73,105,47,74,84,10,106,112,104,98,67,109,100,74,68,49,99,85,118,104,109,122,77,57,47,112,104,118,74,84,57,107,97,49,48,90,57,116,111,90,104,103,110,66,113,48,111,48,120,102,84,81,52,106,67,49,118,119,77,65,111,71,67,67,113,71,83,77,52,57,10,66,65,77,67,65,48,103,65,77,69,85,67,73,81,67,101,48,84,50,69,48,71,79,105,86,101,57,75,119,118,73,69,80,101,88,49,74,49,74,48,84,55,84,78,97,99,103,82,48,89,97,51,51,72,86,57,86,103,73,103,78,118,100,110,10,97,69,87,105,66,112,49,120,115,104,115,52,105,122,54,87,98,112,120,114,83,49,73,72,117,99,114,113,107,90,117,74,76,102,78,90,71,90,73,61,10,45,45,45,45,45,69,78,68,32,67,69,82,84,73,70,73,67,65,84,69,45,45,45,45,45,10,0};
|
||||
|
||||
static const unsigned char v6[] = {45,45,45,45,45,66,69,71,73,78,32,69,67,32,80,82,73,86,65,84,69,32,75,69,89,45,45,45,45,45,10,77,72,99,67,65,81,69,69,73,67,66,122,51,72,79,107,81,76,80,66,68,116,100,107,110,113,67,55,107,49,80,78,115,87,106,54,72,102,104,121,78,66,53,77,101,110,102,106,109,113,105,111,111,65,111,71,67,67,113,71,83,77,52,57,10,65,119,69,72,111,85,81,68,81,103,65,69,99,48,107,69,117,84,104,51,100,101,53,86,72,106,83,80,117,112,75,102,86,109,76,116,72,77,98,104,67,73,118,121,85,52,54,89,87,119,112,110,83,81,57,88,70,76,52,90,115,122,80,102,10,54,89,98,121,85,47,90,71,116,100,71,102,98,97,71,89,89,74,119,97,116,75,78,77,88,48,48,79,73,119,116,98,56,65,61,61,10,45,45,45,45,45,69,78,68,32,69,67,32,80,82,73,86,65,84,69,32,75,69,89,45,45,45,45,45,10,0};
|
||||
|
||||
const struct mg_mem_file mg_packed_files[] = {
|
||||
{"/web_root/bundle.js.gz", v0, sizeof(v0) - 1, 1740675004},
|
||||
{"/web_root/components.js.gz", v1, sizeof(v1) - 1, 1740675004},
|
||||
{"/web_root/history.min.js.gz", v2, sizeof(v2) - 1, 1740675004},
|
||||
{"/web_root/index.html.gz", v3, sizeof(v3) - 1, 1769604192},
|
||||
{"/web_root/main.js.gz", v4, sizeof(v4) - 1, 1740675004},
|
||||
{"/certs/server_cert.pem", v5, sizeof(v5) - 1, 1740675004},
|
||||
{"/certs/server_key.pem", v6, sizeof(v6) - 1, 1740675004},
|
||||
static const struct packed_file {
|
||||
const char *name;
|
||||
const unsigned char *data;
|
||||
size_t size;
|
||||
time_t mtime;
|
||||
} packed_files[] = {
|
||||
{"/web_root/bundle.js.gz", v0, sizeof(v0) - 1, 1752671662},
|
||||
{"/web_root/components.js.gz", v1, sizeof(v1) - 1, 1752671662},
|
||||
{"/web_root/history.min.js.gz", v2, sizeof(v2) - 1, 1752671662},
|
||||
{"/web_root/index.html.gz", v3, sizeof(v3) - 1, 1753452141},
|
||||
{"/web_root/main.js.gz", v4, sizeof(v4) - 1, 1752671662},
|
||||
{"/certs/server_cert.pem", v5, sizeof(v5) - 1, 1752671662},
|
||||
{"/certs/server_key.pem", v6, sizeof(v6) - 1, 1752671662},
|
||||
{NULL, NULL, 0, 0}
|
||||
};
|
||||
|
||||
static int scmp(const char *a, const char *b) {
|
||||
while (*a && (*a == *b)) a++, b++;
|
||||
return *(const unsigned char *) a - *(const unsigned char *) b;
|
||||
}
|
||||
|
||||
const char *mg_unlist(size_t no) {
|
||||
return packed_files[no].name;
|
||||
}
|
||||
|
||||
const char *mg_unpack(const char *name, size_t *size, time_t *mtime) {
|
||||
const struct packed_file *p;
|
||||
for (p = packed_files; p->name != NULL; p++) {
|
||||
if (scmp(p->name, name) != 0) continue;
|
||||
if (size != NULL) *size = p->size;
|
||||
if (mtime != NULL) *mtime = p->mtime;
|
||||
return (const char *) p->data;
|
||||
}
|
||||
return NULL;
|
||||
};
|
||||
@@ -5,7 +5,7 @@ SOURCES = main.c mongoose.c packed_fs.c # Source code files, packed_fs.c c
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1 -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
# See tutorial at https://mongoose.ws/tutorials/http-proxy-client/
|
||||
ARGS ?= 167.235.63.238:3128 http://info.cern.ch/ # default call arguments
|
||||
|
||||
@@ -5,7 +5,7 @@ SOURCES = main.c mongoose.c packed_fs.c # Source code files, packed_fs.c c
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
CFLAGS_MONGOOSE += -DMG_IO_SIZE=128 -DMG_ENABLE_LINES=1
|
||||
CFLAGS_MONGOOSE += -DMG_IO_SIZE=128 -DMG_ENABLE_LINES=1 -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
|
||||
PROG ?= example.exe # Use .exe suffix for the binary
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#define MG_ENABLE_DRIVER_IMXRT10 1 // Enable RTxx driver
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 1 // Let user implement mg_millis()
|
||||
#define MG_ENABLE_POSIX_FS 0 // Disable POSIX filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1 // Enable packed filesystem
|
||||
|
||||
#define HTTP_URL "http://0.0.0.0"
|
||||
#define HTTPS_URL "https://0.0.0.0"
|
||||
@@ -5,7 +5,7 @@ SOURCES = main.c mongoose.c packed_fs.c # Source code files, packed_fs.c c
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1 -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
|
||||
PROG ?= example.exe # Use .exe suffix for the binary
|
||||
|
||||
@@ -5,7 +5,7 @@ SOURCES = main.c mongoose.c net.c packed_fs.c # Source code files
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
CFLAGS_MONGOOSE +=
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_PACKED_FS=1 -DMG_ENABLE_LINES=1
|
||||
|
||||
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
|
||||
PROG ?= example.exe # Use .exe suffix for the binary
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
#define MG_ARCH MG_ARCH_ESP32
|
||||
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
@@ -225,7 +225,6 @@ void uart_bridge_fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
#if 1
|
||||
opts.root_dir = "/web_root";
|
||||
opts.fs = &mg_fs_packed;
|
||||
mg_mem_files = mg_packed_files;
|
||||
#else
|
||||
opts.root_dir = "web_root";
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,43 @@
|
||||
#include "mongoose.h"
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
const char *mg_unlist(size_t no);
|
||||
const char *mg_unpack(const char *, size_t *, time_t *);
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
static const unsigned char v1[] = {
|
||||
31, 139, 8, 8, 61, 100, 194, 105, 0, 3, 109, 97, // ....=d.i..ma
|
||||
31, 139, 8, 8, 67, 234, 193, 103, 0, 3, 105, 110, // ....C..g..in
|
||||
100, 101, 120, 46, 104, 116, 109, 108, 0, 93, 144, 177, // dex.html.]..
|
||||
78, 196, 48, 12, 134, 247, 123, 138, 144, 153, 180, 176, // N.0...{.....
|
||||
49, 36, 149, 208, 245, 6, 38, 24, 64, 130, 49, 77, // 1$....&.@.1M
|
||||
124, 23, 67, 154, 148, 196, 237, 169, 111, 79, 218, 30, // |.C.....oO..
|
||||
226, 196, 100, 255, 246, 103, 203, 254, 229, 77, 251, 188, // ..d..g...M..
|
||||
127, 253, 120, 57, 48, 71, 189, 111, 118, 114, 9, 204, // ..x90G.ovr..
|
||||
235, 112, 82, 28, 2, 111, 118, 140, 73, 7, 218, 46, // .pR..ov.I...
|
||||
73, 73, 9, 201, 67, 211, 194, 132, 6, 88, 171, 179, // II..C....X..
|
||||
235, 162, 78, 86, 214, 91, 125, 99, 122, 32, 205, 140, // ..NV.[}cz ..
|
||||
211, 41, 3, 41, 62, 210, 81, 60, 112, 86, 95, 55, // .).)>.Q<pV_7
|
||||
29, 209, 32, 224, 123, 196, 73, 241, 119, 241, 246, 40, // .. .{.I.w..(
|
||||
246, 177, 31, 52, 97, 231, 129, 51, 19, 3, 65, 40, // ...4a..3..A(
|
||||
147, 79, 7, 5, 246, 4, 255, 102, 131, 238, 65, 241, // .O.....f..A.
|
||||
9, 225, 60, 196, 68, 87, 248, 25, 45, 57, 101, 215, // ..<.DW..-9e.
|
||||
211, 196, 42, 110, 25, 6, 36, 212, 94, 100, 163, 61, // ..*n..$.^d.=
|
||||
168, 251, 234, 238, 111, 153, 199, 240, 197, 18, 120, 197, // ....o.....x.
|
||||
51, 205, 30, 178, 3, 40, 219, 92, 130, 227, 165, 82, // 3....(.....R
|
||||
153, 156, 47, 184, 172, 127, 45, 144, 93, 180, 115, 35, // ../...-.].s#
|
||||
235, 53, 44, 58, 155, 132, 3, 49, 154, 135, 114, 85, // .5,:...1..rU
|
||||
31, 237, 184, 188, 144, 147, 41, 66, 99, 168, 62, 51, // ......)Bc.>3
|
||||
47, 244, 6, 21, 115, 235, 205, 228, 31, 137, 226, 92, // /...s.......
|
||||
130, 117, 1, 0, 0, 0 // .u...
|
||||
};
|
||||
static const unsigned char v2[] = {
|
||||
31, 139, 8, 8, 67, 234, 193, 103, 0, 3, 109, 97, // ....C..g..ma
|
||||
105, 110, 46, 106, 115, 0, 181, 88, 109, 111, 219, 70, // in.js..Xmo.F
|
||||
18, 254, 174, 95, 49, 80, 125, 37, 121, 165, 72, 43, // ..._1P}%y.H+
|
||||
113, 225, 131, 44, 235, 144, 6, 45, 112, 135, 38, 233, // q..,...-p.&.
|
||||
@@ -165,10 +201,10 @@ static const unsigned char v1[] = {
|
||||
106, 14, 189, 187, 24, 169, 117, 130, 89, 191, 113, 150, // j.....u.Y.q.
|
||||
114, 18, 117, 139, 172, 102, 133, 109, 199, 246, 171, 60, // r.u..f.m...<
|
||||
199, 81, 34, 226, 97, 169, 86, 130, 158, 26, 220, 113, // .Q".a.V....q
|
||||
154, 248, 11, 218, 252, 214, 171, 12, 23, 0, 0,// ...........
|
||||
154, 248, 11, 218, 252, 214, 171, 12, 23, 0, 0, 0 // ...........
|
||||
};
|
||||
static const unsigned char v2[] = {
|
||||
31, 139, 8, 8, 61, 100, 194, 105, 0, 3, 112, 114, // ....=d.i..pr
|
||||
static const unsigned char v3[] = {
|
||||
31, 139, 8, 8, 67, 234, 193, 103, 0, 3, 112, 114, // ....C..g..pr
|
||||
101, 97, 99, 116, 46, 109, 105, 110, 46, 106, 115, 0, // eact.min.js.
|
||||
157, 91, 123, 119, 219, 182, 146, 255, 127, 63, 69, 164, // .[{w.....?E.
|
||||
211, 163, 18, 43, 68, 177, 147, 182, 187, 75, 5, 213, // ...+D....K..
|
||||
@@ -611,35 +647,10 @@ static const unsigned char v2[] = {
|
||||
77, 151, 97, 116, 45, 181, 118, 45, 118, 85, 153, 107, // M.at-.v-vU.k
|
||||
232, 188, 93, 25, 184, 54, 206, 156, 124, 141, 179, 51, // ..]..6..|..3
|
||||
14, 139, 221, 126, 250, 31, 255, 11, 22, 19, 178, 116, // ...~.......t
|
||||
138, 51, 0, 0,// .3..
|
||||
};
|
||||
static const unsigned char v3[] = {
|
||||
31, 139, 8, 8, 61, 100, 194, 105, 0, 3, 105, 110, // ....=d.i..in
|
||||
100, 101, 120, 46, 104, 116, 109, 108, 0, 93, 144, 177, // dex.html.]..
|
||||
78, 196, 48, 12, 134, 247, 123, 138, 144, 153, 180, 176, // N.0...{.....
|
||||
49, 36, 149, 208, 245, 6, 38, 24, 64, 130, 49, 77, // 1$....&.@.1M
|
||||
124, 23, 67, 154, 148, 196, 237, 169, 111, 79, 218, 30, // |.C.....oO..
|
||||
226, 196, 100, 255, 246, 103, 203, 254, 229, 77, 251, 188, // ..d..g...M..
|
||||
127, 253, 120, 57, 48, 71, 189, 111, 118, 114, 9, 204, // ..x90G.ovr..
|
||||
235, 112, 82, 28, 2, 111, 118, 140, 73, 7, 218, 46, // .pR..ov.I...
|
||||
73, 73, 9, 201, 67, 211, 194, 132, 6, 88, 171, 179, // II..C....X..
|
||||
235, 162, 78, 86, 214, 91, 125, 99, 122, 32, 205, 140, // ..NV.[}cz ..
|
||||
211, 41, 3, 41, 62, 210, 81, 60, 112, 86, 95, 55, // .).)>.Q<pV_7
|
||||
29, 209, 32, 224, 123, 196, 73, 241, 119, 241, 246, 40, // .. .{.I.w..(
|
||||
246, 177, 31, 52, 97, 231, 129, 51, 19, 3, 65, 40, // ...4a..3..A(
|
||||
147, 79, 7, 5, 246, 4, 255, 102, 131, 238, 65, 241, // .O.....f..A.
|
||||
9, 225, 60, 196, 68, 87, 248, 25, 45, 57, 101, 215, // ..<.DW..-9e.
|
||||
211, 196, 42, 110, 25, 6, 36, 212, 94, 100, 163, 61, // ..*n..$.^d.=
|
||||
168, 251, 234, 238, 111, 153, 199, 240, 197, 18, 120, 197, // ....o.....x.
|
||||
51, 205, 30, 178, 3, 40, 219, 92, 130, 227, 165, 82, // 3....(.....R
|
||||
153, 156, 47, 184, 172, 127, 45, 144, 93, 180, 115, 35, // ../...-.].s#
|
||||
235, 53, 44, 58, 155, 132, 3, 49, 154, 135, 114, 85, // .5,:...1..rU
|
||||
31, 237, 184, 188, 144, 147, 41, 66, 99, 168, 62, 51, // ......)Bc.>3
|
||||
47, 244, 6, 21, 115, 235, 205, 228, 31, 137, 226, 92, // /...s.......
|
||||
130, 117, 1, 0, 0,// .u...
|
||||
138, 51, 0, 0, 0 // .3..
|
||||
};
|
||||
static const unsigned char v4[] = {
|
||||
31, 139, 8, 8, 61, 100, 194, 105, 0, 3, 115, 116, // ....=d.i..st
|
||||
31, 139, 8, 8, 67, 234, 193, 103, 0, 3, 115, 116, // ....C..g..st
|
||||
121, 108, 101, 46, 99, 115, 115, 0, 149, 85, 193, 142, // yle.css..U..
|
||||
155, 48, 16, 189, 231, 43, 92, 173, 42, 181, 171, 192, // .0...+..*...
|
||||
134, 16, 96, 33, 151, 222, 250, 17, 85, 15, 6, 155, // ..`!....U...
|
||||
@@ -707,14 +718,36 @@ static const unsigned char v4[] = {
|
||||
164, 9, 220, 6, 95, 161, 120, 245, 2, 113, 66, 79, // ...._.x..qBO
|
||||
181, 251, 194, 222, 28, 143, 16, 202, 223, 43, 229, 126, // .........+.~
|
||||
66, 50, 118, 143, 86, 46, 125, 129, 23, 255, 0, 132, // B2v.V.}.....
|
||||
122, 103, 55, 254, 7, 0, 0,// zg7....
|
||||
122, 103, 55, 254, 7, 0, 0, 0 // zg7....
|
||||
};
|
||||
|
||||
const struct mg_mem_file mg_packed_files[] = {
|
||||
{"/web_root/main.js.gz", v1, sizeof(v1), 1774347325},
|
||||
{"/web_root/preact.min.js.gz", v2, sizeof(v2), 1774347325},
|
||||
{"/web_root/index.html.gz", v3, sizeof(v3), 1774347325},
|
||||
{"/web_root/style.css.gz", v4, sizeof(v4), 1774347325},
|
||||
static const struct packed_file {
|
||||
const char *name;
|
||||
const unsigned char *data;
|
||||
size_t size;
|
||||
time_t mtime;
|
||||
} packed_files[] = {
|
||||
{"/web_root/index.html.gz", v1, sizeof(v1), 1740761667},
|
||||
{"/web_root/main.js.gz", v2, sizeof(v2), 1740761667},
|
||||
{"/web_root/preact.min.js.gz", v3, sizeof(v3), 1740761667},
|
||||
{"/web_root/style.css.gz", v4, sizeof(v4), 1740761667},
|
||||
{NULL, NULL, 0, 0}
|
||||
};
|
||||
|
||||
static int scmp(const char *a, const char *b) {
|
||||
while (*a && (*a == *b)) a++, b++;
|
||||
return *(const unsigned char *) a - *(const unsigned char *) b;
|
||||
}
|
||||
const char *mg_unlist(size_t no) {
|
||||
return packed_files[no].name;
|
||||
}
|
||||
const char *mg_unpack(const char *name, size_t *size, time_t *mtime) {
|
||||
const struct packed_file *p;
|
||||
for (p = packed_files; p->name != NULL; p++) {
|
||||
if (scmp(p->name, name) != 0) continue;
|
||||
if (size != NULL) *size = p->size - 1;
|
||||
if (mtime != NULL) *mtime = p->mtime;
|
||||
return (const char *) p->data;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -1,14 +1,16 @@
|
||||
PROG ?= ./example # Program we are building
|
||||
PACK ?= ./pack # Packing executable
|
||||
DELETE = rm -rf # Command to remove files
|
||||
OUT ?= -o $(PROG) # Compiler argument for output file
|
||||
SOURCES = main.c mongoose.c net.c packed_fs.c # Source code files
|
||||
SOURCES = main.c mongoose.c net.c # Source code files
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
# CFLAGS_MONGOOSE +=
|
||||
CFLAGS_MONGOOSE += # -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
|
||||
PROG = example.exe # Use .exe suffix for the binary
|
||||
PACK = pack.exe # Packing executable
|
||||
CC = gcc # Use MinGW gcc compiler
|
||||
CFLAGS += -lws2_32 # Link against Winsock library
|
||||
DELETE = cmd /C del /Q /F /S # Command prompt command to delete files
|
||||
@@ -22,10 +24,15 @@ web_root/bundle.js:
|
||||
curl -s https://npm.reversehttp.com/preact,preact/hooks,htm/preact,preact-router -o $@
|
||||
|
||||
packed_fs.c: $(wildcard web_root/*) Makefile web_root/bundle.js
|
||||
node pack.js $(addsuffix ::gzip, $(wildcard web_root/*)) > $@
|
||||
$(CC) ../../../test/pack.c -o $(PACK)
|
||||
$(PACK) $(wildcard web_root/*) > $@
|
||||
|
||||
$(PROG): $(SOURCES) # Build program from sources
|
||||
$(CC) $(SOURCES) $(CFLAGS) $(CFLAGS_MONGOOSE) $(CFLAGS_EXTRA) $(OUT)
|
||||
|
||||
clean: # Cleanup. Delete built program and all build artifacts
|
||||
$(DELETE) $(PROG) $(PACK) *.o *.obj *.exe *.dSYM
|
||||
|
||||
mbedtls: # Pull and build mbedTLS library. See see https://mongoose.ws/tutorials/tls/#how-to-build
|
||||
git clone --depth 1 -b v2.28.2 https://github.com/mbed-tls/mbedtls $@
|
||||
$(MAKE) -C mbedtls/library
|
||||
@@ -307,9 +307,12 @@ static void fn(struct mg_connection *c, int ev, void *ev_data) {
|
||||
} else {
|
||||
struct mg_http_serve_opts opts;
|
||||
memset(&opts, 0, sizeof(opts));
|
||||
#if MG_ENABLE_PACKED_FS
|
||||
opts.root_dir = "/web_root";
|
||||
opts.fs = &mg_fs_packed;
|
||||
mg_mem_files = mg_packed_files;
|
||||
#else
|
||||
opts.root_dir = "web_root";
|
||||
#endif
|
||||
mg_http_serve_dir(c, ev_data, &opts);
|
||||
}
|
||||
MG_DEBUG(("%lu %.*s %.*s -> %.*s", c->id, (int) hm->method.len,
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../../../test/pack.js
|
||||
File diff suppressed because it is too large.
Load diff
@@ -7,7 +7,7 @@ SOURCES = main.c mongoose.c mongoose_fs.c
|
||||
CFLAGS_EXTRA ?= -DMG_TLS=MG_TLS_BUILTIN
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
# CFLAGS_MONGOOSE +=
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
|
||||
PROG ?= client.exe # Use .exe suffix for the binary
|
||||
|
||||
@@ -5,7 +5,7 @@ SOURCES = main.c mongoose.c packed_fs.c # Source code files, packed_fs.c c
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1 -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
|
||||
PROG ?= example.exe # Use .exe suffix for the binary
|
||||
|
||||
@@ -11,7 +11,7 @@ SOURCES = main.c syscalls.c startup.c
|
||||
# Mongoose-specific source code files and build options. See https://mongoose.ws/documentation/#build-options
|
||||
SOURCES += mongoose.c
|
||||
CFLAGS += -DMG_ENABLE_TCPIP=1 -DMG_ARCH=MG_ARCH_ARMGCC -DMG_ENABLE_CUSTOM_MILLIS=1 -DMG_ENABLE_LINES=1
|
||||
CFLAGS += -DMG_ENABLE_DRIVER_SAME54=1 -DMG_ENABLE_CUSTOM_RANDOM=1 $(CFLAGS_EXTRA)
|
||||
CFLAGS += -DMG_ENABLE_DRIVER_SAME54=1 -DMG_ENABLE_CUSTOM_RANDOM=1 -DMG_ENABLE_PACKED_FS=1 $(CFLAGS_EXTRA)
|
||||
|
||||
# Example specific build options. See README.md
|
||||
CFLAGS += -DHTTP_URL=\"http://0.0.0.0/\"
|
||||
|
||||
@@ -5,7 +5,7 @@ SOURCES = main.c mongoose.c packed_fs.c # Source code files, packed_fs.c c
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1 -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
|
||||
PROG ?= example.exe # Use .exe suffix for the binary
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_DRIVER_NXP_WIFI 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_ENABLE_TCPIP_DRIVER_INIT 0
|
||||
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#define MG_ARCH MG_ARCH_FREERTOS
|
||||
|
||||
#define MG_ENABLE_LWIP 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
|
||||
#define HTTP_URL "http://0.0.0.0:80"
|
||||
|
||||
@@ -4,3 +4,4 @@
|
||||
#define MG_ARCH MG_ARCH_FREERTOS
|
||||
|
||||
#define MG_ENABLE_LWIP 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
@@ -6,4 +6,5 @@
|
||||
#define MG_ENABLE_DRIVER_IMXRT10 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 1
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_DRIVER_PICO_W 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// For static IP configuration, define MG_TCPIP_{IP,MASK,GW}
|
||||
// By default, those are set to zero, meaning that DHCP is used
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
#define MG_ARCH MG_ARCH_PICOSDK
|
||||
|
||||
#define MG_ENABLE_LWIP 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
@@ -2,3 +2,4 @@
|
||||
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_TCPIP_DRIVER_INIT 0
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
@@ -2,3 +2,4 @@
|
||||
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_TCPIP_DRIVER_INIT 0
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
@@ -2,3 +2,4 @@
|
||||
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_TCPIP_DRIVER_INIT 0
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
@@ -1,3 +1,4 @@
|
||||
#define MG_ARCH MG_ARCH_PICOSDK
|
||||
|
||||
#define MG_ENABLE_LWIP 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
@@ -3,3 +3,4 @@
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_DRIVER_CYW 1
|
||||
#define MG_ENABLE_TCPIP_DRIVER_INIT 0
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
@@ -6,5 +6,6 @@
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 1
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 0
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_ENABLE_DRIVER_RA6 1
|
||||
//#define MG_ENABLE_LINES 1
|
||||
@@ -5,7 +5,7 @@ SOURCES = main.c mongoose.c packed_fs.c # Source code files, packed_fs.c c
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1 -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
|
||||
PROG ?= example.exe # Use .exe suffix for the binary
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#define MG_STMPACK_ARCH MG_ARCH_ARMGCC
|
||||
#endif
|
||||
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 0
|
||||
#define MG_ENABLE_MBEDTLS 0
|
||||
#define MG_ARCH MG_ARCH_FREERTOS
|
||||
@@ -24,6 +25,8 @@
|
||||
#define MG_ENABLE_RL 1
|
||||
#endif
|
||||
|
||||
#if MG_ENABLE_PACKED_FS
|
||||
#define MG_ENABLE_POSIX_FS 0
|
||||
#endif
|
||||
|
||||
// See https://mongoose.ws/documentation/#build-options
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -6,5 +6,6 @@
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 1
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_IO_SIZE 512
|
||||
#define MG_ENABLE_LINES 1
|
||||
@@ -7,6 +7,7 @@
|
||||
#define MG_STMPACK_ARCH MG_ARCH_ARMGCC
|
||||
#endif
|
||||
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 0
|
||||
#define MG_ENABLE_MBEDTLS 0
|
||||
#define MG_ARCH MG_ARCH_FREERTOS
|
||||
@@ -24,6 +25,8 @@
|
||||
#define MG_ENABLE_RL 1
|
||||
#endif
|
||||
|
||||
#if MG_ENABLE_PACKED_FS
|
||||
#define MG_ENABLE_POSIX_FS 0
|
||||
#endif
|
||||
|
||||
// See https://mongoose.ws/documentation/#build-options
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
|
||||
// <q> Enable packed (embedded) filesystem
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 1
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_ENABLE_DRIVER_CMSIS 1
|
||||
#define MG_ENABLE_LINES 1
|
||||
|
||||
@@ -6,5 +6,6 @@
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 1
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_IO_SIZE 512
|
||||
#define MG_ENABLE_LINES 1
|
||||
@@ -6,4 +6,5 @@
|
||||
#define MG_ENABLE_FREERTOS_TCP 1
|
||||
#define MG_ENABLE_DRIVER_STM32F 1
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
|
||||
@@ -8,5 +8,6 @@
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 1
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_ENABLE_DRIVER_CYW_SDIO 1
|
||||
#define MG_ENABLE_TCPIP_DRIVER_INIT 0
|
||||
@@ -6,5 +6,6 @@
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 1
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_ENABLE_DRIVER_CYW 1
|
||||
#define MG_ENABLE_TCPIP_DRIVER_INIT 0
|
||||
@@ -6,5 +6,6 @@
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 1
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_ENABLE_DRIVER_CYW 1
|
||||
#define MG_ENABLE_TCPIP_DRIVER_INIT 0
|
||||
@@ -5,7 +5,7 @@ SOURCES = main.c mongoose.c net.c packed_fs.c # Source code files
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
# CFLAGS_MONGOOSE +=
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
|
||||
PROG = example.exe # Use .exe suffix for the binary
|
||||
|
||||
@@ -279,5 +279,4 @@ void web_init(struct mg_mgr *mgr) {
|
||||
mg_http_listen(mgr, HTTPS_URL, fn, (void *) 1);
|
||||
mg_timer_add(mgr, 10 * 60 * 1000, MG_TIMER_RUN_NOW | MG_TIMER_REPEAT,
|
||||
timer_sntp_fn, mgr);
|
||||
mg_mem_files = mg_packed_files; // Use generated packed filesystem
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
../../../test/pack.js
|
||||
../../http/device-dashboard/pack.js
|
||||
@@ -1,26 +1,64 @@
|
||||
// DO NOT EDIT. This file is generated using this command:
|
||||
// /opt/homebrew/Cellar/node/25.6.1_1/bin/node /Users/cpq/src/mongoose/tutorials/tcp/modbus-dashboard/pack.js web_root/bundle.js::gzip web_root/history.min.js::gzip web_root/index.html::gzip web_root/main.js::gzip certs/server_cert.pem certs/server_key.pem
|
||||
// /usr/local/lib/nodejs/node-v18.16.1-linux-x64/bin/node /home/scaprile/work/cesanta/mongoose/tutorials/tcp/modbus-dashboard/pack.js web_root/bundle.js::gzip web_root/history.min.js::gzip web_root/index.html::gzip web_root/main.js::gzip certs/server_cert.pem certs/server_key.pem
|
||||
|
||||
#include "mongoose.h"
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
|
||||
static const unsigned char v0[] = {31,139,8,0,0,0,0,0,0,19,173,60,139,114,219,56,146,191,18,105,83,90,98,132,200,118,102,178,119,71,25,81,37,30,79,156,153,60,188,118,30,187,171,209,170,40,10,178,56,166,64,153,132,228,120,76,221,183,95,119,227,65,82,166,231,246,182,174,42,17,65,60,27,141,126,163,233,109,148,63,81,92,115,201,167,60,231,25,79,248,134,167,60,22,247,59,30,137,241,132,23,226,32,138,19,93,202,111,193,40,44,202,171,82,149,235,242,41,43,243,245,178,188,202,147,121,153,221,22,229,74,197,165,210,183,101,162,228,56,94,78,202,223,179,172,252,103,150,207,203,68,203,60,58,72,134,139,141,138,117,146,169,39,139,0,22,99,247,139,44,15,182,176,178,124,146,168,39,154,169,177,156,8,13,63,195,92,234,77,174,158,168,157,31,177,14,20,187,199,190,90,168,193,58,202,165,210,31,178,185,28,234,94,79,15,114,185,202,182,242,100,153,164,115,232,86,13,90,6,180,35,51,208,110,11,182,52,196,117,19,92,83,178,238,181,188,235,10,145,140,114,33,199,201,36,236,230,114,65,239,153,121,223,192,15,149,134,201,34,136,242,171,205,10,86,46,6,169,84,87,122,249,242,121,175,23,108,6,49,46,12,16,137,7,237,223,143,212,32,142,210,180,26,201,159,179,112,202,120,215,193,8,107,233,187,181,204,22,79,96,39,106,147,166,29,161,7,115,185,136,54,169,62,207,179,117,193,60,176,123,245,219,44,153,63,57,20,66,32,136,8,7,66,218,236,3,53,204,225,114,14,184,216,208,217,226,42,53,36,1,202,220,161,27,68,1,138,16,164,80,241,53,78,18,78,57,224,40,204,57,96,38,204,248,116,122,29,226,12,80,112,207,89,120,8,191,210,189,206,67,3,26,20,99,87,183,52,133,56,83,133,206,55,177,206,242,170,211,150,218,16,231,253,190,12,147,157,63,125,83,91,161,101,171,224,196,241,188,169,16,108,24,223,84,219,216,6,236,222,12,188,143,55,57,210,7,77,187,171,122,172,144,132,220,220,254,208,170,246,59,67,148,122,153,20,3,218,185,128,119,124,1,168,181,252,166,133,174,250,94,153,190,64,19,6,74,205,252,196,211,233,8,90,225,193,241,7,254,93,15,18,53,151,223,62,66,95,214,63,98,4,214,208,147,254,80,31,43,234,100,72,102,168,251,125,102,167,237,136,64,10,106,28,235,9,115,120,144,80,33,221,114,244,98,17,214,66,83,106,128,5,132,199,44,91,109,96,230,249,137,203,97,181,158,162,245,252,90,248,18,27,62,197,162,129,38,30,204,162,2,138,120,160,90,28,254,155,27,184,127,48,161,217,203,44,151,209,245,206,110,15,161,172,157,224,53,2,29,116,112,204,28,40,158,158,162,115,8,51,231,131,245,166,88,66,115,175,215,57,129,234,188,223,47,203,172,35,136,33,102,25,76,32,47,36,156,66,158,168,43,232,19,4,89,107,75,89,38,44,56,169,49,199,73,96,176,228,100,35,138,16,32,99,58,190,124,80,100,185,6,50,28,42,1,229,101,178,208,1,27,50,7,157,134,74,131,18,62,21,150,216,51,87,72,69,144,16,114,24,244,222,226,143,228,65,76,40,56,71,248,166,40,116,1,200,69,0,18,56,97,212,75,36,248,219,63,226,159,130,24,192,200,56,246,86,220,204,8,91,141,7,217,173,146,249,229,151,55,167,169,68,97,195,13,190,113,216,114,52,78,39,150,25,185,33,217,20,200,34,97,97,202,169,157,241,139,96,10,43,209,155,236,136,180,215,155,65,51,227,110,19,47,53,98,217,238,152,13,9,201,226,176,194,212,183,224,161,254,40,12,242,22,124,205,151,124,203,239,248,140,95,243,19,49,237,245,136,47,202,50,226,223,196,137,35,28,196,41,110,233,26,247,190,0,194,90,28,107,223,214,32,170,45,33,234,122,188,152,8,179,23,168,209,240,6,231,215,157,101,89,42,163,26,15,108,161,242,33,103,108,71,56,50,236,130,56,130,131,111,246,86,155,213,76,230,205,186,89,114,149,40,93,31,63,39,104,96,91,244,48,101,22,190,202,243,232,110,144,20,244,12,182,12,186,173,248,189,19,54,225,118,87,235,78,130,56,220,194,86,102,47,15,161,227,150,184,149,111,141,244,129,39,200,93,248,5,185,59,162,95,115,126,91,162,152,112,203,72,252,224,155,144,84,57,35,172,204,128,64,12,82,68,176,20,39,6,43,203,94,143,102,19,98,137,15,124,195,165,4,190,99,129,97,63,75,155,67,153,22,242,9,30,198,26,206,96,125,252,109,184,6,228,227,90,52,223,26,25,249,143,39,187,199,94,110,54,195,207,75,58,168,221,39,32,146,45,95,138,101,89,198,13,58,225,119,98,107,152,96,45,104,175,176,200,18,159,29,177,6,118,0,82,9,144,44,24,167,202,94,239,218,240,59,189,57,220,115,91,185,38,108,196,101,9,200,3,2,54,52,115,55,178,146,122,6,211,205,196,93,171,10,54,27,193,13,33,21,226,126,224,57,218,146,152,73,197,105,176,5,88,65,146,166,226,179,217,7,63,1,154,78,91,167,146,118,42,162,104,24,205,96,24,110,9,101,30,50,87,90,51,98,64,206,66,199,84,92,5,75,6,178,199,178,129,20,51,224,130,111,195,197,179,103,32,84,104,19,120,74,208,243,15,150,171,250,225,12,189,158,43,9,162,141,185,135,231,85,48,101,3,5,74,237,50,153,165,40,249,248,215,0,251,114,34,24,134,26,225,154,44,15,195,135,215,117,62,124,31,32,231,241,235,113,191,239,31,53,145,121,106,4,65,101,221,129,68,48,74,0,196,223,225,48,239,245,178,99,39,84,134,25,204,7,194,46,31,103,19,18,123,72,205,48,92,180,108,113,106,116,217,41,136,41,156,62,252,28,160,176,65,113,51,37,202,209,204,219,58,53,69,125,102,20,181,107,16,186,44,65,186,24,82,80,109,226,2,42,131,38,19,43,6,86,92,145,173,100,16,184,105,81,15,153,153,119,112,176,218,41,31,198,107,43,127,174,11,68,35,8,137,218,17,183,94,102,107,60,13,150,152,39,167,223,6,27,122,3,67,150,1Line truncated
|
||||
#if defined(__cplusplus)
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
static const unsigned char v1[] = {31,139,8,0,0,0,0,0,0,19,237,91,109,111,219,186,146,254,43,182,47,214,144,96,86,181,123,206,61,187,43,151,215,72,211,52,9,144,32,65,147,246,124,8,140,3,197,166,109,181,50,233,82,146,147,192,214,127,223,25,190,72,148,45,167,233,222,158,189,7,187,251,37,150,248,50,28,14,135,51,207,67,49,237,89,206,39,89,44,184,151,17,238,111,58,226,254,11,155,100,29,74,179,167,21,19,179,22,123,92,9,153,165,221,238,94,205,82,76,243,132,141,244,79,96,218,81,238,249,97,199,202,172,26,79,217,44,230,172,219,213,191,65,180,156,142,244,163,119,55,134,113,195,67,227,142,204,111,112,22,167,153,144,79,74,126,230,190,21,94,182,136,83,82,78,195,223,72,150,229,146,183,170,137,249,27,251,220,226,158,240,55,241,204,99,119,98,236,155,134,248,108,245,31,174,35,217,146,20,139,232,198,148,133,155,130,196,211,80,144,68,68,83,54,13,219,131,98,104,186,102,216,117,18,37,137,39,173,4,34,73,245,204,125,120,209,221,104,187,95,85,20,56,12,163,155,82,16,15,150,20,22,32,152,80,6,127,87,180,211,33,220,235,195,228,238,220,245,33,12,86,40,79,89,43,205,100,12,214,26,150,243,18,56,75,171,84,183,155,5,127,252,193,210,75,189,66,89,184,1,91,71,121,146,133,89,81,112,167,10,117,130,49,37,139,50,118,29,101,11,10,67,71,50,181,207,137,152,68,40,61,61,146,236,228,91,30,37,212,54,190,48,53,101,193,37,91,194,122,148,203,98,74,207,162,116,177,91,246,78,138,135,148,73,91,188,22,241,180,213,183,102,247,222,248,195,43,229,9,129,118,143,107,41,86,76,102,79,30,39,157,250,208,29,178,97,60,95,50,25,221,39,44,132,137,204,89,22,238,123,129,220,209,184,40,124,114,112,132,189,9,191,120,144,189,158,48,142,154,84,12,147,26,60,51,169,210,222,47,28,42,174,86,232,217,169,84,139,250,98,193,85,23,171,124,4,202,255,187,79,38,84,120,145,79,114,120,251,15,159,164,240,150,251,100,6,111,255,233,147,4,222,102,254,240,192,234,78,2,227,121,164,201,37,210,189,218,186,27,37,182,190,32,59,81,202,221,3,59,14,13,239,209,116,122,193,162,105,204,231,55,9,12,71,221,72,160,103,219,121,13,145,134,102,193,100,17,201,163,12,54,26,108,18,40,235,193,72,60,64,193,171,31,23,16,164,249,61,116,133,213,14,43,49,215,18,86,230,145,214,213,55,22,239,43,9,49,159,178,199,171,153,199,29,17,176,245,24,159,103,11,87,210,173,140,226,228,229,26,101,70,196,171,129,146,155,196,19,230,245,201,43,171,92,181,205,93,73,184,230,156,102,219,45,8,35,12,131,144,192,63,18,54,175,85,179,243,183,142,63,148,109,74,95,13,186,93,79,64,141,209,89,250,132,87,111,16,235,124,187,1,156,206,35,236,108,252,205,202,96,85,175,120,71,70,236,99,193,148,77,196,148,125,250,120,14,54,34,155,21,40,205,163,37,11,57,73,89,36,39,139,16,164,194,204,217,168,211,9,25,89,128,117,66,80,18,74,4,150,136,162,168,135,184,134,249,6,86,38,204,25,108,165,164,194,204,179,0,133,193,236,25,47,21,80,166,41,231,0,9,13,6,135,137,192,131,39,123,212,104,226,120,5,67,237,122,204,39,2,154,254,13,155,10,211,84,171,232,52,21,168,118,79,64,198,40,234,254,254,231,68,253,23,4,247,90,108,54,145,38,74,211,120,14,102,168,101,87,33,61,109,202,193,144,191,141,228,28,162,13,135,156,173,61,112,200,123,61,109,106,70,203,186,59,62,30,218,110,162,21,131,41,125,51,192,74,138,76,32,8,64,235,95,61,112,27,212,116,154,101,68,248,96,64,204,187,42,73,251,133,157,62,228,104,12,181,125,159,68,16,146,98,140,90,240,58,192,176,37,188,9,134,45,21,136,247,38,89,183,52,136,223,104,175,53,147,55,155,11,77,207,231,21,60,201,70,94,76,193,67,211,106,39,249,96,10,18,195,102,5,233,20,32,13,52,144,30,64,7,40,213,178,96,189,227,210,213,96,18,213,11,108,50,213,85,121,222,72,187,148,125,173,60,68,117,209,133,232,105,61,251,226,135,85,113,7,196,160,215,142,180,179,233,151,29,17,88,132,254,215,211,143,216,93,23,117,140,162,208,145,119,187,142,210,106,78,122,120,51,59,84,247,43,123,2,180,34,106,51,25,193,246,104,187,243,220,25,187,156,49,216,46,178,225,221,119,42,136,40,31,125,212,172,236,224,148,147,184,104,116,224,198,40,91,237,110,152,10,119,236,111,119,186,42,214,143,88,168,76,129,69,248,128,5,56,77,124,135,95,152,66,159,228,149,218,153,182,135,10,209,240,235,127,111,227,42,111,167,78,238,45,134,89,137,156,197,159,190,235,75,148,245,11,152,144,122,2,99,182,163,12,214,102,148,231,73,66,156,109,225,88,146,114,183,121,70,149,155,120,186,11,206,157,57,189,112,43,65,14,64,172,141,213,109,154,217,141,213,192,14,178,81,134,61,32,55,13,247,118,90,60,106,232,32,70,176,197,65,124,40,189,118,31,255,98,54,105,15,252,130,37,96,49,85,88,64,4,7,110,33,27,2,62,196,63,230,174,2,71,35,70,171,85,242,228,105,167,39,101,156,242,75,132,14,254,151,167,11,143,213,76,6,178,6,48,142,8,102,113,146,49,233,237,167,229,86,134,233,161,64,243,196,238,152,54,248,101,116,55,94,130,241,143,164,140,158,48,156,48,218,31,178,183,217,144,65,8,229,119,108,236,4,80,54,30,194,176,66,158,68,147,69,227,184,245,25,113,191,40,231,178,73,89,6,97,117,185,202,32,137,78,4,159,197,114,9,240,130,167,49,202,184,21,144,70,161,47,227,211,11,0,98,140,51,25,74,194,69,22,207,158,108,65,26,198,136,17,185,221,10,52,254,65,136,54,137,248,167,148,189,191,186,164,109,175,147,115,141,95,167,213,2,63,0,100,16,15,219,109,91,63,4,83,49,81,243,222,47Line truncated
|
||||
const char *mg_unlist(size_t no);
|
||||
const char *mg_unpack(const char *, size_t *, time_t *);
|
||||
|
||||
static const unsigned char v2[] = {31,139,8,0,0,0,0,0,0,19,109,83,201,110,219,48,16,189,231,43,166,188,240,208,136,218,23,7,162,129,52,205,161,135,162,61,180,69,123,100,36,218,98,194,197,37,105,43,254,251,82,150,237,36,78,1,129,51,122,243,102,33,103,166,253,240,249,219,221,143,63,223,239,97,240,74,46,175,218,73,128,100,122,77,17,215,8,58,201,156,163,104,136,86,91,41,225,97,29,141,131,240,28,45,175,0,218,129,179,126,82,130,234,133,151,124,217,198,179,156,49,197,61,131,110,96,214,113,79,209,214,175,162,6,65,252,218,56,120,191,137,248,223,173,216,81,244,59,250,121,27,221,25,181,97,94,60,72,30,50,27,237,185,14,158,95,238,41,239,215,252,194,87,51,197,41,218,9,62,110,140,245,175,232,163,232,253,64,123,190,19,29,143,14,63,215,32,180,240,130,201,200,117,76,114,154,146,228,37,152,20,250,9,44,151,20,137,16,2,129,223,111,66,92,161,216,154,199,110,183,254,248,172,36,130,193,242,21,69,61,243,236,230,141,229,186,13,10,4,69,59,138,167,219,220,196,241,56,142,100,204,137,177,235,56,75,146,100,162,98,88,9,41,41,214,70,115,12,83,205,159,204,51,197,9,36,144,21,225,195,224,188,53,79,199,114,41,78,73,121,130,40,238,182,214,134,139,221,25,105,44,94,66,27,30,104,56,241,67,241,188,99,27,138,173,217,234,30,191,134,31,141,208,103,188,167,248,107,90,144,166,172,33,173,73,210,100,44,203,73,83,52,112,20,161,146,164,36,69,89,68,41,201,211,219,134,44,170,26,230,51,152,210,180,129,5,169,203,93,68,234,95,139,219,10,170,131,67,5,139,93,64,217,37,59,202,66,140,12,42,146,100,89,151,146,58,207,73,85,64,78,202,10,194,203,55,37,76,153,74,152,50,169,146,212,105,1,9,203,10,146,5,236,40,14,81,142,166,51,37,135,60,24,210,179,1,135,22,66,59,61,239,242,162,155,115,183,166,118,184,208,15,235,148,35,138,199,34,204,135,157,79,210,57,135,230,166,59,191,151,220,13,156,251,99,144,54,62,141,117,251,96,250,253,219,5,64,97,196,39,244,96,118,157,21,27,15,206,118,47,201,186,94,19,207,132,28,133,238,67,18,210,25,53,249,204,212,247,94,194,121,99,247,68,9,77,30,221,255,137,243,60,42,211,111,167,165,56,184,41,246,142,31,170,62,172,239,63,221,71,42,213,207,3,0,0,0};
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
static const unsigned char v3[] = {31,139,8,0,0,0,0,0,0,19,221,124,251,119,219,70,150,230,239,254,43,170,217,217,33,181,33,32,188,73,202,150,250,184,157,228,200,115,236,164,215,118,123,103,215,235,77,32,18,34,25,131,4,7,0,245,136,154,255,251,124,223,173,194,139,162,100,103,58,57,167,79,18,153,44,212,227,214,173,251,46,212,45,30,31,43,245,253,15,239,190,61,81,207,255,246,82,77,227,52,45,212,106,91,148,170,40,227,188,84,215,203,114,161,250,241,102,121,220,87,203,181,202,242,89,146,171,50,83,69,146,95,37,170,92,36,42,222,108,84,92,170,120,125,171,254,254,230,229,147,39,253,109,145,96,112,190,156,150,253,167,79,150,171,77,6,48,119,106,49,84,121,178,198,232,161,66,135,183,101,92,38,82,250,246,242,50,153,150,82,124,147,92,14,213,162,92,165,67,245,38,219,150,152,104,167,46,243,108,165,84,223,62,190,216,174,103,105,98,255,92,0,232,147,105,182,6,134,47,249,165,78,213,221,19,165,166,217,252,68,109,242,108,131,138,51,1,242,211,179,226,106,174,166,105,92,20,167,95,221,73,147,45,79,59,117,179,74,215,197,105,111,81,150,155,147,227,227,235,235,107,251,218,183,179,124,126,236,57,142,115,140,97,61,117,185,76,211,211,222,58,91,39,61,117,181,76,174,255,154,221,156,246,28,229,40,47,192,95,143,11,204,62,37,214,245,114,86,46,78,123,174,29,86,85,167,189,233,54,199,74,203,23,89,154,229,189,51,245,108,19,131,132,166,127,186,92,39,211,120,115,218,203,51,172,167,215,174,254,57,91,174,235,250,217,105,239,245,196,14,39,129,242,237,73,48,181,157,137,101,135,129,103,135,145,133,103,229,218,174,203,194,2,53,19,127,106,135,33,48,115,109,199,179,253,201,88,90,209,152,218,158,235,227,193,27,187,0,16,249,182,63,10,108,223,245,237,104,28,217,81,16,218,227,145,237,160,202,9,108,55,64,113,236,219,158,103,187,222,200,246,61,84,77,34,123,228,217,94,56,34,224,81,136,134,32,5,48,119,100,217,65,24,197,152,196,11,149,254,4,93,48,163,63,178,131,9,187,76,34,133,129,193,232,94,31,203,246,34,60,6,190,155,90,0,234,248,246,216,27,77,81,59,193,212,1,224,250,99,59,114,125,22,176,128,137,23,3,133,112,162,244,39,1,56,10,8,133,24,225,56,192,114,52,182,93,140,0,110,1,168,196,169,29,7,171,242,198,83,59,192,10,252,208,14,253,192,158,132,65,53,45,103,245,64,160,7,176,195,18,162,9,214,32,216,85,11,197,100,126,24,90,152,9,120,141,80,112,70,30,145,31,69,164,8,48,4,129,228,195,44,144,20,28,115,16,150,224,142,49,38,28,99,234,9,6,70,65,96,143,163,73,106,213,124,225,66,192,229,128,189,34,112,140,40,8,235,220,133,69,206,6,232,64,214,114,62,207,34,111,173,138,243,26,138,165,185,11,48,17,219,71,160,161,239,162,4,14,203,124,22,120,76,20,61,37,31,21,138,22,185,76,28,61,46,108,130,190,88,19,89,173,23,102,9,175,53,13,14,242,90,83,202,34,187,133,162,35,235,48,69,65,119,75,179,155,172,33,54,152,22,253,57,89,128,122,80,24,236,182,185,126,205,237,137,79,76,249,41,220,182,132,219,100,54,23,55,38,19,198,154,9,122,136,150,34,129,59,62,40,108,50,123,250,24,138,20,91,75,120,206,229,70,194,113,48,60,34,191,49,19,233,225,169,134,42,194,125,104,12,85,6,53,14,84,72,147,115,12,134,179,0,37,10,199,30,33,134,134,1,224,56,32,7,154,85,191,244,212,241,63,97,18,92,160,238,197,190,242,169,238,174,21,225,75,63,56,46,202,6,56,13,216,217,79,67,24,197,229,250,50,251,163,89,69,112,140,12,228,103,10,70,128,205,142,23,211,6,140,42,134,210,212,141,67,15,26,50,114,168,235,99,63,106,117,112,170,14,126,61,220,125,237,185,164,235,68,77,52,93,221,49,190,245,19,0,226,225,151,149,53,177,40,15,11,200,219,248,138,31,231,174,247,126,12,36,238,17,253,34,75,203,63,26,209,185,116,5,77,13,83,215,177,67,75,168,255,202,133,98,224,105,65,42,188,154,176,135,231,74,63,79,186,158,115,208,61,234,44,178,85,242,71,163,142,39,18,233,165,99,250,26,139,159,48,90,129,248,179,9,77,77,232,85,197,112,226,42,231,85,69,166,215,129,29,42,18,238,10,116,132,65,154,194,189,69,104,12,157,64,181,237,148,124,158,75,71,11,46,100,132,142,86,213,209,106,117,209,229,5,209,153,178,93,98,2,212,236,3,124,239,185,139,64,38,108,247,178,154,110,26,208,123,206,248,154,220,5,99,133,203,45,102,42,225,102,17,95,253,225,184,9,39,16,42,202,238,123,150,68,202,3,210,96,132,106,214,188,103,219,10,182,225,220,29,63,23,214,203,7,77,133,231,176,20,93,185,222,94,3,108,136,180,157,71,123,13,90,177,198,239,247,235,35,193,96,129,5,114,166,133,53,185,103,101,226,188,240,255,104,164,23,106,68,178,112,16,218,88,29,79,30,86,150,240,37,4,129,228,185,75,143,29,246,4,151,219,245,180,92,102,107,245,46,185,41,223,199,233,54,25,220,93,241,107,136,205,74,121,185,30,170,217,178,136,47,210,100,54,84,155,52,158,38,139,44,149,237,72,121,187,65,159,120,54,203,214,111,150,243,69,105,202,175,146,75,22,203,18,93,86,75,12,95,197,55,0,85,38,27,20,183,105,185,59,50,27,15,110,69,62,92,204,101,154,191,206,63,98,67,82,109,112,6,253,139,185,117,189,88,150,73,255,232,41,250,214,219,157,193,224,136,76,187,83,203,75,53,224,252,234,244,84,245,215,219,213,69,146,247,143,212,116,145,76,63,1,247,193,215,50,241,215,50,243,215,178,152,163,167,106,55,84,31,62,10,60,34,163,254,241,15,12,117,251,26,41,121,114,159,214,120,85,144,128,84,69,159,65,179,152,43,189,4,165,49,223,199,86,9,118,232,173,254,237,223,212Line truncated
|
||||
static const unsigned char v0[] = {31,139,8,0,0,0,0,0,0,3,173,60,139,114,219,56,146,191,18,105,83,90,98,132,200,118,102,178,119,71,25,81,37,30,79,156,153,60,188,118,30,187,171,209,170,40,10,178,56,166,64,153,132,228,120,76,221,183,95,119,227,65,82,166,231,246,182,174,42,17,65,60,27,141,126,163,233,109,148,63,81,92,115,201,167,60,231,25,79,248,134,167,60,22,247,59,30,137,241,132,23,226,32,138,19,93,202,111,193,40,44,202,171,82,149,235,242,41,43,243,245,178,188,202,147,121,153,221,22,229,74,197,165,210,183,101,162,228,56,94,78,202,223,179,172,252,103,150,207,203,68,203,60,58,72,134,139,141,138,117,146,169,39,139,0,22,99,247,139,44,15,182,176,178,124,146,168,39,154,169,177,156,8,13,63,195,92,234,77,174,158,168,157,31,177,14,20,187,199,190,90,168,193,58,202,165,210,31,178,185,28,234,94,79,15,114,185,202,182,242,100,153,164,115,232,86,13,90,6,180,35,51,208,110,11,182,52,196,117,19,92,83,178,238,181,188,235,10,145,140,114,33,199,201,36,236,230,114,65,239,153,121,223,192,15,149,134,201,34,136,242,171,205,10,86,46,6,169,84,87,122,249,242,121,175,23,108,6,49,46,12,16,137,7,237,223,143,212,32,142,210,180,26,201,159,179,112,202,120,215,193,8,107,233,187,181,204,22,79,96,39,106,147,166,29,161,7,115,185,136,54,169,62,207,179,117,193,60,176,123,245,219,44,153,63,57,20,66,32,136,8,7,66,218,236,3,53,204,225,114,14,184,216,208,217,226,42,53,36,1,202,220,161,27,68,1,138,16,164,80,241,53,78,18,78,57,224,40,204,57,96,38,204,248,116,122,29,226,12,80,112,207,89,120,8,191,210,189,206,67,3,26,20,99,87,183,52,133,56,83,133,206,55,177,206,242,170,211,150,218,16,231,253,190,12,147,157,63,125,83,91,161,101,171,224,196,241,188,169,16,108,24,223,84,219,216,6,236,222,12,188,143,55,57,210,7,77,187,171,122,172,144,132,220,220,254,208,170,246,59,67,148,122,153,20,3,218,185,128,119,124,1,168,181,252,166,133,174,250,94,153,190,64,19,6,74,205,252,196,211,233,8,90,225,193,241,7,254,93,15,18,53,151,223,62,66,95,214,63,98,4,214,208,147,254,80,31,43,234,100,72,102,168,251,125,102,167,237,136,64,10,106,28,235,9,115,120,144,80,33,221,114,244,98,17,214,66,83,106,128,5,132,199,44,91,109,96,230,249,137,203,97,181,158,162,245,252,90,248,18,27,62,197,162,129,38,30,204,162,2,138,120,160,90,28,254,155,27,184,127,48,161,217,203,44,151,209,245,206,110,15,161,172,157,224,53,2,29,116,112,204,28,40,158,158,162,115,8,51,231,131,245,166,88,66,115,175,215,57,129,234,188,223,47,203,172,35,136,33,102,25,76,32,47,36,156,66,158,168,43,232,19,4,89,107,75,89,38,44,56,169,49,199,73,96,176,228,100,35,138,16,32,99,58,190,124,80,100,185,6,50,28,42,1,229,101,178,208,1,27,50,7,157,134,74,131,18,62,21,150,216,51,87,72,69,144,16,114,24,244,222,226,143,228,65,76,40,56,71,248,166,40,116,1,200,69,0,18,56,97,212,75,36,248,219,63,226,159,130,24,192,200,56,246,86,220,204,8,91,141,7,217,173,146,249,229,151,55,167,169,68,97,195,13,190,113,216,114,52,78,39,150,25,185,33,217,20,200,34,97,97,202,169,157,241,139,96,10,43,209,155,236,136,180,215,155,65,51,227,110,19,47,53,98,217,238,152,13,9,201,226,176,194,212,183,224,161,254,40,12,242,22,124,205,151,124,203,239,248,140,95,243,19,49,237,245,136,47,202,50,226,223,196,137,35,28,196,41,110,233,26,247,190,0,194,90,28,107,223,214,32,170,45,33,234,122,188,152,8,179,23,168,209,240,6,231,215,157,101,89,42,163,26,15,108,161,242,33,103,108,71,56,50,236,130,56,130,131,111,246,86,155,213,76,230,205,186,89,114,149,40,93,31,63,39,104,96,91,244,48,101,22,190,202,243,232,110,144,20,244,12,182,12,186,173,248,189,19,54,225,118,87,235,78,130,56,220,194,86,102,47,15,161,227,150,184,149,111,141,244,129,39,200,93,248,5,185,59,162,95,115,126,91,162,152,112,203,72,252,224,155,144,84,57,35,172,204,128,64,12,82,68,176,20,39,6,43,203,94,143,102,19,98,137,15,124,195,165,4,190,99,129,97,63,75,155,67,153,22,242,9,30,198,26,206,96,125,252,109,184,6,228,227,90,52,223,26,25,249,143,39,187,199,94,110,54,195,207,75,58,168,221,39,32,146,45,95,138,101,89,198,13,58,225,119,98,107,152,96,45,104,175,176,200,18,159,29,177,6,118,0,82,9,144,44,24,167,202,94,239,218,240,59,189,57,220,115,91,185,38,108,196,101,9,200,3,2,54,52,115,55,178,146,122,6,211,205,196,93,171,10,54,27,193,13,33,21,226,126,224,57,218,146,152,73,197,105,176,5,88,65,146,166,226,179,217,7,63,1,154,78,91,167,146,118,42,162,104,24,205,96,24,110,9,101,30,50,87,90,51,98,64,206,66,199,84,92,5,75,6,178,199,178,129,20,51,224,130,111,195,197,179,103,32,84,104,19,120,74,208,243,15,150,171,250,225,12,189,158,43,9,162,141,185,135,231,85,48,101,3,5,74,237,50,153,165,40,249,248,215,0,251,114,34,24,134,26,225,154,44,15,195,135,215,117,62,124,31,32,231,241,235,113,191,239,31,53,145,121,106,4,65,101,221,129,68,48,74,0,196,223,225,48,239,245,178,99,39,84,134,25,204,7,194,46,31,103,19,18,123,72,205,48,92,180,108,113,106,116,217,41,136,41,156,62,252,28,160,176,65,113,51,37,202,209,204,219,58,53,69,125,102,20,181,107,16,186,44,65,186,24,82,80,109,226,2,42,131,38,19,43,6,86,92,145,173,100,16,184,105,81,15,153,153,119,112,176,218,41,31,198,107,43,127,174,11,68,35,8,137,218,17,183,94,102,107,60,13,150,152,39,167,223,6,27,122,3,67,150,10Line truncated
|
||||
|
||||
static const unsigned char v1[] = {31,139,8,0,0,0,0,0,0,3,237,91,109,111,219,186,146,254,43,182,47,214,144,96,86,181,123,206,61,187,43,151,215,72,211,52,9,144,32,65,147,246,124,8,140,3,197,166,109,181,50,233,82,146,147,192,214,127,223,25,190,72,148,45,167,233,222,158,189,7,187,251,37,150,248,50,28,14,135,51,207,67,49,237,89,206,39,89,44,184,151,17,238,111,58,226,254,11,155,100,29,74,179,167,21,19,179,22,123,92,9,153,165,221,238,94,205,82,76,243,132,141,244,79,96,218,81,238,249,97,199,202,172,26,79,217,44,230,172,219,213,191,65,180,156,142,244,163,119,55,134,113,195,67,227,142,204,111,112,22,167,153,144,79,74,126,230,190,21,94,182,136,83,82,78,195,223,72,150,229,146,183,170,137,249,27,251,220,226,158,240,55,241,204,99,119,98,236,155,134,248,108,245,31,174,35,217,146,20,139,232,198,148,133,155,130,196,211,80,144,68,68,83,54,13,219,131,98,104,186,102,216,117,18,37,137,39,173,4,34,73,245,204,125,120,209,221,104,187,95,85,20,56,12,163,155,82,16,15,150,20,22,32,152,80,6,127,87,180,211,33,220,235,195,228,238,220,245,33,12,86,40,79,89,43,205,100,12,214,26,150,243,18,56,75,171,84,183,155,5,127,252,193,210,75,189,66,89,184,1,91,71,121,146,133,89,81,112,167,10,117,130,49,37,139,50,118,29,101,11,10,67,71,50,181,207,137,152,68,40,61,61,146,236,228,91,30,37,212,54,190,48,53,101,193,37,91,194,122,148,203,98,74,207,162,116,177,91,246,78,138,135,148,73,91,188,22,241,180,213,183,102,247,222,248,195,43,229,9,129,118,143,107,41,86,76,102,79,30,39,157,250,208,29,178,97,60,95,50,25,221,39,44,132,137,204,89,22,238,123,129,220,209,184,40,124,114,112,132,189,9,191,120,144,189,158,48,142,154,84,12,147,26,60,51,169,210,222,47,28,42,174,86,232,217,169,84,139,250,98,193,85,23,171,124,4,202,255,187,79,38,84,120,145,79,114,120,251,15,159,164,240,150,251,100,6,111,255,233,147,4,222,102,254,240,192,234,78,2,227,121,164,201,37,210,189,218,186,27,37,182,190,32,59,81,202,221,3,59,14,13,239,209,116,122,193,162,105,204,231,55,9,12,71,221,72,160,103,219,121,13,145,134,102,193,100,17,201,163,12,54,26,108,18,40,235,193,72,60,64,193,171,31,23,16,164,249,61,116,133,213,14,43,49,215,18,86,230,145,214,213,55,22,239,43,9,49,159,178,199,171,153,199,29,17,176,245,24,159,103,11,87,210,173,140,226,228,229,26,101,70,196,171,129,146,155,196,19,230,245,201,43,171,92,181,205,93,73,184,230,156,102,219,45,8,35,12,131,144,192,63,18,54,175,85,179,243,183,142,63,148,109,74,95,13,186,93,79,64,141,209,89,250,132,87,111,16,235,124,187,1,156,206,35,236,108,252,205,202,96,85,175,120,71,70,236,99,193,148,77,196,148,125,250,120,14,54,34,155,21,40,205,163,37,11,57,73,89,36,39,139,16,164,194,204,217,168,211,9,25,89,128,117,66,80,18,74,4,150,136,162,168,135,184,134,249,6,86,38,204,25,108,165,164,194,204,179,0,133,193,236,25,47,21,80,166,41,231,0,9,13,6,135,137,192,131,39,123,212,104,226,120,5,67,237,122,204,39,2,154,254,13,155,10,211,84,171,232,52,21,168,118,79,64,198,40,234,254,254,231,68,253,23,4,247,90,108,54,145,38,74,211,120,14,102,168,101,87,33,61,109,202,193,144,191,141,228,28,162,13,135,156,173,61,112,200,123,61,109,106,70,203,186,59,62,30,218,110,162,21,131,41,125,51,192,74,138,76,32,8,64,235,95,61,112,27,212,116,154,101,68,248,96,64,204,187,42,73,251,133,157,62,228,104,12,181,125,159,68,16,146,98,140,90,240,58,192,176,37,188,9,134,45,21,136,247,38,89,183,52,136,223,104,175,53,147,55,155,11,77,207,231,21,60,201,70,94,76,193,67,211,106,39,249,96,10,18,195,102,5,233,20,32,13,52,144,30,64,7,40,213,178,96,189,227,210,213,96,18,213,11,108,50,213,85,121,222,72,187,148,125,173,60,68,117,209,133,232,105,61,251,226,135,85,113,7,196,160,215,142,180,179,233,151,29,17,88,132,254,215,211,143,216,93,23,117,140,162,208,145,119,187,142,210,106,78,122,120,51,59,84,247,43,123,2,180,34,106,51,25,193,246,104,187,243,220,25,187,156,49,216,46,178,225,221,119,42,136,40,31,125,212,172,236,224,148,147,184,104,116,224,198,40,91,237,110,152,10,119,236,111,119,186,42,214,143,88,168,76,129,69,248,128,5,56,77,124,135,95,152,66,159,228,149,218,153,182,135,10,209,240,235,127,111,227,42,111,167,78,238,45,134,89,137,156,197,159,190,235,75,148,245,11,152,144,122,2,99,182,163,12,214,102,148,231,73,66,156,109,225,88,146,114,183,121,70,149,155,120,186,11,206,157,57,189,112,43,65,14,64,172,141,213,109,154,217,141,213,192,14,178,81,134,61,32,55,13,247,118,90,60,106,232,32,70,176,197,65,124,40,189,118,31,255,98,54,105,15,252,130,37,96,49,85,88,64,4,7,110,33,27,2,62,196,63,230,174,2,71,35,70,171,85,242,228,105,167,39,101,156,242,75,132,14,254,151,167,11,143,213,76,6,178,6,48,142,8,102,113,146,49,233,237,167,229,86,134,233,161,64,243,196,238,152,54,248,101,116,55,94,130,241,143,164,140,158,48,156,48,218,31,178,183,217,144,65,8,229,119,108,236,4,80,54,30,194,176,66,158,68,147,69,227,184,245,25,113,191,40,231,178,73,89,6,97,117,185,202,32,137,78,4,159,197,114,9,240,130,167,49,202,184,21,144,70,161,47,227,211,11,0,98,140,51,25,74,194,69,22,207,158,108,65,26,198,136,17,185,221,10,52,254,65,136,54,137,248,167,148,189,191,186,164,109,175,147,115,141,95,167,213,2,63,0,100,16,15,219,109,91,63,4,83,49,81,243,222,47,Line truncated
|
||||
|
||||
static const unsigned char v2[] = {31,139,8,0,0,0,0,0,0,3,109,83,201,110,219,48,16,189,231,43,166,188,240,208,136,218,23,7,162,129,52,205,161,135,162,61,180,69,123,100,36,218,98,194,197,37,105,43,254,251,82,150,237,36,78,1,129,51,122,243,102,33,103,166,253,240,249,219,221,143,63,223,239,97,240,74,46,175,218,73,128,100,122,77,17,215,8,58,201,156,163,104,136,86,91,41,225,97,29,141,131,240,28,45,175,0,218,129,179,126,82,130,234,133,151,124,217,198,179,156,49,197,61,131,110,96,214,113,79,209,214,175,162,6,65,252,218,56,120,191,137,248,223,173,216,81,244,59,250,121,27,221,25,181,97,94,60,72,30,50,27,237,185,14,158,95,238,41,239,215,252,194,87,51,197,41,218,9,62,110,140,245,175,232,163,232,253,64,123,190,19,29,143,14,63,215,32,180,240,130,201,200,117,76,114,154,146,228,37,152,20,250,9,44,151,20,137,16,2,129,223,111,66,92,161,216,154,199,110,183,254,248,172,36,130,193,242,21,69,61,243,236,230,141,229,186,13,10,4,69,59,138,167,219,220,196,241,56,142,100,204,137,177,235,56,75,146,100,162,98,88,9,41,41,214,70,115,12,83,205,159,204,51,197,9,36,144,21,225,195,224,188,53,79,199,114,41,78,73,121,130,40,238,182,214,134,139,221,25,105,44,94,66,27,30,104,56,241,67,241,188,99,27,138,173,217,234,30,191,134,31,141,208,103,188,167,248,107,90,144,166,172,33,173,73,210,100,44,203,73,83,52,112,20,161,146,164,36,69,89,68,41,201,211,219,134,44,170,26,230,51,152,210,180,129,5,169,203,93,68,234,95,139,219,10,170,131,67,5,139,93,64,217,37,59,202,66,140,12,42,146,100,89,151,146,58,207,73,85,64,78,202,10,194,203,55,37,76,153,74,152,50,169,146,212,105,1,9,203,10,146,5,236,40,14,81,142,166,51,37,135,60,24,210,179,1,135,22,66,59,61,239,242,162,155,115,183,166,118,184,208,15,235,148,35,138,199,34,204,135,157,79,210,57,135,230,166,59,191,151,220,13,156,251,99,144,54,62,141,117,251,96,250,253,219,5,64,97,196,39,244,96,118,157,21,27,15,206,118,47,201,186,94,19,207,132,28,133,238,67,18,210,25,53,249,204,212,247,94,194,121,99,247,68,9,77,30,221,255,137,243,60,42,211,111,167,165,56,184,41,246,142,31,170,62,172,239,63,221,71,42,213,207,3,0,0,0};
|
||||
|
||||
static const unsigned char v3[] = {31,139,8,0,0,0,0,0,0,3,221,124,251,119,219,70,150,230,239,254,43,170,217,217,33,181,33,32,188,73,202,150,250,184,157,228,200,115,236,164,215,118,123,103,215,235,77,32,18,34,25,131,4,7,0,245,136,154,255,251,124,223,173,194,139,162,100,103,58,57,167,79,18,153,44,212,227,214,173,251,46,212,45,30,31,43,245,253,15,239,190,61,81,207,255,246,82,77,227,52,45,212,106,91,148,170,40,227,188,84,215,203,114,161,250,241,102,121,220,87,203,181,202,242,89,146,171,50,83,69,146,95,37,170,92,36,42,222,108,84,92,170,120,125,171,254,254,230,229,147,39,253,109,145,96,112,190,156,150,253,167,79,150,171,77,6,48,119,106,49,84,121,178,198,232,161,66,135,183,101,92,38,82,250,246,242,50,153,150,82,124,147,92,14,213,162,92,165,67,245,38,219,150,152,104,167,46,243,108,165,84,223,62,190,216,174,103,105,98,255,92,0,232,147,105,182,6,134,47,249,165,78,213,221,19,165,166,217,252,68,109,242,108,131,138,51,1,242,211,179,226,106,174,166,105,92,20,167,95,221,73,147,45,79,59,117,179,74,215,197,105,111,81,150,155,147,227,227,235,235,107,251,218,183,179,124,126,236,57,142,115,140,97,61,117,185,76,211,211,222,58,91,39,61,117,181,76,174,255,154,221,156,246,28,229,40,47,192,95,143,11,204,62,37,214,245,114,86,46,78,123,174,29,86,85,167,189,233,54,199,74,203,23,89,154,229,189,51,245,108,19,131,132,166,127,186,92,39,211,120,115,218,203,51,172,167,215,174,254,57,91,174,235,250,217,105,239,245,196,14,39,129,242,237,73,48,181,157,137,101,135,129,103,135,145,133,103,229,218,174,203,194,2,53,19,127,106,135,33,48,115,109,199,179,253,201,88,90,209,152,218,158,235,227,193,27,187,0,16,249,182,63,10,108,223,245,237,104,28,217,81,16,218,227,145,237,160,202,9,108,55,64,113,236,219,158,103,187,222,200,246,61,84,77,34,123,228,217,94,56,34,224,81,136,134,32,5,48,119,100,217,65,24,197,152,196,11,149,254,4,93,48,163,63,178,131,9,187,76,34,133,129,193,232,94,31,203,246,34,60,6,190,155,90,0,234,248,246,216,27,77,81,59,193,212,1,224,250,99,59,114,125,22,176,128,137,23,3,133,112,162,244,39,1,56,10,8,133,24,225,56,192,114,52,182,93,140,0,110,1,168,196,169,29,7,171,242,198,83,59,192,10,252,208,14,253,192,158,132,65,53,45,103,245,64,160,7,176,195,18,162,9,214,32,216,85,11,197,100,126,24,90,152,9,120,141,80,112,70,30,145,31,69,164,8,48,4,129,228,195,44,144,20,28,115,16,150,224,142,49,38,28,99,234,9,6,70,65,96,143,163,73,106,213,124,225,66,192,229,128,189,34,112,140,40,8,235,220,133,69,206,6,232,64,214,114,62,207,34,111,173,138,243,26,138,165,185,11,48,17,219,71,160,161,239,162,4,14,203,124,22,120,76,20,61,37,31,21,138,22,185,76,28,61,46,108,130,190,88,19,89,173,23,102,9,175,53,13,14,242,90,83,202,34,187,133,162,35,235,48,69,65,119,75,179,155,172,33,54,152,22,253,57,89,128,122,80,24,236,182,185,126,205,237,137,79,76,249,41,220,182,132,219,100,54,23,55,38,19,198,154,9,122,136,150,34,129,59,62,40,108,50,123,250,24,138,20,91,75,120,206,229,70,194,113,48,60,34,191,49,19,233,225,169,134,42,194,125,104,12,85,6,53,14,84,72,147,115,12,134,179,0,37,10,199,30,33,134,134,1,224,56,32,7,154,85,191,244,212,241,63,97,18,92,160,238,197,190,242,169,238,174,21,225,75,63,56,46,202,6,56,13,216,217,79,67,24,197,229,250,50,251,163,89,69,112,140,12,228,103,10,70,128,205,142,23,211,6,140,42,134,210,212,141,67,15,26,50,114,168,235,99,63,106,117,112,170,14,126,61,220,125,237,185,164,235,68,77,52,93,221,49,190,245,19,0,226,225,151,149,53,177,40,15,11,200,219,248,138,31,231,174,247,126,12,36,238,17,253,34,75,203,63,26,209,185,116,5,77,13,83,215,177,67,75,168,255,202,133,98,224,105,65,42,188,154,176,135,231,74,63,79,186,158,115,208,61,234,44,178,85,242,71,163,142,39,18,233,165,99,250,26,139,159,48,90,129,248,179,9,77,77,232,85,197,112,226,42,231,85,69,166,215,129,29,42,18,238,10,116,132,65,154,194,189,69,104,12,157,64,181,237,148,124,158,75,71,11,46,100,132,142,86,213,209,106,117,209,229,5,209,153,178,93,98,2,212,236,3,124,239,185,139,64,38,108,247,178,154,110,26,208,123,206,248,154,220,5,99,133,203,45,102,42,225,102,17,95,253,225,184,9,39,16,42,202,238,123,150,68,202,3,210,96,132,106,214,188,103,219,10,182,225,220,29,63,23,214,203,7,77,133,231,176,20,93,185,222,94,3,108,136,180,157,71,123,13,90,177,198,239,247,235,35,193,96,129,5,114,166,133,53,185,103,101,226,188,240,255,104,164,23,106,68,178,112,16,218,88,29,79,30,86,150,240,37,4,129,228,185,75,143,29,246,4,151,219,245,180,92,102,107,245,46,185,41,223,199,233,54,25,220,93,241,107,136,205,74,121,185,30,170,217,178,136,47,210,100,54,84,155,52,158,38,139,44,149,237,72,121,187,65,159,120,54,203,214,111,150,243,69,105,202,175,146,75,22,203,18,93,86,75,12,95,197,55,0,85,38,27,20,183,105,185,59,50,27,15,110,69,62,92,204,101,154,191,206,63,98,67,82,109,112,6,253,139,185,117,189,88,150,73,255,232,41,250,214,219,157,193,224,136,76,187,83,203,75,53,224,252,234,244,84,245,215,219,213,69,146,247,143,212,116,145,76,63,1,247,193,215,50,241,215,50,243,215,178,152,163,167,106,55,84,31,62,10,60,34,163,254,241,15,12,117,251,26,41,121,114,159,214,120,85,144,128,84,69,159,65,179,152,43,189,4,165,49,223,199,86,9,118,232,173,254,237,223,212,Line truncated
|
||||
|
||||
static const unsigned char v4[] = {45,45,45,45,45,66,69,71,73,78,32,67,69,82,84,73,70,73,67,65,84,69,45,45,45,45,45,10,77,73,73,66,67,84,67,66,115,65,73,74,65,75,57,119,98,73,68,107,72,110,65,111,77,65,111,71,67,67,113,71,83,77,52,57,66,65,77,67,77,65,48,120,67,122,65,74,66,103,78,86,66,65,89,84,65,107,108,70,77,66,52,88,10,68,84,73,122,77,68,69,121,79,84,73,120,77,106,69,122,79,70,111,88,68,84,77,122,77,68,69,121,78,106,73,120,77,106,69,122,79,70,111,119,68,84,69,76,77,65,107,71,65,49,85,69,66,104,77,67,83,85,85,119,87,84,65,84,10,66,103,99,113,104,107,106,79,80,81,73,66,66,103,103,113,104,107,106,79,80,81,77,66,66,119,78,67,65,65,82,122,83,81,83,53,79,72,100,49,55,108,85,101,78,73,43,54,107,112,57,87,89,117,48,99,120,117,69,73,105,47,74,84,10,106,112,104,98,67,109,100,74,68,49,99,85,118,104,109,122,77,57,47,112,104,118,74,84,57,107,97,49,48,90,57,116,111,90,104,103,110,66,113,48,111,48,120,102,84,81,52,106,67,49,118,119,77,65,111,71,67,67,113,71,83,77,52,57,10,66,65,77,67,65,48,103,65,77,69,85,67,73,81,67,101,48,84,50,69,48,71,79,105,86,101,57,75,119,118,73,69,80,101,88,49,74,49,74,48,84,55,84,78,97,99,103,82,48,89,97,51,51,72,86,57,86,103,73,103,78,118,100,110,10,97,69,87,105,66,112,49,120,115,104,115,52,105,122,54,87,98,112,120,114,83,49,73,72,117,99,114,113,107,90,117,74,76,102,78,90,71,90,73,61,10,45,45,45,45,45,69,78,68,32,67,69,82,84,73,70,73,67,65,84,69,45,45,45,45,45,10,0};
|
||||
|
||||
static const unsigned char v5[] = {45,45,45,45,45,66,69,71,73,78,32,69,67,32,80,82,73,86,65,84,69,32,75,69,89,45,45,45,45,45,10,77,72,99,67,65,81,69,69,73,67,66,122,51,72,79,107,81,76,80,66,68,116,100,107,110,113,67,55,107,49,80,78,115,87,106,54,72,102,104,121,78,66,53,77,101,110,102,106,109,113,105,111,111,65,111,71,67,67,113,71,83,77,52,57,10,65,119,69,72,111,85,81,68,81,103,65,69,99,48,107,69,117,84,104,51,100,101,53,86,72,106,83,80,117,112,75,102,86,109,76,116,72,77,98,104,67,73,118,121,85,52,54,89,87,119,112,110,83,81,57,88,70,76,52,90,115,122,80,102,10,54,89,98,121,85,47,90,71,116,100,71,102,98,97,71,89,89,74,119,97,116,75,78,77,88,48,48,79,73,119,116,98,56,65,61,61,10,45,45,45,45,45,69,78,68,32,69,67,32,80,82,73,86,65,84,69,32,75,69,89,45,45,45,45,45,10,0};
|
||||
|
||||
const struct mg_mem_file mg_packed_files[] = {
|
||||
{"/web_root/bundle.js.gz", v0, sizeof(v0) - 1, 1740675004},
|
||||
{"/web_root/history.min.js.gz", v1, sizeof(v1) - 1, 1740675004},
|
||||
{"/web_root/index.html.gz", v2, sizeof(v2) - 1, 1769604192},
|
||||
{"/web_root/main.js.gz", v3, sizeof(v3) - 1, 1740675004},
|
||||
{"/certs/server_cert.pem", v4, sizeof(v4) - 1, 1740675004},
|
||||
{"/certs/server_key.pem", v5, sizeof(v5) - 1, 1740675004},
|
||||
static const struct packed_file {
|
||||
const char *name;
|
||||
const unsigned char *data;
|
||||
size_t size;
|
||||
time_t mtime;
|
||||
} packed_files[] = {
|
||||
{"/web_root/bundle.js.gz", v0, sizeof(v0) - 1, 1752671665},
|
||||
{"/web_root/history.min.js.gz", v1, sizeof(v1) - 1, 1752671665},
|
||||
{"/web_root/index.html.gz", v2, sizeof(v2) - 1, 1753452174},
|
||||
{"/web_root/main.js.gz", v3, sizeof(v3) - 1, 1752671665},
|
||||
{"/certs/server_cert.pem", v4, sizeof(v4) - 1, 1752671662},
|
||||
{"/certs/server_key.pem", v5, sizeof(v5) - 1, 1752671662},
|
||||
{NULL, NULL, 0, 0}
|
||||
};
|
||||
|
||||
static int scmp(const char *a, const char *b) {
|
||||
while (*a && (*a == *b)) a++, b++;
|
||||
return *(const unsigned char *) a - *(const unsigned char *) b;
|
||||
}
|
||||
|
||||
const char *mg_unlist(size_t no) {
|
||||
return packed_files[no].name;
|
||||
}
|
||||
|
||||
const char *mg_unpack(const char *name, size_t *size, time_t *mtime) {
|
||||
const struct packed_file *p;
|
||||
for (p = packed_files; p->name != NULL; p++) {
|
||||
if (scmp(p->name, name) != 0) continue;
|
||||
if (size != NULL) *size = p->size;
|
||||
if (mtime != NULL) *mtime = p->mtime;
|
||||
return (const char *) p->data;
|
||||
}
|
||||
return NULL;
|
||||
};
|
||||
@@ -6,7 +6,7 @@ SOURCES = main.c mongoose.c packed_fs.c # Source code files
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
# CFLAGS_MONGOOSE +=
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_PACKED_FS=1
|
||||
|
||||
ifeq ($(OS),Windows_NT) # Windows settings. Assume MinGW compiler. To use VC: make CC=cl CFLAGS=/MD OUT=/Feprog.exe
|
||||
PROG ?= example.exe # Use .exe suffix for the binary
|
||||
|
||||
@@ -5,7 +5,7 @@ SOURCES = main.c mongoose.c net.c packed_fs.c # Source code files
|
||||
CFLAGS = -W -Wall -Wextra -g -I. # Build options
|
||||
|
||||
# Mongoose build options. See https://mongoose.ws/documentation/#build-options
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1 -DMG_ENABLE_TCPIP=1 -DMG_ENABLE_SOCKET=0 -DMG_ENABLE_TCPIP_DRIVER_INIT=0
|
||||
CFLAGS_MONGOOSE += -DMG_ENABLE_LINES=1 -DMG_ENABLE_TCPIP=1 -DMG_ENABLE_SOCKET=0 -DMG_ENABLE_PACKED_FS=1 -DMG_ENABLE_TCPIP_DRIVER_INIT=0
|
||||
|
||||
# Example specific build options. See README.md
|
||||
CFLAGS += -DHTTP_URL=\"http://0.0.0.0/\" -DHTTPS_URL=\"https://0.0.0.0/\"
|
||||
|
||||
@@ -5,5 +5,6 @@
|
||||
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_IO_SIZE 256
|
||||
#define MG_ENABLE_LINES 1
|
||||
@@ -7,6 +7,7 @@
|
||||
#define MG_ENABLE_TCPIP 1
|
||||
#define MG_ENABLE_CUSTOM_MILLIS 1
|
||||
#define MG_ENABLE_CUSTOM_RANDOM 1
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_ENABLE_POSIX_FS 0
|
||||
#define MG_ENABLE_DRIVER_STM32F 1
|
||||
#define MG_ENABLE_LINES 1
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
#define MG_ARCH MG_ARCH_ZEPHYR
|
||||
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
@@ -1,3 +1,4 @@
|
||||
#define MG_ARCH MG_ARCH_ZEPHYR
|
||||
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_TLS MG_TLS_MBED
|
||||
@@ -1,3 +1,4 @@
|
||||
#define MG_ARCH MG_ARCH_ZEPHYR
|
||||
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_TLS MG_TLS_MBED
|
||||
@@ -1,3 +1,4 @@
|
||||
#define MG_ARCH MG_ARCH_ZEPHYR
|
||||
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_TLS MG_TLS_MBED
|
||||
@@ -1,3 +1,4 @@
|
||||
#define MG_ARCH MG_ARCH_ZEPHYR
|
||||
|
||||
#define MG_ENABLE_PACKED_FS 1
|
||||
#define MG_TLS MG_TLS_MBED
|
||||
Reference in new issue
Block a user