forked from weaselab/weaseljson
Compare commits
20
Commits
main
...
7c1c18fe6f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7c1c18fe6f | ||
|
|
3d9772357d | ||
|
|
644d244990 | ||
|
|
859fa41ecb | ||
|
|
359f4f4bb6 | ||
|
|
7a8e5f84f2 | ||
|
|
919b89c842 | ||
|
|
47f1077100 | ||
|
|
db759a9333 | ||
|
|
4301351042 | ||
|
|
4bb13a23ff | ||
|
|
8a1a922353 | ||
|
|
ceaadfb750 | ||
|
|
8191df404d | ||
|
|
b3dac03f70 | ||
|
|
dfcac64330 | ||
|
|
ca6f69424f | ||
|
|
46408fd56f | ||
|
|
063872ed3c | ||
|
|
b76f47abf7 |
+25
-2
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(
|
project(
|
||||||
weaseljson
|
weaseljson
|
||||||
VERSION 0.0.1
|
VERSION 0.0.1
|
||||||
@@ -119,7 +119,10 @@ add_custom_command(
|
|||||||
OUTPUT ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.o
|
OUTPUT ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.o
|
||||||
COMMAND ${LD_EXE} -r $<TARGET_OBJECTS:${PROJECT_NAME}-object> -o
|
COMMAND ${LD_EXE} -r $<TARGET_OBJECTS:${PROJECT_NAME}-object> -o
|
||||||
${CMAKE_BINARY_DIR}/${PROJECT_NAME}.o
|
${CMAKE_BINARY_DIR}/${PROJECT_NAME}.o
|
||||||
DEPENDS ${PROJECT_NAME}-object
|
# Depend on the target (for ordering / the Make generator) and on the object
|
||||||
|
# files themselves, so the bundle is rebuilt when the objects' contents change
|
||||||
|
# (a bare target dependency is only order-only under Ninja).
|
||||||
|
DEPENDS ${PROJECT_NAME}-object $<TARGET_OBJECTS:${PROJECT_NAME}-object>
|
||||||
COMMAND_EXPAND_LISTS)
|
COMMAND_EXPAND_LISTS)
|
||||||
|
|
||||||
add_library(${PROJECT_NAME} SHARED ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.o)
|
add_library(${PROJECT_NAME} SHARED ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.o)
|
||||||
@@ -160,6 +163,15 @@ target_link_libraries(mytest PRIVATE ${PROJECT_NAME} doctest nanobench simdjson)
|
|||||||
target_compile_options(mytest PRIVATE ${TEST_FLAGS})
|
target_compile_options(mytest PRIVATE ${TEST_FLAGS})
|
||||||
doctest_discover_tests(mytest WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
|
doctest_discover_tests(mytest WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
|
||||||
|
|
||||||
|
find_package(Python3 COMPONENTS Interpreter)
|
||||||
|
if(Python3_Interpreter_FOUND)
|
||||||
|
add_test(NAME python_bindings
|
||||||
|
COMMAND ${Python3_EXECUTABLE}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/test_python_bindings.py)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_subdirectory(contrib/schemagen)
|
||||||
|
|
||||||
include(CMakePushCheckState)
|
include(CMakePushCheckState)
|
||||||
include(CheckCXXCompilerFlag)
|
include(CheckCXXCompilerFlag)
|
||||||
cmake_push_check_state()
|
cmake_push_check_state()
|
||||||
@@ -173,6 +185,17 @@ if(HAS_LIB_FUZZER)
|
|||||||
target_link_libraries(fuzz PRIVATE simdjson)
|
target_link_libraries(fuzz PRIVATE simdjson)
|
||||||
target_compile_options(fuzz PRIVATE -fsanitize=fuzzer ${TEST_FLAGS})
|
target_compile_options(fuzz PRIVATE -fsanitize=fuzzer ${TEST_FLAGS})
|
||||||
target_link_options(fuzz PRIVATE -fsanitize=fuzzer)
|
target_link_options(fuzz PRIVATE -fsanitize=fuzzer)
|
||||||
|
else()
|
||||||
|
add_executable(fuzz src/fuzz.cpp src/lib.cpp src/fuzz_driver.cpp)
|
||||||
|
target_include_directories(fuzz PRIVATE include)
|
||||||
|
target_link_libraries(fuzz PRIVATE simdjson)
|
||||||
|
target_compile_options(fuzz PRIVATE ${TEST_FLAGS})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Replay the checked-in corpus through the fuzz target as a regression test.
|
||||||
|
file(GLOB corpus_files ${CMAKE_CURRENT_SOURCE_DIR}/corpus/*)
|
||||||
|
if(corpus_files)
|
||||||
|
add_test(NAME fuzz_corpus COMMAND fuzz ${corpus_files})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(validate src/validate.cpp)
|
add_executable(validate src/validate.cpp)
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
# Tests for contrib/schemagen
|
||||||
|
|
||||||
|
if(NOT Python3_Interpreter_FOUND)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_test(
|
||||||
|
NAME schemagen_python_tests
|
||||||
|
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test_schemagen.py
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
|
||||||
|
|
||||||
|
set(SCHEMAGEN_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/weaseljson_schemagen.py)
|
||||||
|
set(EXAMPLE_SCHEMA ${CMAKE_CURRENT_SOURCE_DIR}/example.schema.json)
|
||||||
|
set(GEN_H ${CMAKE_CURRENT_BINARY_DIR}/gen.h)
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${GEN_H}
|
||||||
|
COMMAND ${Python3_EXECUTABLE} ${SCHEMAGEN_SCRIPT} ${EXAMPLE_SCHEMA} -o
|
||||||
|
${GEN_H} --namespace weasel_schema
|
||||||
|
DEPENDS ${SCHEMAGEN_SCRIPT} ${EXAMPLE_SCHEMA}
|
||||||
|
COMMENT "Generating gen.h from example.schema.json")
|
||||||
|
|
||||||
|
add_custom_target(schemagen_gen_h DEPENDS ${GEN_H})
|
||||||
|
|
||||||
|
add_executable(schemagen_example ${CMAKE_CURRENT_SOURCE_DIR}/test_gen.cpp)
|
||||||
|
target_include_directories(schemagen_example
|
||||||
|
PRIVATE include ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
target_link_libraries(schemagen_example PRIVATE ${PROJECT_NAME})
|
||||||
|
target_compile_options(schemagen_example PRIVATE -Wno-switch-enum)
|
||||||
|
add_dependencies(schemagen_example schemagen_gen_h)
|
||||||
|
|
||||||
|
add_test(
|
||||||
|
NAME schemagen_example
|
||||||
|
COMMAND schemagen_example
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
# weaseljson schemagen
|
||||||
|
|
||||||
|
Generates a C++ type and a streaming **builder** parser from a JSON Schema,
|
||||||
|
on top of weaseljson.
|
||||||
|
|
||||||
|
The builder copies incoming bytes straight into their final destinations in the
|
||||||
|
result struct as they arrive (no intermediate DOM). When parsing completes you
|
||||||
|
`take()` ownership of the result.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
python3 weaseljson_schemagen.py schema.json -o parsed.h --namespace myschema
|
||||||
|
```
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
#include "parsed.h"
|
||||||
|
using namespace myschema;
|
||||||
|
|
||||||
|
RootBuilder b;
|
||||||
|
WeaselJsonStatus s = b.feed(buf, len); // call repeatedly with chunks; buf may
|
||||||
|
// be modified in place (unescaping)
|
||||||
|
if (s == WeaselJson_AGAIN) s = b.finish();
|
||||||
|
if (s == WeaselJson_OK) {
|
||||||
|
Root value = b.take(); // ownership of the parsed result
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
`feed`/`finish` return the usual `WeaselJsonStatus`; `WeaselJson_OK` means the
|
||||||
|
document is both valid JSON and schema-valid, and `WeaselJson_REJECT` covers
|
||||||
|
both malformed JSON and schema violations. The builder holds interior pointers
|
||||||
|
into the result, so it is non-movable.
|
||||||
|
|
||||||
|
## Schema -> C++ mapping
|
||||||
|
|
||||||
|
| JSON Schema | C++ |
|
||||||
|
|-----------------------------------------------|----------------------------------------|
|
||||||
|
| `object` with `properties` | `struct` |
|
||||||
|
| required property | value member |
|
||||||
|
| non-required property | `std::optional<T>` |
|
||||||
|
| `["T", "null"]` (nullable) | `std::optional<T>` (accepts `null`) |
|
||||||
|
| `string` / `integer` / `number` / `boolean` | `std::string` / `int64_t` / `double` / `bool` |
|
||||||
|
| `enum` of strings | `enum class : int` |
|
||||||
|
| `array` with `items` | `std::vector<T>` |
|
||||||
|
| `$ref` to `$defs`/`definitions` | the referenced named struct |
|
||||||
|
| recursive `$ref` | `std::unique_ptr<T>` (cycle broken) |
|
||||||
|
| `additionalProperties: false` | unknown keys rejected |
|
||||||
|
| `additionalProperties` absent / `true` | unknown keys' values skipped |
|
||||||
|
|
||||||
|
## Schema violations (rejected at parse time)
|
||||||
|
|
||||||
|
- missing required property (top-level or nested)
|
||||||
|
- wrong JSON type for a property / array element
|
||||||
|
- `null` for a non-nullable slot
|
||||||
|
- value not in a string `enum`
|
||||||
|
- a number not representable in the target type (e.g. `1.5` for an `integer`)
|
||||||
|
- duplicate object keys
|
||||||
|
- unknown key under `additionalProperties: false`
|
||||||
|
|
||||||
|
## Not supported (rejected at generation time, no fallback)
|
||||||
|
|
||||||
|
`oneOf` / `anyOf` / `allOf` / `not` / `if`-`then`-`else`,
|
||||||
|
`patternProperties`, `additionalProperties` with a schema (typed map),
|
||||||
|
`prefixItems` (tuples), `const`, `dependentSchemas`/`dependentRequired`,
|
||||||
|
union `type` lists other than `["T", "null"]`, non-string enums, and remote
|
||||||
|
(`$ref` to other documents).
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Strings (the bulk payload) are appended directly into their destination
|
||||||
|
`std::string`, even when split across `feed` calls. Numbers are accumulated in
|
||||||
|
a small scratch buffer and converted on completion, since an `int64_t`/`double`
|
||||||
|
cannot hold partial digits.
|
||||||
|
- `test_gen.cpp` generates from `example.schema.json` and exercises the parser
|
||||||
|
byte-by-byte (covering chunked strings/numbers), plus the rejection cases.
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
{
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"name",
|
||||||
|
"age"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"age": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"height": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"active": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"nickname": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"role": {
|
||||||
|
"enum": [
|
||||||
|
"admin",
|
||||||
|
"user",
|
||||||
|
"guest"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"hobbies": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"address": {
|
||||||
|
"type": "object",
|
||||||
|
"required": [
|
||||||
|
"city"
|
||||||
|
],
|
||||||
|
"additionalProperties": false,
|
||||||
|
"properties": {
|
||||||
|
"city": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"zip": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"friends": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"required": [
|
||||||
|
"name"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"age": {
|
||||||
|
"type": "integer"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tree": {
|
||||||
|
"$ref": "#/$defs/Node"
|
||||||
|
},
|
||||||
|
"nullable_hobbies": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": [
|
||||||
|
"string",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nullable_scores": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": [
|
||||||
|
"integer",
|
||||||
|
"null"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"$defs": {
|
||||||
|
"Node": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": false,
|
||||||
|
"required": [
|
||||||
|
"value"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"value": {
|
||||||
|
"type": "integer"
|
||||||
|
},
|
||||||
|
"next": {
|
||||||
|
"$ref": "#/$defs/Node"
|
||||||
|
},
|
||||||
|
"children": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/$defs/Node"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,195 @@
|
|||||||
|
// Test harness for the generated example.schema.json parser.
|
||||||
|
// Feeds input one byte at a time to exercise chunked string/number paths.
|
||||||
|
#include <cassert>
|
||||||
|
#include <cstdio>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include "gen.h"
|
||||||
|
|
||||||
|
using namespace weasel_schema;
|
||||||
|
|
||||||
|
// Feed `in` one byte at a time. Returns final status.
|
||||||
|
static WeaselJsonStatus parseStrided(RootBuilder &b, std::string in) {
|
||||||
|
for (size_t i = 0; i < in.size(); ++i) {
|
||||||
|
char c = in[i];
|
||||||
|
WeaselJsonStatus s = b.feed(&c, 1);
|
||||||
|
if (s != WeaselJson_AGAIN)
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
return b.finish();
|
||||||
|
}
|
||||||
|
|
||||||
|
static int failures = 0;
|
||||||
|
#define CHECK(cond) \
|
||||||
|
do { \
|
||||||
|
if (!(cond)) { \
|
||||||
|
printf("FAIL %s:%d: %s\n", __FILE__, __LINE__, #cond); \
|
||||||
|
++failures; \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
static void expectReject(const std::string &json, const char *what) {
|
||||||
|
RootBuilder b;
|
||||||
|
WeaselJsonStatus s = parseStrided(b, json);
|
||||||
|
if (s == WeaselJson_REJECT) {
|
||||||
|
printf("ok reject: %s\n", what);
|
||||||
|
} else {
|
||||||
|
printf("FAIL expected reject (%s) got status %d for: %s\n", what, s,
|
||||||
|
json.c_str());
|
||||||
|
++failures;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
// ---- happy path, full feature coverage, byte-strided ----
|
||||||
|
{
|
||||||
|
std::string json = R"({
|
||||||
|
"name": "Ada É",
|
||||||
|
"age": 36,
|
||||||
|
"height": 1.75,
|
||||||
|
"active": true,
|
||||||
|
"nickname": null,
|
||||||
|
"role": "admin",
|
||||||
|
"hobbies": ["math", "lace"],
|
||||||
|
"address": { "city": "London", "zip": 12345 },
|
||||||
|
"friends": [
|
||||||
|
{ "name": "Bob" },
|
||||||
|
{ "name": "Cay", "age": 40 }
|
||||||
|
],
|
||||||
|
"tree": {
|
||||||
|
"value": 1,
|
||||||
|
"children": [ { "value": 2 }, { "value": 3 } ],
|
||||||
|
"next": { "value": 99 }
|
||||||
|
},
|
||||||
|
"extra_unknown": { "ignored": [1, 2, {"x": "y"}] }
|
||||||
|
})";
|
||||||
|
// Root is strict (additionalProperties:false), so "extra_unknown" must
|
||||||
|
// make it reject. Verify that, then test a clean version.
|
||||||
|
expectReject(json, "unknown key in strict root");
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
std::string json = R"({
|
||||||
|
"name": "Ada É",
|
||||||
|
"age": 36,
|
||||||
|
"height": 1.75,
|
||||||
|
"active": true,
|
||||||
|
"nickname": null,
|
||||||
|
"role": "admin",
|
||||||
|
"hobbies": ["math", "lace"],
|
||||||
|
"address": { "city": "London", "zip": 12345 },
|
||||||
|
"friends": [
|
||||||
|
{ "name": "Bob" },
|
||||||
|
{ "name": "Cay", "age": 40 }
|
||||||
|
],
|
||||||
|
"tree": {
|
||||||
|
"value": 1,
|
||||||
|
"children": [ { "value": 2 }, { "value": 3 } ],
|
||||||
|
"next": { "value": 99 }
|
||||||
|
},
|
||||||
|
"nullable_hobbies": [null, "math", null, "lace", null],
|
||||||
|
"nullable_scores": [null, 10, null, 20, null]
|
||||||
|
})";
|
||||||
|
RootBuilder b;
|
||||||
|
WeaselJsonStatus s = parseStrided(b, json);
|
||||||
|
CHECK(s == WeaselJson_OK);
|
||||||
|
if (s == WeaselJson_OK) {
|
||||||
|
Root r = b.take();
|
||||||
|
CHECK(r.name == "Ada \xC3\x89"); // É -> UTF-8
|
||||||
|
CHECK(r.age == 36);
|
||||||
|
CHECK(r.height > 1.74 && r.height < 1.76);
|
||||||
|
CHECK(r.active.has_value() && *r.active == true);
|
||||||
|
CHECK(!r.nickname.has_value()); // explicit null
|
||||||
|
CHECK(r.role.has_value() && *r.role == Role::admin);
|
||||||
|
CHECK(r.hobbies.has_value() && r.hobbies->size() == 2);
|
||||||
|
CHECK(r.hobbies && (*r.hobbies)[0] == "math" &&
|
||||||
|
(*r.hobbies)[1] == "lace");
|
||||||
|
CHECK(r.address.has_value() && r.address->city == "London");
|
||||||
|
CHECK(r.address && r.address->zip.has_value() &&
|
||||||
|
*r.address->zip == 12345);
|
||||||
|
CHECK(r.friends.has_value() && r.friends->size() == 2);
|
||||||
|
CHECK(r.friends && (*r.friends)[0].name == "Bob");
|
||||||
|
CHECK(r.friends && !(*r.friends)[0].age.has_value());
|
||||||
|
CHECK(r.friends && (*r.friends)[1].age.has_value() &&
|
||||||
|
*(*r.friends)[1].age == 40);
|
||||||
|
CHECK(r.tree.has_value() && r.tree->value == 1);
|
||||||
|
CHECK(r.tree && r.tree->children.has_value() &&
|
||||||
|
r.tree->children->size() == 2);
|
||||||
|
CHECK(r.tree && r.tree->children && (*r.tree->children)[0].value == 2);
|
||||||
|
CHECK(r.tree && r.tree->children && (*r.tree->children)[1].value == 3);
|
||||||
|
CHECK(r.tree && r.tree->next && r.tree->next->value == 99);
|
||||||
|
CHECK(r.nullable_hobbies.has_value() && r.nullable_hobbies->size() == 5);
|
||||||
|
CHECK(r.nullable_hobbies && !(*r.nullable_hobbies)[0] &&
|
||||||
|
(*r.nullable_hobbies)[1] && *(*r.nullable_hobbies)[1] == "math" &&
|
||||||
|
!(*r.nullable_hobbies)[2] && (*r.nullable_hobbies)[3] &&
|
||||||
|
*(*r.nullable_hobbies)[3] == "lace" && !(*r.nullable_hobbies)[4]);
|
||||||
|
CHECK(r.nullable_scores.has_value() && r.nullable_scores->size() == 5);
|
||||||
|
CHECK(r.nullable_scores && !(*r.nullable_scores)[0] &&
|
||||||
|
(*r.nullable_scores)[1] && *(*r.nullable_scores)[1] == 10 &&
|
||||||
|
!(*r.nullable_scores)[2] && (*r.nullable_scores)[3] &&
|
||||||
|
*(*r.nullable_scores)[3] == 20 && !(*r.nullable_scores)[4]);
|
||||||
|
printf("ok happy path (byte-strided)\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- whole-buffer feed (not strided) ----
|
||||||
|
{
|
||||||
|
std::string json = R"({"name":"x","age":7})";
|
||||||
|
RootBuilder b;
|
||||||
|
WeaselJsonStatus s = b.feed(json.data(), (int)json.size());
|
||||||
|
if (s == WeaselJson_AGAIN)
|
||||||
|
s = b.finish();
|
||||||
|
CHECK(s == WeaselJson_OK);
|
||||||
|
Root r = b.take();
|
||||||
|
CHECK(r.name == "x" && r.age == 7);
|
||||||
|
CHECK(!r.role.has_value() && !r.hobbies.has_value());
|
||||||
|
printf("ok minimal object\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---- integer accepts any number with no fractional part (JSON Schema) ----
|
||||||
|
{
|
||||||
|
struct {
|
||||||
|
const char *json;
|
||||||
|
int64_t age;
|
||||||
|
} cases[] = {
|
||||||
|
{R"({"name":"x","age":4e1})", 40},
|
||||||
|
{R"({"name":"x","age":2.0})", 2},
|
||||||
|
{R"({"name":"x","age":-1.5e1})", -15},
|
||||||
|
{R"({"name":"x","age":0e0})", 0},
|
||||||
|
};
|
||||||
|
for (auto &c : cases) {
|
||||||
|
RootBuilder b;
|
||||||
|
WeaselJsonStatus s = parseStrided(b, c.json);
|
||||||
|
CHECK(s == WeaselJson_OK);
|
||||||
|
if (s == WeaselJson_OK) {
|
||||||
|
Root r = b.take();
|
||||||
|
CHECK(r.age == c.age);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("ok integer in exponent/decimal form\n");
|
||||||
|
}
|
||||||
|
// a fractional or out-of-range value is still rejected for an integer slot
|
||||||
|
expectReject(R"({"name":"x","age":2.5e0})", "non-integral exponent form");
|
||||||
|
expectReject(R"({"name":"x","age":1e30})", "integer out of int64 range");
|
||||||
|
|
||||||
|
// ---- schema-violation rejections ----
|
||||||
|
expectReject(R"({"name":"x"})", "missing required field 'age'");
|
||||||
|
expectReject(R"({"name":"x","age":"notnum"})", "wrong type (string for int)");
|
||||||
|
expectReject(R"({"name":"x","age":1,"role":"boss"})", "bad enum value");
|
||||||
|
expectReject(R"({"name":"x","age":1,"name":"y"})", "duplicate key");
|
||||||
|
expectReject(R"({"name":"x","age":1,"active":null})",
|
||||||
|
"null for non-nullable");
|
||||||
|
expectReject(R"({"name":"x","age":1,"age":2})", "duplicate required key");
|
||||||
|
expectReject(R"({"name":"x","age":1.5})", "fractional for integer");
|
||||||
|
expectReject(R"({"name":"x","age":1,"address":{"zip":5}})",
|
||||||
|
"missing required nested 'city'");
|
||||||
|
expectReject(R"([1,2,3])", "array where object expected (root)");
|
||||||
|
expectReject(R"({"name":"x","age":1,)", "truncated / invalid json");
|
||||||
|
|
||||||
|
if (failures == 0) {
|
||||||
|
printf("\nALL TESTS PASSED\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
printf("\n%d FAILURE(S)\n", failures);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
"""Tests for weaseljson_schemagen.py."""
|
||||||
|
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
SCRIPT = os.path.join(os.path.dirname(__file__), "weaseljson_schemagen.py")
|
||||||
|
|
||||||
|
|
||||||
|
class SchemagenEnumTest(unittest.TestCase):
|
||||||
|
def run_schemagen(self, schema, args=None):
|
||||||
|
"""Run schemagen on a schema dict. Returns (returncode, stdout, stderr)."""
|
||||||
|
with tempfile.NamedTemporaryFile("w", suffix=".json", delete=False) as fp:
|
||||||
|
json.dump(schema, fp)
|
||||||
|
schema_path = fp.name
|
||||||
|
try:
|
||||||
|
cmd = [sys.executable, SCRIPT, schema_path]
|
||||||
|
if args:
|
||||||
|
cmd.extend(args)
|
||||||
|
result = subprocess.run(cmd, capture_output=True, text=True, check=False)
|
||||||
|
return result.returncode, result.stdout, result.stderr
|
||||||
|
finally:
|
||||||
|
os.unlink(schema_path)
|
||||||
|
|
||||||
|
def test_colliding_enum_values_deduplicate(self):
|
||||||
|
schema = {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {"role": {"enum": ["foo-bar", "foo_bar"]}},
|
||||||
|
}
|
||||||
|
rc, stdout, stderr = self.run_schemagen(schema)
|
||||||
|
self.assertEqual(rc, 0, msg=stderr)
|
||||||
|
self.assertIn("enum class Role : int { foo_bar, foo_bar_1 };", stdout)
|
||||||
|
self.assertIn(
|
||||||
|
'static constexpr const char *Role_names[] = { "foo-bar", "foo_bar" };',
|
||||||
|
stdout,
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_distinct_enum_values_generate(self):
|
||||||
|
schema = {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {"role": {"enum": ["admin", "user", "guest"]}},
|
||||||
|
}
|
||||||
|
rc, stdout, stderr = self.run_schemagen(schema)
|
||||||
|
self.assertEqual(rc, 0, msg=stderr)
|
||||||
|
self.assertIn("enum class Role : int { admin, user, guest };", stdout)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main()
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1 @@
|
|||||||
|
-8111111111111.サ
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
[4,[5,[5,[4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[0,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[0,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5415,4,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[0,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[5,[4,[7,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4444444444444444444444444444444444444444444444444444444444444444444444444444,[5,[5,[5.75,775,[5,7,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,333333333
|
||||||
|
,0,333333333
|
||||||
|
,0,3333,null,0,null,null,[1,[1,null,null,null,[0,null,null,0,null,null,null,[0,null,8333334
|
||||||
|
,0,0,333,[5,[5,[[5,[5,[41,
|
||||||
Binary file not shown.
@@ -0,0 +1,63 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-411.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},8,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, "8[[-418,udafa\udfa2fffa\udafa\udffa2ffa\udafa\udffadffa[[[[[[[[ tru2
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"x":[{"id": "xxx"}],"x":[{"i":[{"id": ""}],"x":[{"i": "xxx"}],"x":[],"x":[{"id": "x"}],"":[{"id": "xxx"}],"x":[{"id": "xx"}],"x":[{"idd": "xx"}],"x":[{"id": "x"}],"x":[{"iid": "xxxxxxx"}],"x":[{"i":[{"id": "xxxxxxx"}],"x":[{"i":[{"id": "xxxxxxxxx"}],"x":[{"id": "xx"}],"x":[{"idd": "xx"}],"xd": "xxxx"}],"x":[{"id":"xx"}],"x":[{"idd": "xx"}],"":[{"id": ""}],"x":[{"i":[{"id": "xxx"}],"x":[{"id": "xx"}],"": "xx"}],"x":[{"id": "xxxxxxxx"}],"x":[{"id": "xx"}],"x":[{"idd": "xx"}],"x":[{"i": ""}],"x":[{"i": "xxx"}],"x":[{"id": "xx"}],"x":[{"idd": "xx"}],"x":[{"id": "xxxxxxxx"}],"x":[{"id": "xx"}],"x":[{"idx":[{"id": "xx"}],"x":[{"idd": "xx"}],"xd": "xxxx"}],"x":[{"id":"xx"}],"x":[{"idd": "xx"}],"":[{"id": ""}],"x":[{"i":[{"id": "xxx"}],"x":[{"id": "xx"}],"": "xx"}],"x":[{"id": "xxxxxxxx"}],"x":[{"id": ""}],"x":[{"idd": "xx"}],"x":[{"id": "x"],"x":[d""}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,67 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[S[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4␍"p6
|
||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -0,0 +1,124 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ 8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ 8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ 8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},6,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,[[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
["[-Ò418,
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
[4,[5,[5,[4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[␍[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-41,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[0,[[null,[415,[4,[5,[[5,[4,[[415,4,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[0,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,¥Ã,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [{ "min":1.0e+9, ""[[{},{}:0 -1.0e028 },[[false, [[false, [[[{},8,
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-2222222222222222222222232222222222222222222222222222222222222222222222222222222222222222222222222222241.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[0,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[7E-5,7E-5,3E8,[
|
||||||
|
[[-418,[8111,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[0,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[7E-5,7E-5,3E8,[ [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}, [[[{},{},[[false, [[false, [[[{},4,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false,34e55,33522333,33e5,3,[[[
|
||||||
|
[[-2222222222222222222222232222222222222222222222222222222222222222222222222222222222222222222222222222241.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[0,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[7E-5,7E-5,3E8,[
|
||||||
|
[[-418,[8111,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[0,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[9999,9990999998,9919999999,999099999,8,991999999,999909,8,991999999,99909999,9998,[8,[8, -4e55,33
|
||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,77 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ 8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[0.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,␍9777E-1,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[83,6663,66666666,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[[[[[[-41.8,[83,6663,66666666,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,[[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
["[-Ò418,
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
7 9:
|
||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -0,0 +1,37 @@
|
|||||||
|
[5,[5,[4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[ null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[4,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[4,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,55,5,[[5,[4,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[ [-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-73,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[ null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[4,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,55,5,[[5,[4,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-3,[8,[[41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[6,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[41.8,[8,íííííííííííííííííííííííí…
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
[[[{},{}, [[[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ 8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[0.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[["\uDA9D\uDDDDux\uDA9D\uDDDdux\uDA9D\uDDA9D\uDA9D\DDDD[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,[[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1Dux9D\uDA9D\uDDDDDD*x\uDA9D\uDDDd.8,[uxux\uDA3,[8,[[[[9D\uDDDdDDDux\uDA9D\ [uDDD[[ dí¤Ý¤Ò-ËŠ\u18,DA9D\uDDdDDA0
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[[22222222222241.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,28,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},9,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[ [-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},2,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-3,[8,[[41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},666663333333338,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-3,[8,[[41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[0,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[7E-5,7E-5,3E8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[0,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[7E-5,7E-5,3E8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false,59, [[ls[{},8,[99,999099999,8,99199999,9999909,8,991999999,99909999,999099999,8,99999990-449999,{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[
|
||||||
|
[[-418,[":},
|
||||||
|
{},5,[3® -4e55,33
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,141 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ 8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ 8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[ {""
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},6,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,[[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
["[-Ň418,
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},3,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[␍[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[ [-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-20,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-417.777E-8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ { "$i": 9, "max": 8, "x": 2.0e+28,[[false, [[false, "8[[-418,[8,[4,[5,[5,[4,[6 8, "man": -3.8, "max": 8, "max": 8, "man": ,[ššššššššššš5,5, 5,[5,max
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,209 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[[ [[[ [[-41.8,[3,[82,[[[[ [[[
|
||||||
|
[[-418,[8,[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222241.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-418,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[0,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.80,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-40.8,[8,[8,[[1.8,[3,[0,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[7E-5,7E-5,3E8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[0,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[7E-5,7E-5,3E8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-20.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-41.8,[6,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[78,[
|
||||||
|
[[-48,[8,8,[8,[8,[[[[[-41.8,[7E-5,7E-5,3E8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-20.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-41.8,[6,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[6,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[78,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false,"\@d83d\u34e55,335223334e55,33e5,334e55,3e5,3999099999,8,999999909993339\ud
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{ "miN": -1.0e+28, "man": -128, "max": 8, "man": -1.0e+28, "max":{"i": { " ":{ "i[":{ "i[": { " #":{ "i[d":{ "": { "":{ "#" 1rs.
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ 8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[0.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[6,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false,[[0.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[["Lafa\ufa2dudu\udafa\ufa2f [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,[[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
["[-Ò418,
|
||||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,75 @@
|
|||||||
|
[[],[[[],[],[[],[ [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[␍[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[␍[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[[[[[[[[[[[[[[[[[[[[[[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[[[[[[[[[[[[[[[Q[[[[[[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[ [[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙se, [[
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,␍9777E-1,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[83,6663,66666666,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[4,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
|
||||||
|
|
||||||
|
-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,␍9777E-1,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[83,6663,66666666,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[4,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, "ffa2ffa\udafa\udffad@fa\uda!a\udff41.8,[8,[8,[[[
|
||||||
|
[8{},[-[
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,28,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},9,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[ [-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-418,[[[{},{}, [[[{},{},[[false, [[false, [[[{},2,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},2,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},8,[-41.8,[8,[8,[[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},666663333333338,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-3,[8,[[41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},9,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[[[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[n˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙alfase, [[ls[{},
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
[ [ [false, [ [ [ [false, -5,7.777E-5,[5,7.5,7.75,775,775,[5,7E-575,77.75,7757E-5,[5,7.5,7.75,[5,7E-575,77.75,775,[5,7E-575,775.75,775,[5,7E-575,5,7.5,7.75,[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[7,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{} ,{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-3,[8,[[41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[87.7,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.7,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[7,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{} ,{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-3,[8,[[41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[ [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[5,7E-5,7.7,[[ [false, [ [ [false, [ false, [ [ [ [false , [ [ [false, [false, [ false, [false, [ [ [false, [false, [ [ [fal7
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[95,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,4,[5,[5,[4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[4,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,4,[5,[5,[4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[4,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[{"x":[{"id": "xx"}],"x":[{"d":"x"}],"":"xx"}],,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,4,[5,[5,[4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[4,[5,[[null,5,[5,[5,[[5,[5,[415,[4,
|
||||||
|
[[[[[false, [[f[
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4
|
||||||
|
"p{ },,[5[
|
||||||
|
[
|
||||||
|
[{ },[[[6[
|
||||||
|
|
||||||
|
][-41,[-,[5[,[5,[41,
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,128 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[ [[[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[[[[[[[[[[[[[[[[[[[[[[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[[[[[[[[[[[[[[[[[[[[[[[[[[f[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418[[[[[[[[[,[8,[[[
|
||||||
|
[[-41.8,[8[[[[[[[[[[[[[˙˙˙˙˙˙˙*[[[[[[
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{"":
|
||||||
|
|
||||||
|
|
||||||
|
5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[[[[false, [[f[
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4
|
||||||
|
"p{ },[
|
||||||
|
[
|
||||||
|
[{ },[[[6[
|
||||||
|
|
||||||
|
][-41,[-[
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,145 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
||||||
|
|
||||||
|
[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[ [[[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[[[[[[[[[[[[[[[[[[[[[[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[[[[[[[[[[[[[[[[[[[[[[[[[[f[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418[[[[[[[[[,[8,[[[
|
||||||
|
[[-41.8,[8[[[[[[[[[[[[[˙˙˙˙˙˙˙*[[[[[[
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{"":
|
||||||
|
|
||||||
|
|
||||||
|
5
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[[[[false, [[f[
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4
|
||||||
|
"p{ },[
|
||||||
|
[
|
||||||
|
[{ },[[[6[
|
||||||
|
|
||||||
|
][-41,[-[
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍iAse␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍
|
||||||
|
|
||||||
|
␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍
|
||||||
|
␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍
|
||||||
|
|
||||||
|
␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍␍
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Binary file not shown.
@@ -0,0 +1,4 @@
|
|||||||
|
[4,[5,[5,[4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[0,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[243,[[5,[5,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[6,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[0,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[7,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4444444444444444444444444444444444444444444444444444444444444444444444444444,[5,[5,[5.75,775,[5,7,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,333333333
|
||||||
|
,0,333333333
|
||||||
|
,0,3333,null,0,null,null,[1,[1,null,null,null,[0,null,null,0,null,null,null,[0,null,8333334
|
||||||
|
,0,0,333,[5,[5,[[5,[5,[41,
|
||||||
Binary file not shown.
@@ -0,0 +1,89 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,8,[[1.8,[3,[8,[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ 8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[8,[
|
||||||
|
[[-418,[8,[[[[{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,1.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ 8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},6,[-41.8,[8,[8.8,[8,[[[{},{}, [[["\uD0D80\uD60Du0\uDD8D\uDDD80D?0\u[{},{},[[falF0DDuse, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-410^^^^^^^^^^^^^^,^^^^^^^^^^^^^8,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,É[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,[[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
["[-Ò418,
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,79 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
|
||||||
|
|
||||||
|
-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,␍9777E-1,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[83,6663,66666666,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[4,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[{"x":[{"id": "xxxxxxxxxxxxxxxxXx"}],"x":[{"i":[{"id":"xxx"}],"x":[{"d": "vxxxx[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
|
||||||
|
|
||||||
|
-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[se, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, "i": [[["{},{},[[false, {[false,_ "ffa2ffa\udafa\udffad@fa\uda!a\udff41.8,[8,[8,[[[
|
||||||
|
[8{},[-[
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
|
||||||
|
␍ [[0,0,[
|
||||||
|
12011111111112111111110,5,[
|
||||||
|
|
||||||
|
[[],[],[{">>>>>>>>>>>>>>>)>>>>>>;":[{"":[[{"":[{"":[{"":[{"":[{"":[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[ null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[4,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[4,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,55,5,[[5,[4,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[ [-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-73,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[ null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,5,[5,[415,4,[5,[5,[5,55,5,[[5,[4,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-3,[8,[[41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[6,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[5,[5,5,[5,{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[{"":[f
|
||||||
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -0,0 +1,61 @@
|
|||||||
|
[[[{},{}, [[[{},{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8.8,[8,[[[{},{}, [[[{},{},[[false, [[false, [[[{},8, [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,␍9777E-1,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[11111111111111055,
|
||||||
|
-612111111110,0,[
|
||||||
|
[true,[[[ [[[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8 ,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41,{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[7,[[[[41.8,[8,[8,[[[[ [[[ [[-41.8,[3,[8,[[[[ [[[
|
||||||
|
[[-418,[8,[[[
|
||||||
|
[[-41.8,[8,[8,
|
||||||
|
[[-41.8,[-41.8,[8,[8,[[[[[-41.8,[8,[
|
||||||
|
[[-418,[8,[[[[[[-41.8,[8,[8,[[[[ [[[
|
||||||
|
[[-41,{},[[[[{},{}, [[[{},{},[[false, [[false, [[[{},8,[-41.8,[8,[8,[[[[[-20.8,[8,[8,[[1.8,[3,[ "8[[-418,udafaadu\b2fffa\udafa\ud[-[
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[4,[5,[5,[4,[6,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[0,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[0,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[7,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4444444444444444444444444444444444444444444444444444444444444444444444444444,[5,[5,[5.75,775,[5,7,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[[null,[415,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[413,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,[5,[5,[415,[4,[5,[5,[4,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[5,[4,5,[5,5,[[[5,5,[5,[5,[5,[[null,5,[5,[5,[[5,[5,[415,[4,[5,[5,[3,[5,[5,[5,5,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,0,[[5,[4,[5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,4,5,[[5,5,[5,[5,[[null,[415,[4,[5,[[5,[4,[5,[5,[5,5,[5,[4,[[5,[5,[415,4,[5,[5,[5,55,5,[[5,[4,[5,[5,[5,5,[5,[5,[[5,[5,[415,[4,[5,[5,[[0,[[nu
|
||||||
File diff suppressed because one or more lines are too long
@@ -50,7 +50,8 @@ enum WeaselJsonFlags {
|
|||||||
/** Create a parser. Increasing stack size increases memory usage but also
|
/** Create a parser. Increasing stack size increases memory usage but also
|
||||||
* increases the depth of nested json accepted. `callbacks` and `userdata` must
|
* increases the depth of nested json accepted. `callbacks` and `userdata` must
|
||||||
* outlive the returned parser. Returns null if there's insufficient available
|
* outlive the returned parser. Returns null if there's insufficient available
|
||||||
* memory */
|
* memory, or if `stackSize` is negative or too small to hold a minimal
|
||||||
|
* document. */
|
||||||
WeaselJsonParser *WeaselJsonParser_create(int stackSize,
|
WeaselJsonParser *WeaselJsonParser_create(int stackSize,
|
||||||
const WeaselJsonCallbacks *callbacks,
|
const WeaselJsonCallbacks *callbacks,
|
||||||
void *userdata, int flags);
|
void *userdata, int flags);
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@ std::pair<std::string, WeaselJsonStatus> runBatch(std::string copy) {
|
|||||||
SerializeState state;
|
SerializeState state;
|
||||||
auto c = serializeCallbacks();
|
auto c = serializeCallbacks();
|
||||||
std::unique_ptr<WeaselJsonParser, decltype(&WeaselJsonParser_destroy)> parser{
|
std::unique_ptr<WeaselJsonParser, decltype(&WeaselJsonParser_destroy)> parser{
|
||||||
WeaselJsonParser_create(1024, &c, &state,
|
WeaselJsonParser_create(1 << 20, &c, &state,
|
||||||
copy.size() % 2 == 0 ? WeaselJsonRaw : 0),
|
copy.size() % 2 == 0 ? WeaselJsonRaw : 0),
|
||||||
WeaselJsonParser_destroy};
|
WeaselJsonParser_destroy};
|
||||||
auto s = WeaselJsonParser_parse(parser.get(), copy.data(), copy.size());
|
auto s = WeaselJsonParser_parse(parser.get(), copy.data(), copy.size());
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
#include <cstddef>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <fstream>
|
||||||
|
#include <sstream>
|
||||||
|
|
||||||
|
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
|
||||||
|
|
||||||
|
int main(int argc, char **argv) {
|
||||||
|
auto doTest = [&]() {
|
||||||
|
for (int i = 1; i < argc; ++i) {
|
||||||
|
std::ifstream t(argv[i], std::ios::binary);
|
||||||
|
std::stringstream buffer;
|
||||||
|
buffer << t.rdbuf();
|
||||||
|
auto str = buffer.str();
|
||||||
|
LLVMFuzzerTestOneInput((const uint8_t *)str.data(), str.size());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
doTest();
|
||||||
|
}
|
||||||
+12
-3
@@ -10,12 +10,21 @@ extern "C" {
|
|||||||
__attribute__((visibility("default"))) WeaselJsonParser *
|
__attribute__((visibility("default"))) WeaselJsonParser *
|
||||||
WeaselJsonParser_create(int stackSize, const WeaselJsonCallbacks *callbacks,
|
WeaselJsonParser_create(int stackSize, const WeaselJsonCallbacks *callbacks,
|
||||||
void *userdata, int flags) {
|
void *userdata, int flags) {
|
||||||
auto *buf = malloc(sizeof(Parser3) + stackSize * sizeof(*Parser3::stackPtr));
|
if (stackSize < 0) { // avoid (size_t)stackSize wrapping to a huge allocation
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
auto *buf =
|
||||||
|
malloc(sizeof(Parser3) + (size_t)stackSize * sizeof(*Parser3::stackPtr));
|
||||||
if (buf == nullptr) {
|
if (buf == nullptr) {
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
return (WeaselJsonParser *)new (buf)
|
auto *parser = new (buf) Parser3{callbacks, userdata, stackSize, flags};
|
||||||
Parser3{callbacks, userdata, stackSize, flags};
|
if (parser->empty()) { // stack too small to hold reset()'s bootstrap symbols
|
||||||
|
parser->~Parser3();
|
||||||
|
free(buf);
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
return (WeaselJsonParser *)parser;
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__((visibility("default"))) void
|
__attribute__((visibility("default"))) void
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#if __has_attribute(musttail)
|
#if __has_attribute(musttail)
|
||||||
#define MUSTTAIL __attribute__((musttail))
|
#define MUSTTAIL __attribute__((musttail))
|
||||||
|
#define HAS_MUSTTAIL
|
||||||
#else
|
#else
|
||||||
#define MUSTTAIL
|
#define MUSTTAIL
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+136
-82
@@ -17,20 +17,29 @@
|
|||||||
|
|
||||||
namespace parser3 {
|
namespace parser3 {
|
||||||
|
|
||||||
// Calling a continuation with buf == bufEnd means end of input
|
// The internal result of a parse step: a WeaselJsonStatus value, or kBounce.
|
||||||
typedef PRESERVE_NONE WeaselJsonStatus (*Continuation)(struct Parser3 *,
|
// It's a plain int (not WeaselJsonStatus) so the no-musttail trampoline's
|
||||||
char *buf, char *bufEnd);
|
// out-of-range sentinel never forms an out-of-range enum value (that would be
|
||||||
|
// UB, since the public WeaselJsonStatus has no fixed underlying type). parse()
|
||||||
|
// converts back to WeaselJsonStatus at the boundary, where it is always 0..3.
|
||||||
|
using ContinuationStatus = int;
|
||||||
|
[[maybe_unused]] inline constexpr ContinuationStatus kBounce = -1;
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_object2(Parser3 *self, char *buf,
|
// Calling a continuation with buf == bufEnd means end of input
|
||||||
char *bufEnd);
|
typedef PRESERVE_NONE ContinuationStatus (*Continuation)(struct Parser3 *,
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_array2(Parser3 *self, char *buf,
|
char *buf,
|
||||||
char *bufEnd);
|
char *bufEnd);
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_string2(Parser3 *self, char *buf,
|
|
||||||
char *bufEnd);
|
inline PRESERVE_NONE ContinuationStatus n_object2(Parser3 *self, char *buf,
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_string(Parser3 *self, char *buf,
|
char *bufEnd);
|
||||||
char *bufEnd);
|
inline PRESERVE_NONE ContinuationStatus n_array2(Parser3 *self, char *buf,
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_number(Parser3 *self, char *buf,
|
char *bufEnd);
|
||||||
char *bufEnd);
|
inline PRESERVE_NONE ContinuationStatus n_string2(Parser3 *self, char *buf,
|
||||||
|
char *bufEnd);
|
||||||
|
inline PRESERVE_NONE ContinuationStatus n_string(Parser3 *self, char *buf,
|
||||||
|
char *bufEnd);
|
||||||
|
inline PRESERVE_NONE ContinuationStatus n_number(Parser3 *self, char *buf,
|
||||||
|
char *bufEnd);
|
||||||
|
|
||||||
// These appear in the stack of the pushdown
|
// These appear in the stack of the pushdown
|
||||||
// automata
|
// automata
|
||||||
@@ -121,14 +130,20 @@ struct Parser3 {
|
|||||||
return *(stackPtr - 1);
|
return *(stackPtr - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static PRESERVE_NONE WeaselJsonStatus keepGoing(Parser3 *self, char *buf,
|
static PRESERVE_NONE ContinuationStatus keepGoing(Parser3 *self, char *buf,
|
||||||
char *bufEnd);
|
char *bufEnd);
|
||||||
|
|
||||||
Symbol *stack() const { return (Symbol *)(this + 1); }
|
Symbol *stack() const { return (Symbol *)(this + 1); }
|
||||||
|
|
||||||
void reset() {
|
void reset() {
|
||||||
stackPtr = stack();
|
stackPtr = stack();
|
||||||
std::ignore = push({N_VALUE, N_WHITESPACE, T_EOF});
|
std::ignore = push({N_VALUE, N_WHITESPACE, T_EOF});
|
||||||
|
inKey = false;
|
||||||
|
utf8Codepoint = 0;
|
||||||
|
utf16Surrogate = 0;
|
||||||
|
minCodepoint = 0;
|
||||||
|
numDfa.reset();
|
||||||
|
strDfa.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Used for flushing pending data with on_*_data callbacks
|
// Used for flushing pending data with on_*_data callbacks
|
||||||
@@ -146,9 +161,26 @@ struct Parser3 {
|
|||||||
NumDfa numDfa;
|
NumDfa numDfa;
|
||||||
Utf8Dfa strDfa;
|
Utf8Dfa strDfa;
|
||||||
bool inKey = false;
|
bool inKey = false;
|
||||||
|
|
||||||
|
#ifndef HAS_MUSTTAIL
|
||||||
|
char *stashBufForTrampoline;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus skipWhitespace(char *&buf, char *bufEnd) {
|
// Transfer control to continuation `fn`, whose Symbol must already be on top of
|
||||||
|
// the stack. With musttail this is a direct tail call (fast path). Without it,
|
||||||
|
// a direct call would recurse on the C stack (e.g. n_value -> n_array2 ->
|
||||||
|
// n_value for nested arrays, or n_string2 -> n_string2 for runs of escapes) and
|
||||||
|
// overflow on deep input; instead we bounce to the parse() trampoline, which
|
||||||
|
// re-dispatches continuations[top()] == fn without growing the stack.
|
||||||
|
#ifdef HAS_MUSTTAIL
|
||||||
|
#define TAILCALL(fn) MUSTTAIL return fn(self, buf, bufEnd)
|
||||||
|
#else
|
||||||
|
#define TAILCALL(fn) return Parser3::keepGoing(self, buf, bufEnd)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
inline PRESERVE_NONE ContinuationStatus skipWhitespace(char *&buf,
|
||||||
|
char *bufEnd) {
|
||||||
constexpr int kStride = 4;
|
constexpr int kStride = 4;
|
||||||
for (;;) {
|
for (;;) {
|
||||||
if (bufEnd - buf < kStride) [[unlikely]] {
|
if (bufEnd - buf < kStride) [[unlikely]] {
|
||||||
@@ -167,8 +199,8 @@ inline PRESERVE_NONE WeaselJsonStatus skipWhitespace(char *&buf, char *bufEnd) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_whitespace(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_whitespace(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) {
|
if (buf == bufEnd) {
|
||||||
self->pop();
|
self->pop();
|
||||||
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
||||||
@@ -180,8 +212,8 @@ inline PRESERVE_NONE WeaselJsonStatus n_whitespace(Parser3 *self, char *buf,
|
|||||||
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_number(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_number(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf != bufEnd) {
|
if (buf != bufEnd) {
|
||||||
buf = (char *)self->numDfa.scan(buf, bufEnd);
|
buf = (char *)self->numDfa.scan(buf, bufEnd);
|
||||||
if (buf == bufEnd) {
|
if (buf == bufEnd) {
|
||||||
@@ -200,9 +232,9 @@ inline PRESERVE_NONE WeaselJsonStatus n_number(Parser3 *self, char *buf,
|
|||||||
// Advance buf until double quote, backslash, invalid utf8, or codepoint <
|
// Advance buf until double quote, backslash, invalid utf8, or codepoint <
|
||||||
// 0x20
|
// 0x20
|
||||||
template <class V>
|
template <class V>
|
||||||
inline PRESERVE_NONE WeaselJsonStatus scan_string_impl(Parser3 *self,
|
inline PRESERVE_NONE ContinuationStatus scan_string_impl(Parser3 *self,
|
||||||
char *&buf,
|
char *&buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
const auto before = buf;
|
const auto before = buf;
|
||||||
|
|
||||||
// Advance buf past characters that transition the accept state to itself
|
// Advance buf past characters that transition the accept state to itself
|
||||||
@@ -249,34 +281,34 @@ inline PRESERVE_NONE WeaselJsonStatus scan_string_impl(Parser3 *self,
|
|||||||
|
|
||||||
#ifdef __x86_64__
|
#ifdef __x86_64__
|
||||||
constexpr int kLanes = 32;
|
constexpr int kLanes = 32;
|
||||||
template WeaselJsonStatus
|
template ContinuationStatus
|
||||||
scan_string_impl<simd<int8_t, kLanes, sse::Simd_x86_SSE>>(Parser3 *, char *&,
|
scan_string_impl<simd<int8_t, kLanes, sse::Simd_x86_SSE>>(Parser3 *, char *&,
|
||||||
char *);
|
char *);
|
||||||
|
|
||||||
template __attribute__((target("avx2"))) WeaselJsonStatus
|
template __attribute__((target("avx2"))) ContinuationStatus
|
||||||
scan_string_impl<simd<int8_t, kLanes, sse::Simd_x86_AVX2>>(Parser3 *, char *&,
|
scan_string_impl<simd<int8_t, kLanes, sse::Simd_x86_AVX2>>(Parser3 *, char *&,
|
||||||
char *);
|
char *);
|
||||||
|
|
||||||
__attribute__((target("default"))) inline PRESERVE_NONE WeaselJsonStatus
|
__attribute__((target("default"))) inline PRESERVE_NONE ContinuationStatus
|
||||||
scan_string(Parser3 *self, char *&buf, char *bufEnd) {
|
scan_string(Parser3 *self, char *&buf, char *bufEnd) {
|
||||||
MUSTTAIL return scan_string_impl<simd<int8_t, kLanes, sse::Simd_x86_SSE>>(
|
MUSTTAIL return scan_string_impl<simd<int8_t, kLanes, sse::Simd_x86_SSE>>(
|
||||||
self, buf, bufEnd);
|
self, buf, bufEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
__attribute__((target("avx2"))) inline PRESERVE_NONE WeaselJsonStatus
|
__attribute__((target("avx2"))) inline PRESERVE_NONE ContinuationStatus
|
||||||
scan_string(Parser3 *self, char *&buf, char *bufEnd) {
|
scan_string(Parser3 *self, char *&buf, char *bufEnd) {
|
||||||
MUSTTAIL return scan_string_impl<simd<int8_t, kLanes, sse::Simd_x86_AVX2>>(
|
MUSTTAIL return scan_string_impl<simd<int8_t, kLanes, sse::Simd_x86_AVX2>>(
|
||||||
self, buf, bufEnd);
|
self, buf, bufEnd);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
inline PRESERVE_NONE WeaselJsonStatus scan_string(Parser3 *self, char *&buf,
|
inline PRESERVE_NONE ContinuationStatus scan_string(Parser3 *self, char *&buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
MUSTTAIL return scan_string_impl<simd<int8_t, 32>>(self, buf, bufEnd);
|
MUSTTAIL return scan_string_impl<simd<int8_t, 32>>(self, buf, bufEnd);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_value(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_value(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -292,7 +324,7 @@ inline PRESERVE_NONE WeaselJsonStatus n_value(Parser3 *self, char *buf,
|
|||||||
if (buf == bufEnd) {
|
if (buf == bufEnd) {
|
||||||
return WeaselJson_AGAIN;
|
return WeaselJson_AGAIN;
|
||||||
}
|
}
|
||||||
MUSTTAIL return n_object2(self, buf, bufEnd);
|
TAILCALL(n_object2);
|
||||||
case '[':
|
case '[':
|
||||||
self->callbacks->on_begin_array(self->userdata);
|
self->callbacks->on_begin_array(self->userdata);
|
||||||
++buf;
|
++buf;
|
||||||
@@ -301,7 +333,7 @@ inline PRESERVE_NONE WeaselJsonStatus n_value(Parser3 *self, char *buf,
|
|||||||
if (buf == bufEnd) {
|
if (buf == bufEnd) {
|
||||||
return WeaselJson_AGAIN;
|
return WeaselJson_AGAIN;
|
||||||
}
|
}
|
||||||
MUSTTAIL return n_array2(self, buf, bufEnd);
|
TAILCALL(n_array2);
|
||||||
case '"':
|
case '"':
|
||||||
++buf;
|
++buf;
|
||||||
self->dataBegin = self->writeBuf = buf;
|
self->dataBegin = self->writeBuf = buf;
|
||||||
@@ -311,7 +343,7 @@ inline PRESERVE_NONE WeaselJsonStatus n_value(Parser3 *self, char *buf,
|
|||||||
if (buf == bufEnd) {
|
if (buf == bufEnd) {
|
||||||
return WeaselJson_AGAIN;
|
return WeaselJson_AGAIN;
|
||||||
}
|
}
|
||||||
MUSTTAIL return n_string2(self, buf, bufEnd);
|
TAILCALL(n_string2);
|
||||||
case '0':
|
case '0':
|
||||||
case '1':
|
case '1':
|
||||||
case '2':
|
case '2':
|
||||||
@@ -330,7 +362,7 @@ inline PRESERVE_NONE WeaselJsonStatus n_value(Parser3 *self, char *buf,
|
|||||||
if (buf == bufEnd) {
|
if (buf == bufEnd) {
|
||||||
return WeaselJson_AGAIN;
|
return WeaselJson_AGAIN;
|
||||||
}
|
}
|
||||||
MUSTTAIL return n_number(self, buf, bufEnd);
|
TAILCALL(n_number);
|
||||||
case 't':
|
case 't':
|
||||||
++buf;
|
++buf;
|
||||||
self->pop();
|
self->pop();
|
||||||
@@ -388,8 +420,8 @@ inline PRESERVE_NONE WeaselJsonStatus n_value(Parser3 *self, char *buf,
|
|||||||
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_object2(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_object2(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -418,14 +450,14 @@ inline PRESERVE_NONE WeaselJsonStatus n_object2(Parser3 *self, char *buf,
|
|||||||
if (buf == bufEnd) {
|
if (buf == bufEnd) {
|
||||||
return WeaselJson_AGAIN;
|
return WeaselJson_AGAIN;
|
||||||
}
|
}
|
||||||
MUSTTAIL return n_string2(self, buf, bufEnd);
|
TAILCALL(n_string2);
|
||||||
default:
|
default:
|
||||||
[[unlikely]] return WeaselJson_REJECT;
|
[[unlikely]] return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_object3(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_object3(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -464,14 +496,14 @@ inline PRESERVE_NONE WeaselJsonStatus n_object3(Parser3 *self, char *buf,
|
|||||||
if (buf == bufEnd) {
|
if (buf == bufEnd) {
|
||||||
return WeaselJson_AGAIN;
|
return WeaselJson_AGAIN;
|
||||||
}
|
}
|
||||||
MUSTTAIL return n_string2(self, buf, bufEnd);
|
TAILCALL(n_string2);
|
||||||
default:
|
default:
|
||||||
[[unlikely]] return WeaselJson_REJECT;
|
[[unlikely]] return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_array2(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_array2(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -492,12 +524,12 @@ inline PRESERVE_NONE WeaselJsonStatus n_array2(Parser3 *self, char *buf,
|
|||||||
if (auto s = self->push({N_VALUE, N_ARRAY3})) {
|
if (auto s = self->push({N_VALUE, N_ARRAY3})) {
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
MUSTTAIL return n_value(self, buf, bufEnd);
|
TAILCALL(n_value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_array3(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_array3(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -522,14 +554,14 @@ inline PRESERVE_NONE WeaselJsonStatus n_array3(Parser3 *self, char *buf,
|
|||||||
if (buf == bufEnd) {
|
if (buf == bufEnd) {
|
||||||
return WeaselJson_AGAIN;
|
return WeaselJson_AGAIN;
|
||||||
}
|
}
|
||||||
MUSTTAIL return n_value(self, buf, bufEnd);
|
TAILCALL(n_value);
|
||||||
default:
|
default:
|
||||||
[[unlikely]] return WeaselJson_REJECT;
|
[[unlikely]] return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_string(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_string(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -547,7 +579,7 @@ inline PRESERVE_NONE WeaselJsonStatus n_string(Parser3 *self, char *buf,
|
|||||||
if (buf == bufEnd) {
|
if (buf == bufEnd) {
|
||||||
return WeaselJson_AGAIN;
|
return WeaselJson_AGAIN;
|
||||||
}
|
}
|
||||||
MUSTTAIL return n_string2(self, buf, bufEnd);
|
TAILCALL(n_string2);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline int32_t read4_hex(const char *buf) {
|
inline int32_t read4_hex(const char *buf) {
|
||||||
@@ -555,8 +587,8 @@ inline int32_t read4_hex(const char *buf) {
|
|||||||
tables.hex[uint8_t(buf[2])] << 4 | tables.hex[uint8_t(buf[3])] << 0;
|
tables.hex[uint8_t(buf[2])] << 4 | tables.hex[uint8_t(buf[3])] << 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_string2(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_string2(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -650,16 +682,15 @@ inline PRESERVE_NONE WeaselJsonStatus n_string2(Parser3 *self, char *buf,
|
|||||||
self->flushString(false, buf);
|
self->flushString(false, buf);
|
||||||
return WeaselJson_AGAIN;
|
return WeaselJson_AGAIN;
|
||||||
}
|
}
|
||||||
MUSTTAIL return n_string2(self, buf, bufEnd);
|
TAILCALL(n_string2);
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
[[unlikely]] return WeaselJson_REJECT;
|
[[unlikely]] return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_string_following_escape(Parser3 *self,
|
inline PRESERVE_NONE ContinuationStatus
|
||||||
char *buf,
|
n_string_following_escape(Parser3 *self, char *buf, char *bufEnd) {
|
||||||
char *bufEnd) {
|
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -697,8 +728,8 @@ inline PRESERVE_NONE WeaselJsonStatus n_string_following_escape(Parser3 *self,
|
|||||||
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus t_hex(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus t_hex(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -717,8 +748,8 @@ inline PRESERVE_NONE WeaselJsonStatus t_hex(Parser3 *self, char *buf,
|
|||||||
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus t_hex2(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus t_hex2(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -806,8 +837,8 @@ inline PRESERVE_NONE WeaselJsonStatus t_hex2(Parser3 *self, char *buf,
|
|||||||
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
MUSTTAIL return Parser3::keepGoing(self, buf, bufEnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus t_hex3(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus t_hex3(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -868,9 +899,9 @@ inline PRESERVE_NONE WeaselJsonStatus t_hex3(Parser3 *self, char *buf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <char kChar>
|
template <char kChar>
|
||||||
inline PRESERVE_NONE WeaselJsonStatus singleCharInString(Parser3 *self,
|
inline PRESERVE_NONE ContinuationStatus singleCharInString(Parser3 *self,
|
||||||
char *buf,
|
char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -887,8 +918,8 @@ inline PRESERVE_NONE WeaselJsonStatus singleCharInString(Parser3 *self,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_true(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_true(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -905,8 +936,8 @@ inline PRESERVE_NONE WeaselJsonStatus n_true(Parser3 *self, char *buf,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_false(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_false(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -923,8 +954,8 @@ inline PRESERVE_NONE WeaselJsonStatus n_false(Parser3 *self, char *buf,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus n_null(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus n_null(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -942,8 +973,8 @@ inline PRESERVE_NONE WeaselJsonStatus n_null(Parser3 *self, char *buf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <char kChar>
|
template <char kChar>
|
||||||
inline PRESERVE_NONE WeaselJsonStatus singleChar(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus singleChar(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -959,8 +990,8 @@ inline PRESERVE_NONE WeaselJsonStatus singleChar(Parser3 *self, char *buf,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus t_colon(Parser3 *self, char *buf,
|
inline PRESERVE_NONE ContinuationStatus t_colon(Parser3 *self, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf == bufEnd) [[unlikely]] {
|
if (buf == bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -981,8 +1012,8 @@ inline PRESERVE_NONE WeaselJsonStatus t_colon(Parser3 *self, char *buf,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus t_eof(Parser3 *, char *buf,
|
inline PRESERVE_NONE ContinuationStatus t_eof(Parser3 *, char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
if (buf != bufEnd) [[unlikely]] {
|
if (buf != bufEnd) [[unlikely]] {
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
}
|
}
|
||||||
@@ -993,7 +1024,8 @@ constexpr inline struct ContinuationTable {
|
|||||||
constexpr ContinuationTable() {
|
constexpr ContinuationTable() {
|
||||||
// Defaults
|
// Defaults
|
||||||
for (int i = 0; i < N_SYMBOL_COUNT; ++i) {
|
for (int i = 0; i < N_SYMBOL_COUNT; ++i) {
|
||||||
continuations[i] = +[](struct Parser3 *, char *, char *) PRESERVE_NONE {
|
continuations[i] = +[](struct Parser3 *, char *, char *)
|
||||||
|
PRESERVE_NONE -> ContinuationStatus {
|
||||||
printf("unimplemented\n");
|
printf("unimplemented\n");
|
||||||
return WeaselJson_REJECT;
|
return WeaselJson_REJECT;
|
||||||
};
|
};
|
||||||
@@ -1029,13 +1061,35 @@ constexpr inline struct ContinuationTable {
|
|||||||
|
|
||||||
inline WeaselJsonStatus Parser3::parse(char *buf, int len) {
|
inline WeaselJsonStatus Parser3::parse(char *buf, int len) {
|
||||||
this->dataBegin = this->writeBuf = buf;
|
this->dataBegin = this->writeBuf = buf;
|
||||||
return symbolTables.continuations[top()](this, buf, buf + len);
|
|
||||||
|
#ifdef HAS_MUSTTAIL
|
||||||
|
// The continuation returns a value in 0..3 here (kBounce is only used by the
|
||||||
|
// no-musttail trampoline below), so the conversion back to the enum is in
|
||||||
|
// range.
|
||||||
|
return WeaselJsonStatus(
|
||||||
|
symbolTables.continuations[top()](this, buf, buf + len));
|
||||||
|
#else
|
||||||
|
this->stashBufForTrampoline = buf;
|
||||||
|
ContinuationStatus result;
|
||||||
|
while ((result = symbolTables.continuations[top()](
|
||||||
|
this, stashBufForTrampoline, buf + len)) == kBounce)
|
||||||
|
;
|
||||||
|
return WeaselJsonStatus(result);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
inline PRESERVE_NONE WeaselJsonStatus Parser3::keepGoing(Parser3 *self,
|
inline PRESERVE_NONE ContinuationStatus Parser3::keepGoing(Parser3 *self,
|
||||||
char *buf,
|
char *buf,
|
||||||
char *bufEnd) {
|
char *bufEnd) {
|
||||||
|
#ifdef HAS_MUSTTAIL
|
||||||
MUSTTAIL return symbolTables.continuations[self->top()](self, buf, bufEnd);
|
MUSTTAIL return symbolTables.continuations[self->top()](self, buf, bufEnd);
|
||||||
|
#else
|
||||||
|
self->stashBufForTrampoline = buf;
|
||||||
|
(void)bufEnd;
|
||||||
|
return kBounce;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#undef TAILCALL
|
||||||
|
|
||||||
} // namespace parser3
|
} // namespace parser3
|
||||||
|
|||||||
@@ -202,8 +202,68 @@ TEST_CASE("parser3") {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_CASE("create rejects too-small stack") {
|
||||||
|
auto c = noopCallbacks();
|
||||||
|
// The parser needs room for the bootstrap symbols pushed by reset(); a stack
|
||||||
|
// that's too small (or negative) must yield null rather than an unusable
|
||||||
|
// parser that crashes on the first parse() (out-of-bounds read of the empty
|
||||||
|
// stack).
|
||||||
|
for (int stackSize : {-1, 0, 1, 2}) {
|
||||||
|
REQUIRE(WeaselJsonParser_create(stackSize, &c, nullptr, 0) == nullptr);
|
||||||
|
}
|
||||||
|
// A just-big-enough stack still works for a minimal document.
|
||||||
|
auto *parser = WeaselJsonParser_create(3, &c, nullptr, 0);
|
||||||
|
REQUIRE(parser != nullptr);
|
||||||
|
std::string copy = "1";
|
||||||
|
REQUIRE(WeaselJsonParser_parse(parser, copy.data(), copy.size()) ==
|
||||||
|
WeaselJson_AGAIN);
|
||||||
|
REQUIRE(WeaselJsonParser_parse(parser, nullptr, 0) == WeaselJson_OK);
|
||||||
|
WeaselJsonParser_destroy(parser);
|
||||||
|
}
|
||||||
|
|
||||||
TEST_CASE("streaming") { testStreaming(json); }
|
TEST_CASE("streaming") { testStreaming(json); }
|
||||||
|
|
||||||
|
TEST_CASE("reset clears inKey and transient state") {
|
||||||
|
struct State {
|
||||||
|
std::string stringData;
|
||||||
|
std::string keyData;
|
||||||
|
} state;
|
||||||
|
auto c = noopCallbacks();
|
||||||
|
c.on_string_data = +[](void *p, const char *buf, int len, int /*done*/) {
|
||||||
|
((State *)p)->stringData.append(buf, len);
|
||||||
|
};
|
||||||
|
c.on_key_data = +[](void *p, const char *buf, int len, int /*done*/) {
|
||||||
|
((State *)p)->keyData.append(buf, len);
|
||||||
|
};
|
||||||
|
|
||||||
|
auto *parser = WeaselJsonParser_create(1024, &c, &state, 0);
|
||||||
|
REQUIRE(parser != nullptr);
|
||||||
|
|
||||||
|
{
|
||||||
|
std::string chunk = "{\"ab";
|
||||||
|
REQUIRE(WeaselJsonParser_parse(parser, chunk.data(), chunk.size()) ==
|
||||||
|
WeaselJson_AGAIN);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset mid-key: the next top-level string must be delivered as a string,
|
||||||
|
// not appended to the aborted key.
|
||||||
|
WeaselJsonParser_reset(parser);
|
||||||
|
state.stringData.clear();
|
||||||
|
state.keyData.clear();
|
||||||
|
|
||||||
|
{
|
||||||
|
std::string chunk = "\"hello\"";
|
||||||
|
REQUIRE(WeaselJsonParser_parse(parser, chunk.data(), chunk.size()) ==
|
||||||
|
WeaselJson_AGAIN);
|
||||||
|
}
|
||||||
|
REQUIRE(WeaselJsonParser_parse(parser, nullptr, 0) == WeaselJson_OK);
|
||||||
|
|
||||||
|
CHECK(state.stringData == "hello");
|
||||||
|
CHECK(state.keyData.empty());
|
||||||
|
|
||||||
|
WeaselJsonParser_destroy(parser);
|
||||||
|
}
|
||||||
|
|
||||||
void doTestUnescapingUtf8(std::string const &escaped,
|
void doTestUnescapingUtf8(std::string const &escaped,
|
||||||
std::string const &expected, int stride, int flags) {
|
std::string const &expected, int stride, int flags) {
|
||||||
CAPTURE(escaped);
|
CAPTURE(escaped);
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
import json
|
||||||
|
|
||||||
|
import weaseljson
|
||||||
|
|
||||||
|
|
||||||
|
class Recorder(weaseljson.WeaselJsonCallbacksBase):
|
||||||
|
def __init__(self):
|
||||||
|
self.keys = []
|
||||||
|
self.strings = []
|
||||||
|
self.numbers = []
|
||||||
|
self.events = []
|
||||||
|
self._current = bytearray()
|
||||||
|
|
||||||
|
def _flush(self, target, data, done):
|
||||||
|
self._current.extend(data)
|
||||||
|
if done:
|
||||||
|
target.append(bytes(self._current))
|
||||||
|
self._current = bytearray()
|
||||||
|
|
||||||
|
def on_begin_object(self):
|
||||||
|
self.events.append("begin_object")
|
||||||
|
|
||||||
|
def on_end_object(self):
|
||||||
|
self.events.append("end_object")
|
||||||
|
|
||||||
|
def on_begin_array(self):
|
||||||
|
self.events.append("begin_array")
|
||||||
|
|
||||||
|
def on_end_array(self):
|
||||||
|
self.events.append("end_array")
|
||||||
|
|
||||||
|
def on_key_data(self, data, done):
|
||||||
|
self._flush(self.keys, data, done)
|
||||||
|
|
||||||
|
def on_string_data(self, data, done):
|
||||||
|
self._flush(self.strings, data, done)
|
||||||
|
|
||||||
|
def on_number_data(self, data, done):
|
||||||
|
self._flush(self.numbers, data, done)
|
||||||
|
|
||||||
|
def on_true_literal(self):
|
||||||
|
self.events.append("true")
|
||||||
|
|
||||||
|
def on_false_literal(self):
|
||||||
|
self.events.append("false")
|
||||||
|
|
||||||
|
def on_null_literal(self):
|
||||||
|
self.events.append("null")
|
||||||
|
|
||||||
|
|
||||||
|
def parse_all(parser, data):
|
||||||
|
for i in range(len(data)):
|
||||||
|
status = parser.parse(data[i : i + 1])
|
||||||
|
if status != weaseljson.WeaselJsonStatus.AGAIN:
|
||||||
|
return status
|
||||||
|
return parser.parse(b"")
|
||||||
|
|
||||||
|
|
||||||
|
def test_object_keys_routed_correctly():
|
||||||
|
recorder = Recorder()
|
||||||
|
with weaseljson.WeaselJsonParser(recorder) as parser:
|
||||||
|
status = parse_all(
|
||||||
|
parser, json.dumps({"hello": "world", "foo": "bar"}).encode()
|
||||||
|
)
|
||||||
|
|
||||||
|
assert status == weaseljson.WeaselJsonStatus.OK, status
|
||||||
|
assert recorder.keys == [b"hello", b"foo"], recorder.keys
|
||||||
|
assert recorder.strings == [b"world", b"bar"], recorder.strings
|
||||||
|
|
||||||
|
|
||||||
|
def test_mixed_values():
|
||||||
|
recorder = Recorder()
|
||||||
|
with weaseljson.WeaselJsonParser(recorder) as parser:
|
||||||
|
status = parse_all(
|
||||||
|
parser,
|
||||||
|
json.dumps({"answer": 42, "yes": True, "no": False, "nil": None}).encode(),
|
||||||
|
)
|
||||||
|
|
||||||
|
assert status == weaseljson.WeaselJsonStatus.OK, status
|
||||||
|
assert recorder.keys == [b"answer", b"yes", b"no", b"nil"], recorder.keys
|
||||||
|
assert recorder.numbers == [b"42"], recorder.numbers
|
||||||
|
assert recorder.events.count("true") == 1
|
||||||
|
assert recorder.events.count("false") == 1
|
||||||
|
assert recorder.events.count("null") == 1
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
test_object_keys_routed_correctly()
|
||||||
|
test_mixed_values()
|
||||||
|
print("python bindings ok")
|
||||||
+23
-11
@@ -15,6 +15,7 @@ class WeaselJsonCallbacks(ctypes.Structure):
|
|||||||
("on_begin_object", event_callback),
|
("on_begin_object", event_callback),
|
||||||
("on_end_object", event_callback),
|
("on_end_object", event_callback),
|
||||||
("on_string_data", data_callback),
|
("on_string_data", data_callback),
|
||||||
|
("on_key_data", data_callback),
|
||||||
("on_begin_array", event_callback),
|
("on_begin_array", event_callback),
|
||||||
("on_end_array", event_callback),
|
("on_end_array", event_callback),
|
||||||
("on_number_data", data_callback),
|
("on_number_data", data_callback),
|
||||||
@@ -41,6 +42,9 @@ class WeaselJsonCallbacksBase:
|
|||||||
def on_string_data(self, data, done):
|
def on_string_data(self, data, done):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def on_key_data(self, data, done):
|
||||||
|
pass
|
||||||
|
|
||||||
def on_begin_array(self):
|
def on_begin_array(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -151,6 +155,12 @@ def on_string_data(p, buf, len, done):
|
|||||||
self.on_string_data(bytes(ctypes.string_at(buf, len)), bool(done))
|
self.on_string_data(bytes(ctypes.string_at(buf, len)), bool(done))
|
||||||
|
|
||||||
|
|
||||||
|
@ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_int, ctypes.c_int)
|
||||||
|
def on_key_data(p, buf, len, done):
|
||||||
|
self = ctypes.cast(p, ctypes.POINTER(ctypes.py_object)).contents.value
|
||||||
|
self.on_key_data(bytes(ctypes.string_at(buf, len)), bool(done))
|
||||||
|
|
||||||
|
|
||||||
@ctypes.CFUNCTYPE(None, ctypes.c_void_p)
|
@ctypes.CFUNCTYPE(None, ctypes.c_void_p)
|
||||||
def on_begin_array(p):
|
def on_begin_array(p):
|
||||||
self = ctypes.cast(p, ctypes.POINTER(ctypes.py_object)).contents.value
|
self = ctypes.cast(p, ctypes.POINTER(ctypes.py_object)).contents.value
|
||||||
@@ -191,6 +201,7 @@ c_callbacks = WeaselJsonCallbacks(
|
|||||||
on_begin_object,
|
on_begin_object,
|
||||||
on_end_object,
|
on_end_object,
|
||||||
on_string_data,
|
on_string_data,
|
||||||
|
on_key_data,
|
||||||
on_begin_array,
|
on_begin_array,
|
||||||
on_end_array,
|
on_end_array,
|
||||||
on_number_data,
|
on_number_data,
|
||||||
@@ -206,14 +217,15 @@ class MyCallbacks(WeaselJsonCallbacksBase):
|
|||||||
print(data)
|
print(data)
|
||||||
|
|
||||||
|
|
||||||
with WeaselJsonParser(MyCallbacks()) as parser:
|
if __name__ == "__main__":
|
||||||
raw = json.dumps({"hello": "world", "foo": 42}).encode()
|
with WeaselJsonParser(MyCallbacks()) as parser:
|
||||||
i = 0
|
raw = json.dumps({"hello": "world", "foo": 42}).encode()
|
||||||
stride = 1
|
i = 0
|
||||||
while True:
|
stride = 1
|
||||||
slice = raw[i : i + stride]
|
while True:
|
||||||
s = parser.parse(slice)
|
slice = raw[i : i + stride]
|
||||||
if s != WeaselJsonStatus.AGAIN:
|
s = parser.parse(slice)
|
||||||
break
|
if s != WeaselJsonStatus.AGAIN:
|
||||||
i += stride
|
break
|
||||||
print(s)
|
i += stride
|
||||||
|
print(s)
|
||||||
|
|||||||
Reference in New Issue
Block a user