mirror of https://github.com/trapexit/mergerfs.git
23 changed files with 46693 additions and 112 deletions
-
240AGENTS.md
-
12Makefile
-
17src/branches.cpp
-
8src/branches.hpp
-
61src/favicon_ico.h
-
2src/fs_attr.hpp
-
114src/fs_xattr.cpp
-
10src/fs_xattr.hpp
-
21src/func.cpp
-
13928src/httplib.h
-
997src/index_min_html_gz.h
-
25712src/json.hpp
-
3src/mergerfs.cpp
-
101src/mergerfs_api.cpp
-
18src/mergerfs_api.hpp
-
2src/mergerfs_collect_info.cpp
-
2src/mergerfs_fsck.cpp
-
573src/mergerfs_webui.cpp
-
10src/mergerfs_webui.hpp
-
1947src/nonstd/span.hpp
-
53src/str.cpp
-
22src/str.hpp
-
2952webui/index.html
@ -0,0 +1,240 @@ |
|||
# mergerfs - AGENTS.md |
|||
|
|||
This file contains build commands, testing procedures, and code style guidelines for agentic coding assistants working in this repository. |
|||
|
|||
```bash |
|||
# Build project |
|||
make |
|||
|
|||
# Build tests |
|||
make tests |
|||
|
|||
# Clean build artifacts |
|||
make clean |
|||
|
|||
# Build with specific options |
|||
make USE_XATTR=0 # Build without xattr support |
|||
make STATIC=1 # Build static binary |
|||
make LTO=1 # Enable link-time optimization |
|||
|
|||
# Build with debugging and sanitizers |
|||
make NDEBUG= SANITIZE=1 |
|||
|
|||
# Install |
|||
make install |
|||
``` |
|||
|
|||
### Unit Tests (C++) |
|||
|
|||
```bash |
|||
# Build tests |
|||
make tests |
|||
|
|||
# Run all unit tests |
|||
./build/tests <test_name> |
|||
# Example: ./build/tests config_bool |
|||
|
|||
# Run all tests via acutest framework |
|||
./build/tests |
|||
``` |
|||
|
|||
### Integration Tests (Python) |
|||
|
|||
```bash |
|||
# Build the main binary first |
|||
make |
|||
|
|||
# Run all integration tests |
|||
./tests/run-tests <path-to-mergerfs-binary> |
|||
# Example: ./tests/run-tests ./build/mergerfs |
|||
|
|||
# Run a single integration test directly |
|||
./tests/TEST_unlink_rename <path-to-mergerfs-binary> |
|||
``` |
|||
|
|||
## Code Style Guidelines |
|||
|
|||
### File Organization |
|||
|
|||
- **Source files**: `src/*.cpp` |
|||
- **Header files**: `src/*.hpp` |
|||
- **Tests**: `tests/*.cpp` (unit), `tests/TEST_*` (integration) |
|||
- **Build**: `Makefile` (no build system generators) |
|||
|
|||
### License Headers |
|||
|
|||
Every source file MUST start with the full ISC license header: |
|||
|
|||
```cpp |
|||
/* |
|||
ISC License |
|||
|
|||
Copyright (c) YEAR, Antonio SJ Musumeci <trapexit@spawn.link> |
|||
|
|||
Permission to use, copy, modify, and/or distribute this software for any |
|||
purpose with or without fee is hereby granted, provided that the above |
|||
copyright notice and this permission notice appear in all copies. |
|||
|
|||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
|||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
|||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
|||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
|||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
|||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
|||
OR CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
|||
*/ |
|||
``` |
|||
|
|||
### Include Guards and Ordering |
|||
|
|||
Use `#pragma once` for header guards. Organize includes as: |
|||
|
|||
```cpp |
|||
#include "local_header.hpp" // Local headers first |
|||
#include <system_header> // Then system headers |
|||
|
|||
#include <system_headers.h> // C headers last, if needed |
|||
``` |
|||
|
|||
### Naming Conventions |
|||
|
|||
- **Classes**: `PascalCase` (e.g., `Branches`, `Config`, `Policy`) |
|||
- **Functions/methods**: `snake_case` (e.g., `minfreespace()`, `from_string()`) |
|||
- **Variables**: `snake_case` (e.g., `branches_`, `fusepath_`) |
|||
- **Private members**: `_prefix` (e.g., `_impl`, `_mutex`) |
|||
- **Constants/macros**: `SCREAMING_SNAKE_CASE` (e.g., `MINFREESPACE_DEFAULT`) |
|||
- **Namespaces**: `PascalCase` for major namespaces, `lowercase` for utilities (e.g., `Policy`, `fs`, `str`) |
|||
|
|||
### Indentation and Formatting |
|||
|
|||
- **Indentation**: 2 spaces |
|||
- **Brace style**: K&R style |
|||
- **Line length**: No strict limit, but keep readable (~80-100 chars preferred) |
|||
- **No trailing whitespace** |
|||
|
|||
```cpp |
|||
namespace Policy |
|||
{ |
|||
class ActionImpl |
|||
{ |
|||
public: |
|||
ActionImpl(const std::string &name_) |
|||
: name(name_) |
|||
{ |
|||
} |
|||
|
|||
public: |
|||
std::string name; |
|||
virtual int operator()(...) const = 0; |
|||
}; |
|||
} |
|||
``` |
|||
|
|||
### Types and Type Safety |
|||
|
|||
- **Language**: C++17 (`-std=c++17`) |
|||
- **Use standard types**: `int`, `uint64_t`, `size_t`, etc. |
|||
- **Custom typedefs**: Use `typedef` for common configuration types: |
|||
```cpp |
|||
typedef ToFromWrapper<bool> ConfigBOOL; |
|||
typedef ToFromWrapper<uint64_t> ConfigUINT64; |
|||
``` |
|||
- **Smart pointers**: Use `std::shared_ptr`, `std::unique_ptr` appropriately |
|||
|
|||
### Error Handling |
|||
|
|||
- **Return values**: Functions return `0` for success, negative `errno` for errors |
|||
- **System call errors**: Return negative errno (e.g., `-EACCES`, `-ENOENT`) |
|||
- **Error propagation**: Keep negative errno values through the call stack |
|||
|
|||
```cpp |
|||
int |
|||
fs::some_function(const fs::path &path_) |
|||
{ |
|||
int rv = ::actual_syscall(path_); |
|||
if(rv < 0) |
|||
return -errno; |
|||
return rv; |
|||
} |
|||
``` |
|||
|
|||
Use the `error_and_continue()` macro for policy error handling: |
|||
|
|||
```cpp |
|||
#define error_and_continue(CUR,ERR) \ |
|||
{ \ |
|||
policy::calc_error(CUR,ERR); \ |
|||
continue; \ |
|||
} |
|||
``` |
|||
|
|||
### Functions and Methods |
|||
|
|||
- **Static helpers**: Prefix with `_` when file-local (e.g., `_helper_function()`) |
|||
- **Namespaces**: Explicitly use namespace qualifiers for organization |
|||
- **Parameters**: Pass by const reference for complex types, by value for simple types |
|||
- **Output parameters**: Use pointers or references |
|||
|
|||
```cpp |
|||
static |
|||
int |
|||
_helper_function(const Branches::Ptr &branches_, |
|||
std::vector<Branch*> &paths_) |
|||
{ |
|||
// Implementation |
|||
return 0; |
|||
} |
|||
|
|||
namespace FUSE |
|||
{ |
|||
int |
|||
open(const fuse_req_ctx_t *ctx, |
|||
const char *fusepath, |
|||
fuse_file_info_t *ffi); |
|||
} |
|||
``` |
|||
|
|||
### Testing Style |
|||
|
|||
**Unit tests (C++)** use the Acutest framework: |
|||
|
|||
```cpp |
|||
void |
|||
test_config_bool() |
|||
{ |
|||
ConfigBOOL v; |
|||
|
|||
TEST_CHECK(v.from_string("true") == 0); |
|||
TEST_CHECK(v == true); |
|||
TEST_CHECK(v.to_string() == "true"); |
|||
|
|||
TEST_CHECK(v.from_string("false") == 0); |
|||
TEST_CHECK(v == false); |
|||
TEST_CHECK(v.to_string() == "false"); |
|||
|
|||
TEST_CHECK(v.from_string("asdf") == -EINVAL); |
|||
} |
|||
|
|||
TEST_LIST = |
|||
{ |
|||
{"config_bool",test_config_bool}, |
|||
{NULL,NULL} |
|||
}; |
|||
``` |
|||
|
|||
**Integration tests (Python)** are scripts prefixed with `TEST_` that test specific filesystem behaviors. |
|||
|
|||
### Compiler Warnings |
|||
|
|||
The Makefile uses strict warnings with `-Werror` for: |
|||
- `-Wpessimizing-move` / `-Werror=pessimizing-move` |
|||
- `-Wredundant-move` / `-Werror=redundant-move` |
|||
- `-Wall`, `-Wextra`, `-Wno-unused-result`, `-Wno-unused-parameter` |
|||
|
|||
Code must compile without warnings. |
|||
|
|||
### Version Notes |
|||
|
|||
- Only tagged releases are officially supported |
|||
- `master` and other branches are works in progress |
|||
- Always ensure code compiles and tests pass before submitting changes |
|||
@ -0,0 +1,61 @@ |
|||
unsigned char favicon_ico[] = { |
|||
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, |
|||
0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, |
|||
0x08, 0x06, 0x00, 0x00, 0x00, 0x1f, 0xf3, 0xff, 0x61, 0x00, 0x00, 0x02, |
|||
0x77, 0x49, 0x44, 0x41, 0x54, 0x78, 0x01, 0x8d, 0x92, 0x03, 0x70, 0xdd, |
|||
0x70, 0x1c, 0xc7, 0x33, 0x7b, 0x87, 0xf1, 0x34, 0x2b, 0x49, 0x6d, 0x37, |
|||
0x7d, 0x41, 0x6d, 0x23, 0x49, 0xc7, 0xd3, 0xec, 0x1d, 0x6a, 0x3c, 0xcc, |
|||
0x66, 0x6d, 0xb7, 0x4f, 0xb3, 0xf1, 0x38, 0x7b, 0x3b, 0xcd, 0xb6, 0x8a, |
|||
0xe4, 0xf6, 0x4f, 0xed, 0xf6, 0xfb, 0x10, 0x7e, 0x3f, 0x3f, 0x42, 0x50, |
|||
0x52, 0xd2, 0x50, 0x54, 0xac, 0xf5, 0x5c, 0x98, 0xa1, 0x77, 0x86, 0x06, |
|||
0x29, 0x46, 0x8e, 0xb9, 0xb0, 0x2a, 0x37, 0x0a, 0x4a, 0x82, 0x86, 0x42, |
|||
0xb0, 0x44, 0x77, 0x00, 0x91, 0x18, 0x79, 0x58, 0x7a, 0x93, 0x43, 0xc4, |
|||
0xfa, 0x1d, 0x03, 0x99, 0x59, 0x39, 0xbe, 0x9d, 0x95, 0x13, 0x1c, 0xab, |
|||
0xc4, 0x39, 0x46, 0xe1, 0x71, 0x10, 0x02, 0xa6, 0x1f, 0xe0, 0x77, 0x02, |
|||
0x91, 0xe8, 0x8f, 0x20, 0x02, 0x44, 0xa2, 0xdb, 0xd6, 0x67, 0xe4, 0x2a, |
|||
0x62, 0x13, 0x5b, 0x43, 0x70, 0x4c, 0x9d, 0x28, 0x0f, 0x98, 0x4f, 0x30, |
|||
0x2a, 0xfc, 0x3b, 0x84, 0x48, 0x0c, 0x0d, 0xb0, 0x58, 0xb3, 0x46, 0x28, |
|||
0x05, 0x40, 0xca, 0x60, 0x89, 0x91, 0x43, 0x32, 0xf5, 0x4b, 0xba, 0x9b, |
|||
0x63, 0x2a, 0x49, 0x9a, 0xa9, 0xa2, 0x9a, 0xe8, 0x1a, 0x91, 0x12, 0xbb, |
|||
0x80, 0x0d, 0xa7, 0x95, 0x1e, 0xab, 0x59, 0x15, 0xfe, 0x0f, 0x00, 0xf4, |
|||
0x2d, 0x00, 0xa0, 0x79, 0xab, 0x54, 0xa3, 0x10, 0xb1, 0xe1, 0x9c, 0x00, |
|||
0x45, 0x25, 0xfa, 0x80, 0x36, 0x73, 0x74, 0x19, 0xee, 0x45, 0x57, 0x52, |
|||
0xf5, 0x20, 0x83, 0x1b, 0x74, 0x9e, 0xd9, 0x38, 0xe1, 0x5e, 0xaf, 0x80, |
|||
0x66, 0x48, 0x92, 0x66, 0x22, 0x28, 0xe9, 0x26, 0x2c, 0xd6, 0xff, 0x46, |
|||
0xc5, 0x1a, 0x97, 0xf0, 0x32, 0x4f, 0xbb, 0xb8, 0x0a, 0xef, 0x1f, 0x00, |
|||
0xf0, 0x28, 0x5a, 0x8e, 0x4d, 0x86, 0x80, 0x7a, 0x07, 0x84, 0x97, 0x0d, |
|||
0x43, 0x65, 0x86, 0x18, 0x68, 0xc5, 0x91, 0x11, 0xa8, 0x54, 0x37, 0x1d, |
|||
0x34, 0xf7, 0xb9, 0xd5, 0xee, 0x93, 0x9f, 0xa2, 0x4a, 0xfd, 0x3f, 0xc4, |
|||
0x56, 0x78, 0xbf, 0x8c, 0xa9, 0x14, 0xcd, 0x14, 0x52, 0x67, 0xe5, 0x58, |
|||
0xac, 0xf5, 0x11, 0xeb, 0x11, 0x2d, 0x00, 0xa2, 0x03, 0xb0, 0x20, 0xe3, |
|||
0xfa, 0x22, 0x44, 0x2a, 0xd4, 0xaf, 0xcb, 0x06, 0x01, 0x86, 0x38, 0xef, |
|||
0x3d, 0xe8, 0x1a, 0x5c, 0xb8, 0x94, 0x8b, 0x2a, 0x0d, 0xfa, 0x1c, 0x59, |
|||
0xe5, 0x6b, 0x22, 0xdc, 0x03, 0xcd, 0xcb, 0x62, 0xe4, 0x38, 0x1f, 0x29, |
|||
0x77, 0x31, 0x6f, 0x06, 0x28, 0x3b, 0x65, 0x30, 0x3f, 0xf5, 0x06, 0x0c, |
|||
0xce, 0x79, 0x38, 0x53, 0xc3, 0x9b, 0xef, 0x54, 0x1f, 0xf1, 0x29, 0xd8, |
|||
0x70, 0x2b, 0xa4, 0x38, 0xfe, 0x57, 0x78, 0x59, 0xb0, 0x0b, 0x04, 0x14, |
|||
0x55, 0xe9, 0x2d, 0x8e, 0xad, 0x26, 0x79, 0xa6, 0x0e, 0xe7, 0x63, 0xaa, |
|||
0x9d, 0x2c, 0x7a, 0x07, 0x48, 0x0d, 0x3c, 0x2a, 0xbe, 0x51, 0x6c, 0xb1, |
|||
0xeb, 0x14, 0xe7, 0x91, 0xb5, 0xab, 0xde, 0xa7, 0x60, 0x8d, 0x9f, 0x60, |
|||
0xf6, 0x2f, 0xa6, 0xd7, 0x85, 0x97, 0x87, 0x71, 0x31, 0xd5, 0x54, 0xb5, |
|||
0x00, 0x08, 0x6f, 0x03, 0xa8, 0xba, 0x03, 0x64, 0x06, 0xde, 0x54, 0xa6, |
|||
0x75, 0xb4, 0xda, 0xa5, 0x0e, 0x71, 0x3e, 0x98, 0xed, 0x2a, 0x98, 0xf1, |
|||
0xac, 0x8d, 0x71, 0xde, 0x05, 0x6b, 0x9a, 0x02, 0x4a, 0xd8, 0x83, 0x91, |
|||
0x95, 0xee, 0xb6, 0xc2, 0x12, 0xc5, 0xb4, 0x03, 0x88, 0xae, 0x00, 0x54, |
|||
0xda, 0x02, 0x68, 0xeb, 0x34, 0x76, 0x3c, 0xc9, 0x0b, 0xcf, 0x4a, 0xf9, |
|||
0x47, 0xe6, 0x6f, 0x2b, 0x17, 0xf6, 0x24, 0xb6, 0x19, 0xd0, 0xb9, 0x04, |
|||
0x00, 0x40, 0xbb, 0x00, 0x8c, 0x5d, 0x01, 0xc7, 0x32, 0x13, 0x45, 0x59, |
|||
0x69, 0x59, 0xde, 0x7b, 0x57, 0x8d, 0x12, 0xae, 0x5b, 0x00, 0x44, 0x57, |
|||
0x00, 0x98, 0x79, 0x3d, 0x9c, 0xa1, 0x59, 0x8b, 0x66, 0x5c, 0x46, 0x10, |
|||
0x21, 0x83, 0x0c, 0x01, 0xd0, 0xbb, 0xe8, 0x5a, 0xcc, 0x26, 0x5e, 0x4e, |
|||
0x72, 0x51, 0xb5, 0x6e, 0x96, 0x60, 0x1a, 0x6b, 0x58, 0x05, 0xf9, 0x17, |
|||
0x42, 0xc5, 0xfa, 0xbb, 0x60, 0xf3, 0x9e, 0x82, 0x15, 0xbe, 0x08, 0x8e, |
|||
0xf5, 0x26, 0xe9, 0x9a, 0x69, 0x7d, 0x01, 0xa2, 0x8b, 0xb0, 0xc9, 0xf1, |
|||
0x75, 0xe4, 0x3f, 0x90, 0xc5, 0x65, 0x56, 0x4e, 0x3e, 0x65, 0xe5, 0xd4, |
|||
0x1d, 0x68, 0x51, 0x9a, 0xce, 0x09, 0xf4, 0xe1, 0x19, 0x30, 0xbf, 0x83, |
|||
0x25, 0xda, 0xa5, 0xd0, 0x00, 0xa2, 0xab, 0xf1, 0xa5, 0x6c, 0x2d, 0xf9, |
|||
0x0e, 0xfc, 0x9e, 0x30, 0x55, 0xb8, 0xe3, 0x7f, 0xda, 0xa9, 0x74, 0x76, |
|||
0xcd, 0xf7, 0x8f, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, |
|||
0xae, 0x42, 0x60, 0x82 |
|||
}; |
|||
unsigned int favicon_ico_len = 688; |
|||
13928
src/httplib.h
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,997 @@ |
|||
unsigned char index_min_html_gz[] = { |
|||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x9c, 0x55, |
|||
0x07, 0x93, 0xf3, 0x26, 0x10, 0xfd, 0x2b, 0x4a, 0xcf, 0x65, 0x8c, 0x83, |
|||
0xdb, 0x15, 0x74, 0xbe, 0xf4, 0xde, 0x7b, 0x32, 0x7d, 0x25, 0x56, 0x12, |
|||
0x39, 0x04, 0x1a, 0x40, 0x2e, 0xf1, 0xdc, 0x7f, 0x0f, 0x60, 0x31, 0xb6, |
|||
0xee, 0xeb, 0x9f, 0xab, 0x78, 0x3c, 0xb6, 0xe9, 0xed, 0xea, 0xf6, 0x8d, |
|||
0xcf, 0x7f, 0xfa, 0xec, 0xf7, 0x7f, 0x7e, 0xfe, 0x22, 0x6b, 0x5c, 0x2b, |
|||
0xef, 0x6e, 0xc3, 0x6f, 0x26, 0x41, 0xd5, 0x6b, 0x54, 0x7e, 0x85, 0xc0, |
|||
0xef, 0x6e, 0x5b, 0x74, 0x90, 0x95, 0x0d, 0x18, 0x8b, 0x6e, 0xdd, 0xbb, |
|||
0x8a, 0x5c, 0x0f, 0x98, 0x82, 0x16, 0xd7, 0x1b, 0x81, 0xdb, 0x4e, 0x1b, |
|||
0x97, 0x95, 0x5a, 0x39, 0x54, 0x6e, 0xfd, 0xe6, 0x56, 0x70, 0xd7, 0xac, |
|||
0x39, 0x6e, 0x44, 0x89, 0x24, 0x2e, 0x26, 0x99, 0x50, 0xc2, 0x09, 0x90, |
|||
0xc4, 0x96, 0x20, 0x71, 0x3d, 0x9b, 0xd2, 0x37, 0xef, 0x6e, 0x9d, 0x70, |
|||
0x12, 0xef, 0x5a, 0x34, 0x35, 0x9a, 0xca, 0x66, 0xa6, 0x57, 0x4e, 0xb4, |
|||
0x18, 0xec, 0x54, 0xa2, 0xee, 0x0d, 0x38, 0xa1, 0x55, 0xd6, 0x82, 0x02, |
|||
0xbf, 0x7f, 0xfb, 0x61, 0x64, 0x9f, 0x3b, 0xe6, 0x68, 0x4b, 0x23, 0xba, |
|||
0xc0, 0x3a, 0xf9, 0xfe, 0x6c, 0x74, 0x18, 0x14, 0x1f, 0x0c, 0xb4, 0x7e, |
|||
0x37, 0x73, 0x5a, 0xcb, 0xac, 0xd2, 0x26, 0x4b, 0x3e, 0x7d, 0x10, 0xd6, |
|||
0xed, 0xbd, 0x59, 0x66, 0xb4, 0x76, 0x07, 0x42, 0x8a, 0x9a, 0x74, 0x46, |
|||
0xb4, 0x60, 0xf6, 0xec, 0xad, 0x19, 0x84, 0x77, 0x1e, 0x41, 0x8b, 0xde, |
|||
0x03, 0x8f, 0xf0, 0x9c, 0x87, 0xf7, 0x11, 0x76, 0x68, 0x9c, 0x38, 0x92, |
|||
0x31, 0xbc, 0x8f, 0x68, 0xa3, 0x37, 0x68, 0xd8, 0x5b, 0x0b, 0xee, 0xdf, |
|||
0x03, 0x51, 0xa8, 0xae, 0x77, 0x1e, 0x5a, 0x2c, 0xc2, 0x5a, 0x1b, 0x8e, |
|||
0x86, 0x94, 0x5a, 0x6a, 0x4f, 0x5b, 0x2e, 0x97, 0x1e, 0x73, 0xb8, 0x73, |
|||
0x27, 0xd7, 0x48, 0xc3, 0x3b, 0xc1, 0x67, 0xce, 0x01, 0x42, 0x40, 0x50, |
|||
0x96, 0xa8, 0xdc, 0x59, 0xa4, 0xab, 0xcb, 0x55, 0x49, 0x4f, 0x1b, 0x43, |
|||
0x00, 0xb3, 0x9b, 0xab, 0x4b, 0x3e, 0xf7, 0xb0, 0xed, 0x3d, 0x6e, 0x6d, |
|||
0xf2, 0x38, 0xc7, 0x2b, 0xbe, 0x38, 0xc7, 0x53, 0xc0, 0xd7, 0xd7, 0xb8, |
|||
0x28, 0x3d, 0xce, 0x41, 0xd5, 0xa7, 0x00, 0xaf, 0x0b, 0xea, 0x5f, 0x27, |
|||
0x78, 0x60, 0x03, 0x1d, 0xe0, 0x2d, 0x18, 0x25, 0x54, 0x9d, 0xe8, 0xd5, |
|||
0xea, 0xaa, 0x8c, 0xb8, 0x01, 0x2e, 0x7a, 0xcb, 0x96, 0xdd, 0x2e, 0x24, |
|||
0x62, 0x40, 0x59, 0x11, 0x6e, 0x0a, 0x03, 0x29, 0x33, 0x3a, 0x9d, 0xdb, |
|||
0x0c, 0xc1, 0x62, 0x88, 0xa2, 0x01, 0xae, 0xb7, 0x8c, 0x66, 0xf3, 0x6e, |
|||
0x97, 0x5d, 0xfb, 0xaf, 0xa9, 0x0b, 0x78, 0x9f, 0x4e, 0xc2, 0x7b, 0xba, |
|||
0xb8, 0x78, 0xf8, 0xe0, 0x50, 0xe8, 0x1d, 0xb1, 0xe2, 0x3f, 0xef, 0x84, |
|||
0x0d, 0xb5, 0xf3, 0xc8, 0x43, 0xa1, 0xf9, 0xfe, 0x50, 0x40, 0x79, 0x5f, |
|||
0x1b, 0xdd, 0x2b, 0x3e, 0xf8, 0xdf, 0x80, 0x79, 0xff, 0xfc, 0x3e, 0x5e, |
|||
0xe4, 0x27, 0x3c, 0x95, 0x39, 0xed, 0x54, 0xda, 0x17, 0xab, 0x82, 0x56, |
|||
0xc8, 0x3d, 0x23, 0xd0, 0x75, 0x12, 0x89, 0xdd, 0x5b, 0x87, 0xed, 0xe4, |
|||
0x53, 0x29, 0xd4, 0xfd, 0x0f, 0x50, 0xfe, 0x16, 0x97, 0x5f, 0x7a, 0xde, |
|||
0xe4, 0x37, 0xac, 0x35, 0x66, 0x7f, 0x7c, 0x33, 0xf9, 0x55, 0x17, 0xda, |
|||
0xe9, 0xc9, 0x4f, 0xbb, 0x7d, 0x8d, 0x6a, 0xf2, 0x47, 0xe1, 0x65, 0xdb, |
|||
0x4f, 0x3e, 0x03, 0xe5, 0xc0, 0xa0, 0x94, 0x13, 0x0b, 0xca, 0x12, 0x8b, |
|||
0x46, 0x54, 0xb9, 0x37, 0x82, 0xa4, 0x41, 0x51, 0x37, 0x8e, 0xcd, 0xa6, |
|||
0x97, 0xb9, 0xf7, 0x5a, 0x0b, 0xc5, 0x68, 0x1e, 0x2a, 0x58, 0x49, 0xbd, |
|||
0x25, 0x7b, 0x66, 0x4b, 0xa3, 0xa5, 0xcc, 0x3b, 0xe0, 0x3c, 0xe4, 0x47, |
|||
0x1f, 0xa6, 0x41, 0xcb, 0xe0, 0x4f, 0x9a, 0x43, 0xe2, 0x67, 0xd0, 0x3b, |
|||
0xed, 0x4f, 0xef, 0x8e, 0xdd, 0xc4, 0x66, 0x4b, 0x4a, 0x7d, 0x55, 0xd3, |
|||
0x99, 0xb9, 0x5f, 0x3c, 0x84, 0x56, 0x45, 0xf3, 0xec, 0x7a, 0x24, 0x15, |
|||
0x85, 0xbc, 0x53, 0x11, 0xb5, 0x73, 0xba, 0x65, 0x33, 0x5f, 0x72, 0xab, |
|||
0xa5, 0xe0, 0x59, 0xe0, 0x8e, 0xe5, 0x79, 0x31, 0xc4, 0x9c, 0xb8, 0x8b, |
|||
0xc7, 0x7e, 0x33, 0x1f, 0xf0, 0xd1, 0x35, 0x19, 0x7a, 0xf0, 0x00, 0x52, |
|||
0xd4, 0x8a, 0x08, 0x87, 0xad, 0x65, 0x41, 0x8e, 0x68, 0x72, 0x2e, 0x6c, |
|||
0x27, 0x61, 0xcf, 0x2a, 0x89, 0xbb, 0xfc, 0xdf, 0xde, 0x3a, 0x51, 0xed, |
|||
0x13, 0x9f, 0xd9, 0x0e, 0x4a, 0x24, 0x05, 0xba, 0x2d, 0xa2, 0xca, 0x5f, |
|||
0x32, 0x67, 0x9a, 0xc5, 0xac, 0x93, 0x6f, 0x89, 0x95, 0x3b, 0x8c, 0xbc, |
|||
0x84, 0x1f, 0xc2, 0x85, 0xc1, 0x32, 0x8a, 0xce, 0x67, 0xd3, 0xb7, 0xea, |
|||
0x61, 0xea, 0xad, 0x36, 0xc4, 0x1e, 0xc1, 0x49, 0x3a, 0x6d, 0x44, 0xdd, |
|||
0xbc, 0x30, 0xee, 0xf1, 0xd9, 0x43, 0x0d, 0x1d, 0x9b, 0xd1, 0x2e, 0xc1, |
|||
0x1d, 0x58, 0xbb, 0xd5, 0x86, 0x1f, 0x5a, 0xa1, 0x52, 0xc4, 0xab, 0xd3, |
|||
0xb6, 0x75, 0xe0, 0x7a, 0x7b, 0x08, 0x82, 0x0b, 0x4a, 0x46, 0x36, 0xf3, |
|||
0x62, 0x4f, 0xb5, 0x0d, 0xc1, 0xb3, 0xeb, 0x47, 0xdc, 0x20, 0x03, 0xe5, |
|||
0x7d, 0x21, 0x3f, 0x9c, 0xdd, 0xc8, 0x71, 0x2b, 0x5f, 0x8c, 0x4f, 0xa0, |
|||
0x31, 0xda, 0x8c, 0xd8, 0xa9, 0x91, 0x9f, 0x42, 0xee, 0x50, 0x85, 0x42, |
|||
0x8e, 0xe8, 0xa9, 0x93, 0x07, 0x7e, 0x33, 0x3b, 0x0b, 0x78, 0x1e, 0xfa, |
|||
0x38, 0x2e, 0xb7, 0x47, 0x41, 0x5f, 0x52, 0x3a, 0x24, 0x10, 0x44, 0x6b, |
|||
0xfb, 0x22, 0x0e, 0xe8, 0xc3, 0xe3, 0x6e, 0x3b, 0xd7, 0xdd, 0x59, 0xfa, |
|||
0xcb, 0x53, 0xfa, 0x4e, 0x77, 0x6c, 0x15, 0xb2, 0x77, 0x50, 0xd8, 0x57, |
|||
0x11, 0xf0, 0x73, 0x95, 0x9b, 0x48, 0x69, 0x0c, 0x45, 0xc6, 0xb0, 0xb8, |
|||
0xc8, 0xc6, 0x2b, 0x9a, 0xd1, 0xb1, 0x44, 0x53, 0x7f, 0xb2, 0x46, 0x70, |
|||
0x8e, 0x2a, 0x86, 0x46, 0x8a, 0xde, 0x39, 0xad, 0xce, 0x02, 0x64, 0x4a, |
|||
0x2b, 0x4c, 0xb1, 0xc4, 0xeb, 0xe7, 0x25, 0x5f, 0xf6, 0xc6, 0xfa, 0xcd, |
|||
0x4e, 0x8b, 0x20, 0xad, 0x71, 0x2d, 0xc6, 0x95, 0x5d, 0x51, 0x9a, 0x74, |
|||
0xee, 0x45, 0xe4, 0x73, 0x9c, 0xaf, 0x82, 0xf2, 0xf5, 0x30, 0x3f, 0x0d, |
|||
0x4a, 0x70, 0x62, 0x83, 0xf9, 0x69, 0xa6, 0x0e, 0x2e, 0x4f, 0xc0, 0x45, |
|||
0xbe, 0x6d, 0x84, 0x43, 0x12, 0x7b, 0xcb, 0xc7, 0xb6, 0x35, 0xd0, 0x9d, |
|||
0x67, 0xc1, 0xe2, 0x10, 0x7f, 0x4e, 0xb1, 0xe3, 0xfe, 0x73, 0x66, 0xe7, |
|||
0xb9, 0xb1, 0x29, 0x94, 0x21, 0x9e, 0xe7, 0x58, 0x4b, 0xcf, 0xc9, 0x57, |
|||
0x33, 0xc8, 0xa0, 0x72, 0xcf, 0x0a, 0x72, 0xfc, 0x10, 0x0c, 0x96, 0x87, |
|||
0x09, 0x45, 0xf3, 0x34, 0x57, 0xde, 0x7c, 0x33, 0x1f, 0x66, 0x6f, 0xe8, |
|||
0xb5, 0xd8, 0x64, 0xf4, 0x54, 0x45, 0x28, 0xac, 0x96, 0xbd, 0xc3, 0xdc, |
|||
0x44, 0x0a, 0x1d, 0x55, 0xa7, 0xd2, 0xa5, 0xef, 0x56, 0xdd, 0xbb, 0x30, |
|||
0xc1, 0xc3, 0xf1, 0x24, 0xb3, 0xa7, 0x7a, 0x1e, 0x78, 0x44, 0x57, 0x95, |
|||
0x45, 0xc7, 0xc8, 0x7c, 0x10, 0x73, 0x9a, 0x70, 0x2f, 0x2a, 0xcc, 0xeb, |
|||
0x4a, 0x9a, 0x7a, 0xe1, 0x3e, 0x47, 0xd6, 0x89, 0x1d, 0xfa, 0x2b, 0xaa, |
|||
0x33, 0x49, 0x3c, 0x2e, 0xc2, 0x9c, 0x6a, 0x92, 0xde, 0x46, 0x53, 0x7d, |
|||
0xf5, 0x28, 0xfc, 0x74, 0x7b, 0xd3, 0xf1, 0x42, 0xea, 0xf2, 0xfe, 0xf8, |
|||
0x98, 0x32, 0x5a, 0x5a, 0x92, 0x26, 0xe2, 0xf8, 0x49, 0x11, 0xcd, 0x9c, |
|||
0x48, 0x46, 0x6f, 0x47, 0x03, 0x36, 0x8e, 0x67, 0x54, 0x7c, 0xdc, 0x77, |
|||
0x11, 0x0d, 0x5a, 0x65, 0xe1, 0x27, 0x8f, 0x33, 0x36, 0xda, 0xa9, 0xb4, |
|||
0x69, 0x49, 0x28, 0x61, 0xf7, 0x12, 0x53, 0x3e, 0x9e, 0x7b, 0x74, 0x2c, |
|||
0x93, 0x50, 0xa0, 0x7c, 0xd9, 0xe9, 0x34, 0x7f, 0x4a, 0x47, 0x4a, 0x74, |
|||
0x0e, 0x4d, 0xec, 0xa8, 0x50, 0xa6, 0x69, 0xe8, 0xc9, 0x68, 0x22, 0x76, |
|||
0x5d, 0xf0, 0xc4, 0xfa, 0xae, 0x43, 0x53, 0x82, 0xfd, 0x9f, 0x78, 0x2b, |
|||
0x6b, 0x52, 0x1c, 0x87, 0xc1, 0x7f, 0x25, 0xfb, 0x30, 0x07, 0x5b, 0x40, |
|||
0x39, 0xcc, 0xc0, 0xd0, 0xb0, 0xd7, 0xeb, 0x3e, 0xee, 0x7d, 0x1f, 0x69, |
|||
0x62, 0x9a, 0xd4, 0x84, 0xa3, 0x12, 0xd3, 0xc7, 0xa6, 0xf8, 0xef, 0x6b, |
|||
0x2b, 0x8e, 0xa2, 0x08, 0x63, 0xcc, 0xf6, 0xb1, 0x73, 0x72, 0xd8, 0x8a, |
|||
0x2d, 0xc9, 0xd2, 0xa7, 0x4f, 0x6e, 0x79, 0x00, 0xbc, 0xf7, 0x9b, 0x7a, |
|||
0xd8, 0xc9, 0xcf, 0x37, 0xfb, 0xf5, 0xb5, 0x2c, 0xfe, 0xe8, 0x93, 0x8f, |
|||
0x4a, 0x99, 0x14, 0x8b, 0x55, 0xe7, 0x23, 0x23, 0xe9, 0x8f, 0x7e, 0x29, |
|||
0x73, 0xb9, 0xf0, 0xf9, 0x0b, 0xcc, 0x78, 0x7c, 0xfc, 0xf3, 0x60, 0x22, |
|||
0x1e, 0xa3, 0x31, 0x9d, 0x8d, 0xa8, 0x97, 0x40, 0xea, 0x8b, 0x40, 0x4f, |
|||
0xbe, 0x28, 0x54, 0xeb, 0xa1, 0x3e, 0x4e, 0x76, 0x73, 0xf6, 0x6c, 0xe1, |
|||
0x52, 0x7d, 0x07, 0xfa, 0xbe, 0xc5, 0x86, 0xe6, 0xf7, 0xa8, 0xc1, 0x86, |
|||
0xa3, 0xb8, 0x1f, 0x0b, 0xfd, 0xf7, 0x6a, 0xd4, 0x1f, 0x8e, 0xf0, 0xfc, |
|||
0x81, 0x5f, 0x1f, 0x86, 0x36, 0x4c, 0x3b, 0xb2, 0x79, 0x70, 0x20, 0xc1, |
|||
0x80, 0xee, 0xd7, 0xa1, 0xc5, 0xbb, 0xcb, 0x25, 0x8b, 0xed, 0xe8, 0xd3, |
|||
0xd9, 0x06, 0xe2, 0x02, 0x78, 0xaa, 0x3f, 0xde, 0x83, 0xcb, 0x4e, 0x99, |
|||
0x7e, 0x01, 0xe2, 0x5c, 0x1e, 0xe5, 0x43, 0x22, 0x3c, 0x2d, 0x14, 0x74, |
|||
0xe8, 0x7d, 0x8a, 0xb0, 0xa7, 0x87, 0xa3, 0x20, 0xad, 0x80, 0xe4, 0x3a, |
|||
0x97, 0x69, 0x65, 0x15, 0xb3, 0xd9, 0xaa, 0x41, 0x92, 0xeb, 0x84, 0x2a, |
|||
0xd3, 0xf9, 0xd6, 0x1c, 0x20, 0xf5, 0x30, 0x1b, 0x4e, 0x9a, 0xe1, 0x43, |
|||
0x0b, 0x6a, 0xe8, 0x62, 0x3d, 0x98, 0x87, 0xcd, 0xf2, 0x6f, 0x94, 0x96, |
|||
0x38, 0x64, 0x2e, 0x00, 0x23, 0x36, 0xc9, 0x0d, 0x9b, 0xf8, 0x1c, 0xcf, |
|||
0xe3, 0x70, 0x26, 0x7f, 0x1a, 0x06, 0x99, 0xa7, 0x38, 0xd9, 0xfe, 0xac, |
|||
0xcc, 0x9f, 0x18, 0x98, 0xe8, 0x71, 0x22, 0x40, 0xc4, 0x8b, 0xec, 0xf1, |
|||
0x49, 0xb6, 0x36, 0xe5, 0x7f, 0xb2, 0x51, 0x4c, 0xc8, 0xe5, 0xe6, 0x39, |
|||
0x25, 0x0a, 0x80, 0x6d, 0x90, 0xb1, 0x7c, 0x12, 0x2e, 0x31, 0x1d, 0x95, |
|||
0x93, 0x40, 0x6e, 0xb1, 0xd0, 0xa0, 0xac, 0xbc, 0x09, 0x0b, 0x8b, 0x82, |
|||
0x3a, 0xc4, 0x0f, 0xb0, 0x96, 0xe3, 0xd9, 0x51, 0xb8, 0x10, 0x1d, 0x4e, |
|||
0x03, 0x67, 0xa8, 0x6c, 0x2c, 0xa8, 0xeb, 0x03, 0x88, 0xb5, 0xb6, 0xb0, |
|||
0x10, 0xe2, 0x15, 0x64, 0xe8, 0x5c, 0x92, 0x07, 0xbc, 0x08, 0x70, 0x6e, |
|||
0x2b, 0xd7, 0xfb, 0x99, 0x29, 0xd0, 0x0e, 0xb0, 0x0a, 0x12, 0xcd, 0xf3, |
|||
0x64, 0x57, 0xca, 0x59, 0xf3, 0x82, 0x2e, 0x58, 0xa5, 0x7d, 0xb5, 0xaa, |
|||
0x2e, 0x29, 0x3d, 0x31, 0x16, 0x8e, 0x9a, 0x54, 0x0b, 0x41, 0x7d, 0x66, |
|||
0xf4, 0x71, 0x50, 0xab, 0xb0, 0x1d, 0xff, 0xc7, 0x8c, 0x3f, 0x71, 0x65, |
|||
0x7c, 0x6a, 0xb3, 0x52, 0x65, 0x8b, 0x8f, 0x0f, 0x27, 0x11, 0xc0, 0xdc, |
|||
0xa0, 0x2e, 0x31, 0xff, 0x47, 0x9b, 0x32, 0x95, 0xf7, 0x5a, 0x03, 0x07, |
|||
0x55, 0x84, 0x9e, 0x45, 0x3d, 0x32, 0x4f, 0x4a, 0x35, 0x58, 0xac, 0xb2, |
|||
0x3c, 0x8d, 0x54, 0xca, 0x94, 0x66, 0xd3, 0x9c, 0x7e, 0xe6, 0x62, 0x25, |
|||
0x4b, 0xe2, 0x01, 0x01, 0xc8, 0x08, 0x11, 0x95, 0x9d, 0xaf, 0x21, 0x98, |
|||
0x2a, 0x1e, 0x5e, 0xc8, 0x77, 0xe0, 0xe1, 0x23, 0x9a, 0xe4, 0x2e, 0xaf, |
|||
0x6b, 0xba, 0x0b, 0xef, 0x37, 0xef, 0x76, 0x89, 0x5a, 0x59, 0x7c, 0x78, |
|||
0x8e, 0x7e, 0x00, 0x4a, 0x01, 0xdd, 0xf2, 0xa8, 0xd4, 0x73, 0x48, 0x34, |
|||
0xd3, 0x66, 0x31, 0xa6, 0x68, 0x06, 0x89, 0x3a, 0x33, 0x48, 0xf9, 0x2f, |
|||
0xb8, 0xe8, 0xda, 0x57, 0xf0, 0x43, 0x99, 0xe7, 0xd9, 0xae, 0xcc, 0x4a, |
|||
0xba, 0xa3, 0xe0, 0x78, 0x4d, 0xc1, 0x11, 0x7c, 0x65, 0xdf, 0x30, 0xfd, |
|||
0x0c, 0xd3, 0x22, 0xb9, 0xb9, 0xd1, 0xaa, 0x6e, 0x12, 0xf1, 0x4d, 0x91, |
|||
0x5c, 0x5f, 0xeb, 0xf7, 0x6d, 0x16, 0x1e, 0x3b, 0x66, 0xc0, 0x22, 0x9f, |
|||
0x12, 0xa2, 0x75, 0x74, 0x64, 0xf5, 0x89, 0x9f, 0xad, 0xb7, 0xa9, 0x84, |
|||
0xcf, 0xb4, 0xa8, 0x42, 0xd3, 0x6e, 0x33, 0x41, 0x54, 0xfc, 0x41, 0x90, |
|||
0xb0, 0x47, 0xb5, 0xad, 0x87, 0x2c, 0x0b, 0x29, 0x01, 0xfa, 0x30, 0xcf, |
|||
0xa7, 0xa2, 0xc0, 0x6a, 0x54, 0x60, 0xfc, 0xfe, 0x94, 0x94, 0xa8, 0x8e, |
|||
0xba, 0x3e, 0xda, 0xe0, 0xa8, 0xe2, 0x22, 0x61, 0xc9, 0x3a, 0x9b, 0x5d, |
|||
0xec, 0xf4, 0xe4, 0x53, 0x2c, 0xc6, 0xe7, 0xa5, 0x9c, 0x8f, 0x9f, 0xa0, |
|||
0xeb, 0xdf, 0x6f, 0x4a, 0xa9, 0xba, 0x30, 0x71, 0x8a, 0x2a, 0x1a, 0xd3, |
|||
0xa7, 0x36, 0xb5, 0x57, 0x75, 0xac, 0x90, 0xa9, 0x63, 0x58, 0x7f, 0x98, |
|||
0x2d, 0x30, 0xcd, 0x9d, 0x27, 0xc3, 0x70, 0xb0, 0x9f, 0x12, 0xf1, 0x06, |
|||
0x84, 0x70, 0xba, 0x84, 0x93, 0x86, 0x76, 0x4d, 0xa8, 0x87, 0xe9, 0x19, |
|||
0xa0, 0x4c, 0xd6, 0xfb, 0x78, 0xf2, 0x83, 0x49, 0x7b, 0x3c, 0x6a, 0x46, |
|||
0x69, 0x7e, 0xe8, 0xcc, 0x0e, 0xed, 0xf6, 0xae, 0x94, 0xdc, 0x02, 0xb8, |
|||
0x97, 0xa3, 0x43, 0x18, 0x93, 0x00, 0xee, 0x5f, 0xa1, 0xe7, 0xc0, 0xfb, |
|||
0x6b, 0x64, 0x74, 0x53, 0xeb, 0xff, 0xd4, 0x3a, 0x50, 0x2b, 0xba, 0xcb, |
|||
0x15, 0xdc, 0x88, 0xc7, 0x34, 0xae, 0xb2, 0xef, 0x74, 0x7c, 0xb2, 0xf6, |
|||
0xf3, 0x14, 0x3c, 0x3a, 0xe6, 0x24, 0x79, 0x95, 0x6c, 0xf4, 0xb6, 0xc0, |
|||
0x61, 0x96, 0x49, 0x2a, 0xbf, 0xde, 0x44, 0xd8, 0x95, 0x70, 0x2d, 0x00, |
|||
0x7b, 0x12, 0x1f, 0x7a, 0x5d, 0x2a, 0xc5, 0xd2, 0x28, 0x90, 0x4e, 0x38, |
|||
0xcd, 0xb4, 0xcc, 0xee, 0x65, 0x6a, 0xc1, 0x00, 0xc9, 0x3a, 0x2d, 0x2e, |
|||
0x10, 0xc2, 0xae, 0x66, 0x58, 0xae, 0xb6, 0x77, 0x97, 0x92, 0xe7, 0x76, |
|||
0xcc, 0xe1, 0xab, 0x8f, 0xf2, 0x61, 0x59, 0x24, 0x6b, 0x59, 0x46, 0xf5, |
|||
0x56, 0x2a, 0xf1, 0xaa, 0x6a, 0xdc, 0x45, 0x1c, 0xd4, 0x16, 0xdf, 0xc4, |
|||
0x07, 0xfb, 0xbc, 0x46, 0x04, 0xd1, 0x42, 0xa9, 0x9d, 0x42, 0xfe, 0xb0, |
|||
0x23, 0x6a, 0x78, 0x09, 0x5c, 0x00, 0x19, 0xd9, 0xea, 0x70, 0x2a, 0x6e, |
|||
0x57, 0x24, 0x43, 0x4f, 0x4c, 0xc8, 0x27, 0xdd, 0x12, 0xc0, 0x9c, 0xe8, |
|||
0x56, 0xef, 0xda, 0xdc, 0x70, 0x25, 0x5e, 0x51, 0x1d, 0xd8, 0x8d, 0x74, |
|||
0x94, 0x30, 0x6f, 0x51, 0x1a, 0xbc, 0xca, 0x13, 0x25, 0x7f, 0x79, 0x6b, |
|||
0x80, 0x78, 0xaf, 0xa3, 0x1f, 0xf7, 0x38, 0xd1, 0x43, 0xbd, 0xd9, 0x4e, |
|||
0xcb, 0xa3, 0xdb, 0x1c, 0xac, 0x1c, 0x68, 0xc4, 0xd7, 0x34, 0x3a, 0x39, |
|||
0x68, 0x53, 0x0f, 0xf1, 0x8e, 0xb6, 0xcc, 0xb7, 0xa5, 0x74, 0x2d, 0xe9, |
|||
0xd9, 0x43, 0x33, 0xdb, 0x35, 0x6b, 0x18, 0x58, 0xb3, 0x82, 0xa5, 0xce, |
|||
0x84, 0x70, 0xe1, 0x67, 0x3a, 0xc0, 0xce, 0x20, 0xa8, 0xb3, 0xe7, 0xc7, |
|||
0xc7, 0x72, 0x2a, 0xed, 0xf1, 0xb1, 0x5c, 0x4b, 0xdb, 0xeb, 0x21, 0x79, |
|||
0x56, 0xaa, 0x50, 0x3c, 0x3e, 0xc5, 0x69, 0x60, 0x3a, 0xaf, 0x15, 0x1f, |
|||
0x4f, 0x20, 0x7b, 0x4c, 0xee, 0x31, 0xab, 0xdf, 0x99, 0x69, 0xa1, 0xe6, |
|||
0xb5, 0x22, 0xdd, 0x67, 0xa8, 0xe5, 0xce, 0xc3, 0x50, 0x2a, 0x75, 0x58, |
|||
0xc3, 0x2b, 0x99, 0x86, 0xb6, 0x0d, 0xc2, 0xc5, 0x03, 0x76, 0xa5, 0x2d, |
|||
0xe3, 0xf5, 0x76, 0xb3, 0x05, 0x45, 0xd0, 0xb4, 0xf8, 0xae, 0xb5, 0xa6, |
|||
0x21, 0x76, 0x03, 0x19, 0x1f, 0x34, 0x89, 0x9e, 0x1e, 0x5a, 0xb2, 0xc6, |
|||
0x94, 0xb4, 0xd7, 0x56, 0x9f, 0x00, 0x6f, 0xbf, 0x4d, 0x4a, 0x1e, 0xd2, |
|||
0x75, 0x3a, 0xf8, 0xd6, 0x1c, 0xc3, 0x68, 0xf8, 0xce, 0xc6, 0x75, 0x9f, |
|||
0x1b, 0x9c, 0xaa, 0x2c, 0x28, 0xdf, 0x49, 0xd3, 0x1f, 0x07, 0x01, 0x24, |
|||
0x7c, 0x93, 0x96, 0x2d, 0xb6, 0xb2, 0xf4, 0x27, 0x3c, 0x3b, 0x16, 0x30, |
|||
0x15, 0xbe, 0xd1, 0x89, 0x12, 0x5e, 0x60, 0x82, 0x1c, 0x09, 0x21, 0xec, |
|||
0xae, 0x20, 0x41, 0xf2, 0x2e, 0x04, 0x7c, 0x73, 0x21, 0x81, 0x68, 0x27, |
|||
0x05, 0xb3, 0x4a, 0x38, 0xc3, 0xf6, 0x47, 0xe9, 0x1c, 0x4f, 0xfb, 0x94, |
|||
0xe7, 0x23, 0x6b, 0x85, 0xb3, 0x49, 0xe9, 0xe7, 0xb7, 0x06, 0x22, 0x78, |
|||
0x92, 0x12, 0x8e, 0x83, 0xa4, 0x94, 0x6f, 0x13, 0x60, 0x89, 0xca, 0x5d, |
|||
0xb6, 0xd9, 0xc8, 0x82, 0xda, 0x5e, 0x7f, 0x12, 0xc5, 0x65, 0x64, 0x62, |
|||
0x54, 0x52, 0x44, 0xba, 0x08, 0x31, 0xb7, 0x70, 0x1a, 0xeb, 0x93, 0xe8, |
|||
0x06, 0x22, 0x77, 0x49, 0xa1, 0xbd, 0x9e, 0xb9, 0xc6, 0x58, 0xbc, 0x22, |
|||
0x6d, 0x24, 0xbb, 0x5b, 0x1d, 0x28, 0xcc, 0x50, 0x78, 0xc3, 0xb9, 0x6e, |
|||
0x30, 0x0b, 0x22, 0xa2, 0x09, 0x26, 0x68, 0xf3, 0xb2, 0xa3, 0x91, 0x5d, |
|||
0x06, 0x18, 0xa5, 0xdd, 0x57, 0xb1, 0x55, 0x7a, 0x53, 0x6f, 0x45, 0x2a, |
|||
0x6f, 0x60, 0xef, 0x47, 0xdf, 0xc4, 0x6a, 0x5f, 0x6c, 0xcc, 0x8e, 0x57, |
|||
0x32, 0xdf, 0xc1, 0xc1, 0x08, 0x6f, 0xe7, 0x38, 0x9a, 0xcd, 0xdb, 0x6d, |
|||
0xae, 0xb2, 0x5d, 0xe5, 0x5a, 0xbf, 0x8b, 0x99, 0xb3, 0xe3, 0xa3, 0xe6, |
|||
0x05, 0x3c, 0xdf, 0x7f, 0xfb, 0xe4, 0x69, 0xc2, 0x72, 0x43, 0x95, 0x8d, |
|||
0xc6, 0xaf, 0xc2, 0xda, 0x36, 0xd8, 0xed, 0x34, 0xc6, 0xa3, 0x57, 0x0c, |
|||
0x06, 0x31, 0x9c, 0x47, 0x74, 0x3e, 0x8a, 0xcf, 0x8f, 0x1b, 0xa3, 0x8e, |
|||
0xd2, 0x96, 0x84, 0x76, 0x2b, 0xc4, 0x84, 0x94, 0xf9, 0x6d, 0x56, 0x66, |
|||
0xd7, 0x59, 0x6e, 0x64, 0x5a, 0xa6, 0x83, 0x76, 0x8c, 0x10, 0xea, 0xa2, |
|||
0x0e, 0xeb, 0xc8, 0xdf, 0xd5, 0x24, 0x7a, 0x3a, 0x95, 0x06, 0x2f, 0x73, |
|||
0x42, 0x76, 0x79, 0xb0, 0xd7, 0xcb, 0x40, 0x55, 0x9f, 0xc3, 0x71, 0x1c, |
|||
0xe4, 0xa1, 0x16, 0x91, 0x0a, 0x73, 0x71, 0x8c, 0x0c, 0x1b, 0x02, 0x49, |
|||
0x46, 0x33, 0x6c, 0x14, 0xfb, 0x5a, 0x8f, 0x78, 0x25, 0x86, 0x50, 0x2d, |
|||
0x94, 0xb2, 0x1a, 0xd3, 0x6b, 0x33, 0x40, 0xbd, 0x9c, 0xa2, 0x30, 0x62, |
|||
0x41, 0x86, 0x52, 0x0e, 0xc3, 0x33, 0x65, 0x42, 0xa7, 0xd4, 0xc4, 0x79, |
|||
0x79, 0x7a, 0x74, 0x0d, 0x7b, 0xe5, 0x7a, 0xa7, 0x1e, 0xe0, 0x5a, 0x8a, |
|||
0xf7, 0xf6, 0x08, 0xea, 0xc0, 0x10, 0x38, 0xc7, 0xce, 0xd9, 0x91, 0x33, |
|||
0xc8, 0xf4, 0x2c, 0x82, 0xa1, 0xdf, 0x4f, 0xdd, 0x6a, 0xa5, 0x05, 0xf5, |
|||
0xad, 0x96, 0x96, 0x42, 0xe0, 0x1c, 0xf8, 0x2f, 0xd2, 0x9c, 0x0d, 0x2d, |
|||
0x3b, 0xed, 0x5a, 0x8b, 0x07, 0x4d, 0x1e, 0x66, 0x29, 0x86, 0x17, 0xf3, |
|||
0x06, 0xd9, 0xd7, 0xb9, 0x79, 0x37, 0x50, 0x7a, 0xc1, 0xb9, 0x59, 0x6c, |
|||
0x8d, 0x05, 0x4b, 0x1d, 0x6c, 0x76, 0x32, 0x51, 0x6f, 0x4d, 0x8d, 0x33, |
|||
0x58, 0x66, 0xaa, 0xaf, 0x55, 0xae, 0x73, 0xe9, 0x5b, 0x30, 0x59, 0x3f, |
|||
0x5e, 0x16, 0xbd, 0x1e, 0xca, 0x5e, 0x24, 0x45, 0xfa, 0x42, 0xac, 0x2d, |
|||
0xba, 0x1e, 0xd9, 0x9b, 0x2d, 0x52, 0x02, 0x99, 0x02, 0xf7, 0xcd, 0x21, |
|||
0x6a, 0x8c, 0x29, 0x11, 0x4d, 0xae, 0x75, 0x56, 0xe1, 0x48, 0x88, 0x5b, |
|||
0x57, 0x10, 0x89, 0x96, 0x71, 0xeb, 0x82, 0xb4, 0xe3, 0x15, 0x70, 0x66, |
|||
0x98, 0x50, 0xb9, 0x5d, 0x26, 0x43, 0xb0, 0x4e, 0x8c, 0x7d, 0xcc, 0x72, |
|||
0xbf, 0x01, 0x87, 0x0f, 0xe4, 0xa1, 0x2d, 0xf4, 0xf7, 0x68, 0x02, 0x05, |
|||
0x06, 0xdd, 0x5d, 0xf0, 0xc3, 0xd2, 0xd8, 0xcb, 0xd6, 0x4c, 0xc4, 0x71, |
|||
0x44, 0xd1, 0x05, 0xb7, 0x8d, 0x28, 0x68, 0x99, 0xec, 0x36, 0x33, 0xd1, |
|||
0xb7, 0x05, 0x04, 0x7e, 0xb7, 0x0a, 0x65, 0x92, 0xe2, 0x90, 0xde, 0x0b, |
|||
0x6a, 0xaa, 0x8e, 0x81, 0x22, 0x22, 0xdd, 0x72, 0x58, 0xca, 0xd4, 0x1b, |
|||
0x14, 0x17, 0xdb, 0xf5, 0x3a, 0xd9, 0xa4, 0xfc, 0xb2, 0x4a, 0x83, 0x37, |
|||
0x71, 0xc0, 0x73, 0x9c, 0x5a, 0x14, 0xfe, 0x3f, 0x1d, 0x5b, 0x47, 0xb4, |
|||
0xc4, 0x25, 0xd9, 0x93, 0x7c, 0xf1, 0x69, 0xc5, 0xf9, 0x97, 0x1f, 0x57, |
|||
0x1a, 0x33, 0x11, 0xdc, 0x18, 0x74, 0xb8, 0x96, 0x69, 0x96, 0x44, 0x6f, |
|||
0xc9, 0x31, 0x04, 0x04, 0xd1, 0xab, 0x1c, 0x3d, 0x19, 0x42, 0xe8, 0x23, |
|||
0xd5, 0x8e, 0xcd, 0x04, 0x4b, 0x41, 0x8e, 0xfd, 0x44, 0x7f, 0xeb, 0xfa, |
|||
0x9c, 0x4d, 0x65, 0xbe, 0x49, 0xbb, 0x11, 0xec, 0x56, 0x91, 0x0d, 0x2d, |
|||
0xfc, 0xd2, 0xa7, 0x6b, 0x2f, 0xf1, 0x63, 0xf6, 0x72, 0x25, 0x82, 0xf6, |
|||
0x32, 0xbe, 0x74, 0x2f, 0x8e, 0x85, 0x5e, 0x91, 0x75, 0xb2, 0x06, 0x23, |
|||
0x6b, 0xfe, 0xb2, 0x26, 0x62, 0x2b, 0x5a, 0x1f, 0x83, 0x86, 0x29, 0x38, |
|||
0xf8, 0xf7, 0x3b, 0x3e, 0x65, 0xbb, 0x33, 0xfb, 0x6d, 0xe3, 0x31, 0xb6, |
|||
0x3e, 0xc6, 0xee, 0xed, 0x7c, 0x98, 0x4c, 0x61, 0x3b, 0xed, 0x2e, 0x68, |
|||
0xef, 0x84, 0x6d, 0x01, 0xdb, 0xf9, 0x96, 0x9d, 0xe6, 0xed, 0x6e, 0xd7, |
|||
0x6e, 0x5c, 0x9d, 0x2b, 0x44, 0xbf, 0xde, 0xcb, 0xd1, 0xf5, 0x4c, 0x95, |
|||
0x14, 0xca, 0xd7, 0xad, 0xf5, 0xdf, 0xa3, 0x2b, 0x55, 0x21, 0xd5, 0x62, |
|||
0xd5, 0x1d, 0xd1, 0xaf, 0xaf, 0xd2, 0x3a, 0x85, 0x76, 0xee, 0xb2, 0x72, |
|||
0x58, 0xc9, 0xf5, 0x01, 0x0b, 0x10, 0x0c, 0x7f, 0x86, 0xb7, 0x60, 0xc9, |
|||
0x02, 0xdd, 0x3b, 0x74, 0xe9, 0xd3, 0xe6, 0x45, 0xde, 0xf2, 0x72, 0xf4, |
|||
0xab, 0x1c, 0xee, 0xd1, 0xa7, 0xbe, 0xd4, 0x59, 0x9a, 0x63, 0x9d, 0x11, |
|||
0x3b, 0x2a, 0x34, 0xa7, 0x3b, 0x64, 0x73, 0x7d, 0xea, 0xb9, 0x60, 0x21, |
|||
0xe1, 0x71, 0xd4, 0x63, 0x00, 0x2e, 0x7c, 0x5d, 0x41, 0x18, 0x0e, 0xad, |
|||
0xd4, 0xb1, 0x08, 0x50, 0x41, 0xc5, 0x69, 0x39, 0xbc, 0x55, 0x49, 0x13, |
|||
0x23, 0x9a, 0x95, 0x56, 0x50, 0x94, 0xc1, 0xe1, 0x0d, 0x81, 0x26, 0xcf, |
|||
0xb2, 0xbb, 0xfe, 0xc8, 0x2e, 0xd5, 0xf7, 0x51, 0x04, 0x45, 0x4c, 0x20, |
|||
0xc7, 0x12, 0x39, 0xb1, 0xe0, 0x20, 0xd8, 0x9d, 0x38, 0x75, 0x6e, 0x3c, |
|||
0x85, 0x9d, 0xba, 0xd7, 0x6a, 0x4e, 0x01, 0xa2, 0x56, 0x3d, 0x63, 0x9e, |
|||
0xc2, 0x7d, 0xcf, 0x74, 0x04, 0x89, 0xf7, 0x53, 0x88, 0x79, 0xfc, 0xaa, |
|||
0xcf, 0x09, 0x9f, 0xb5, 0xee, 0x72, 0x82, 0xcf, 0xe6, 0x5e, 0x84, 0x87, |
|||
0xc9, 0x75, 0xc5, 0xcf, 0x65, 0x52, 0x0f, 0xd3, 0xda, 0x6d, 0xbb, 0x36, |
|||
0x82, 0x34, 0xb5, 0xf2, 0xc8, 0x0b, 0xa7, 0xdc, 0xd1, 0x50, 0x45, 0xbb, |
|||
0x42, 0x2e, 0x65, 0x51, 0xd6, 0xcb, 0xd3, 0xb6, 0x9f, 0xad, 0xb4, 0x89, |
|||
0x7b, 0x15, 0xfe, 0xb8, 0x14, 0x25, 0x4f, 0x81, 0x19, 0xe4, 0x89, 0x1f, |
|||
0x3e, 0x3d, 0x96, 0x57, 0xc8, 0x74, 0xbf, 0x90, 0xa9, 0x3e, 0xa6, 0xa0, |
|||
0xd9, 0xfa, 0x6d, 0xaf, 0xfa, 0xb4, 0x65, 0xaf, 0x06, 0xa9, 0xfd, 0x21, |
|||
0xae, 0xd9, 0x50, 0xc4, 0xeb, 0xb2, 0xbd, 0x90, 0x35, 0xc7, 0x21, 0x26, |
|||
0xc2, 0xd4, 0x63, 0xf4, 0x0a, 0xf6, 0x5a, 0x57, 0x31, 0x19, 0x65, 0xb9, |
|||
0x0a, 0x9f, 0xa4, 0x03, 0x6a, 0x3f, 0x95, 0x2a, 0xc9, 0x74, 0xec, 0xac, |
|||
0x6f, 0x33, 0x71, 0x0b, 0xf2, 0x01, 0x91, 0x4a, 0xfb, 0xee, 0x2f, 0x9e, |
|||
0xf2, 0x82, 0xd3, 0x70, 0x5f, 0x26, 0x37, 0xda, 0xf2, 0x49, 0x41, 0x32, |
|||
0xf0, 0x85, 0x6c, 0x32, 0x69, 0xc1, 0xb0, 0x02, 0x07, 0xe2, 0x0b, 0xbb, |
|||
0xa0, 0xe2, 0xb8, 0x8a, 0x43, 0x55, 0x81, 0xeb, 0xa9, 0x4e, 0x3d, 0x04, |
|||
0x06, 0x52, 0x96, 0x08, 0xa6, 0x23, 0xed, 0x4c, 0x44, 0x0c, 0xf5, 0x53, |
|||
0x03, 0xd9, 0x5a, 0x32, 0xc9, 0x38, 0xd1, 0x7e, 0x1d, 0x48, 0xbf, 0x92, |
|||
0x79, 0xc6, 0x69, 0xfd, 0x44, 0x2f, 0x9b, 0x04, 0x94, 0x54, 0x70, 0xaf, |
|||
0x7b, 0xcc, 0x08, 0x09, 0x08, 0x83, 0x87, 0x61, 0x21, 0x93, 0x74, 0xbb, |
|||
0xc9, 0x1f, 0xf4, 0x12, 0xd2, 0x1b, 0x19, 0xb6, 0x6a, 0x67, 0x37, 0x00, |
|||
0x0f, 0x97, 0x93, 0xab, 0xf4, 0x17, 0x79, 0xdd, 0x9f, 0x31, 0x62, 0x1d, |
|||
0x03, 0x72, 0x0d, 0xe4, 0x12, 0xce, 0xe3, 0x5f, 0x6a, 0x8e, 0x60, 0xbb, |
|||
0x6d, 0xe3, 0xf8, 0x2b, 0xeb, 0xad, 0xab, 0x10, 0xcf, 0x10, 0x48, 0xd9, |
|||
0x6e, 0xf3, 0x42, 0x11, 0xf4, 0x93, 0x24, 0xd9, 0x51, 0x2d, 0x59, 0xaa, |
|||
0x45, 0xc5, 0xed, 0x53, 0x55, 0x6b, 0x45, 0x2c, 0x45, 0xd4, 0x20, 0xc0, |
|||
0x02, 0xa0, 0x1c, 0x85, 0xe2, 0xa1, 0x97, 0xdc, 0xdb, 0x1c, 0x72, 0xcc, |
|||
0xa5, 0xfd, 0x89, 0x1e, 0xfa, 0x31, 0xf9, 0x82, 0x7c, 0x42, 0x67, 0x76, |
|||
0xb0, 0xe0, 0x02, 0x02, 0x4c, 0x32, 0xd1, 0xd3, 0x6b, 0x2f, 0x12, 0x30, |
|||
0x3b, 0x3b, 0x3b, 0x3b, 0x3b, 0x33, 0x3b, 0x33, 0x8b, 0xe5, 0x06, 0x76, |
|||
0x23, 0xbf, 0x04, 0x45, 0x93, 0x89, 0x5c, 0xee, 0x50, 0xe4, 0x57, 0x5e, |
|||
0xd4, 0x9f, 0xe0, 0x35, 0x4c, 0xb2, 0xd8, 0xb1, 0x08, 0xc1, 0x85, 0x97, |
|||
0x35, 0x30, 0x3f, 0x0c, 0xac, 0x44, 0x67, 0xbe, 0xaa, 0x1e, 0x4f, 0x57, |
|||
0xbb, 0x06, 0x51, 0x38, 0x31, 0x30, 0xc3, 0x1f, 0x26, 0xa6, 0x9f, 0x3e, |
|||
0xac, 0x32, 0x51, 0xa9, 0x68, 0xf9, 0xc9, 0x92, 0x47, 0x5e, 0xc3, 0x34, |
|||
0x5c, 0x4c, 0xa7, 0x49, 0x17, 0x4c, 0x3b, 0x4d, 0xba, 0x4b, 0x8b, 0x97, |
|||
0x16, 0xbb, 0x1d, 0xda, 0x84, 0xbb, 0x1d, 0xc8, 0xa8, 0x59, 0x3f, 0x10, |
|||
0x49, 0xe2, 0x16, 0xc3, 0xc4, 0x8a, 0x16, 0x5c, 0x40, 0xe8, 0xb8, 0x31, |
|||
0xbf, 0x2f, 0x3b, 0xf1, 0x81, 0xe8, 0x86, 0x89, 0xaa, 0x2f, 0x61, 0x75, |
|||
0x17, 0xde, 0x82, 0xed, 0x34, 0xa1, 0x57, 0x57, 0xfd, 0xad, 0x18, 0x4b, |
|||
0x29, 0xb0, 0x09, 0x37, 0x6f, 0xbe, 0x75, 0x3b, 0xca, 0xd5, 0x30, 0xb5, |
|||
0x8b, 0xe8, 0x6b, 0x6f, 0xcc, 0xf7, 0xf2, 0xe7, 0x75, 0x6a, 0x07, 0x99, |
|||
0xf7, 0xe5, 0x30, 0x0a, 0x80, 0xa0, 0xcb, 0x8f, 0x35, 0x5e, 0x23, 0x52, |
|||
0xa9, 0xa2, 0x08, 0x2c, 0x6e, 0xd2, 0xd6, 0x7d, 0x41, 0x40, 0x24, 0x6f, |
|||
0x6a, 0xa3, 0x17, 0x20, 0x4e, 0x58, 0x97, 0x69, 0xd8, 0xfd, 0x4a, 0xc6, |
|||
0xb0, 0x3d, 0x76, 0x9a, 0xd4, 0x44, 0x53, 0x28, 0xfd, 0xd5, 0xd2, 0x1d, |
|||
0x09, 0x5f, 0x13, 0xca, 0x3d, 0xa8, 0x39, 0x2b, 0x0c, 0x92, 0x19, 0x6c, |
|||
0xba, 0x12, 0x9f, 0xf0, 0xc4, 0xb6, 0x34, 0x3a, 0xa7, 0x8b, 0x2f, 0x6c, |
|||
0xae, 0x06, 0x3c, 0x47, 0x67, 0x22, 0xf6, 0xc5, 0xba, 0x3e, 0x6c, 0x74, |
|||
0xd3, 0x78, 0x22, 0x09, 0xa4, 0x37, 0x72, 0x57, 0x47, 0x5c, 0x5a, 0x75, |
|||
0xbd, 0x39, 0x04, 0xfa, 0x23, 0x51, 0x55, 0x17, 0x77, 0x5b, 0xdd, 0xed, |
|||
0x0c, 0xae, 0x27, 0x55, 0x62, 0x63, 0x3e, 0x7c, 0xdd, 0xe8, 0x03, 0x11, |
|||
0x24, 0xd5, 0xc3, 0xeb, 0xfd, 0xc9, 0x64, 0xc2, 0x84, 0x17, 0x59, 0x59, |
|||
0xdf, 0xc8, 0x78, 0x61, 0xbb, 0xd4, 0x7c, 0xaf, 0x1c, 0xa9, 0x20, 0xce, |
|||
0x37, 0x05, 0x92, 0x43, 0xca, 0x5c, 0x1c, 0x53, 0xc3, 0xfd, 0x8e, 0x4f, |
|||
0xf7, 0xca, 0xf3, 0xd1, 0xf5, 0x7b, 0x69, 0xec, 0xa2, 0xed, 0xdc, 0x2f, |
|||
0x03, 0x14, 0x9f, 0x1a, 0x02, 0xd0, 0x90, 0x0a, 0x26, 0xa8, 0xe1, 0x5e, |
|||
0xc7, 0xaf, 0xf4, 0xa8, 0x5e, 0x09, 0x5c, 0xe6, 0x64, 0xd7, 0x6c, 0xed, |
|||
0x08, 0x36, 0x84, 0x08, 0xce, 0x1d, 0xa6, 0xe9, 0x38, 0x69, 0x37, 0x9b, |
|||
0x29, 0x44, 0xe7, 0xf2, 0x6b, 0x3f, 0x75, 0xae, 0xfc, 0x74, 0x38, 0xb9, |
|||
0x74, 0xfc, 0xa8, 0xa9, 0xdd, 0x53, 0x13, 0xe3, 0xee, 0x24, 0x6d, 0x02, |
|||
0x31, 0x00, 0xa4, 0xee, 0xfb, 0xcb, 0x40, 0x84, 0x1f, 0x58, 0x2c, 0x03, |
|||
0x97, 0x87, 0x51, 0x34, 0x96, 0x60, 0x8c, 0x2c, 0x8c, 0x54, 0x3c, 0x18, |
|||
0xcb, 0x98, 0x33, 0xe5, 0xb9, 0x5c, 0x7e, 0x04, 0x2d, 0x0c, 0xec, 0x36, |
|||
0x94, 0x1f, 0x91, 0x0f, 0xce, 0x94, 0xff, 0x74, 0x17, 0xdf, 0xba, 0xf4, |
|||
0xc3, 0x21, 0xb8, 0x86, 0x74, 0x85, 0x7b, 0x96, 0x9f, 0xb7, 0x5a, 0xc5, |
|||
0x2b, 0xda, 0x85, 0xcd, 0xf2, 0xb9, 0x79, 0x3e, 0xf0, 0x39, 0xed, 0xef, |
|||
0x9e, 0xec, 0x47, 0xa4, 0x18, 0x6a, 0xe4, 0xee, 0x8f, 0xdf, 0x7e, 0xdf, |
|||
0x69, 0x8a, 0x6e, 0xd9, 0x1b, 0xc1, 0x9f, 0x0a, 0x17, 0x92, 0xf9, 0x76, |
|||
0x0e, 0x32, 0x2f, 0x3b, 0x07, 0xbd, 0x88, 0xf4, 0x86, 0xab, 0x46, 0x29, |
|||
0x4e, 0x20, 0xbd, 0xcb, 0x9b, 0x82, 0xdf, 0x30, 0x89, 0x97, 0x6f, 0xe0, |
|||
0x55, 0xb6, 0x41, 0x96, 0x6a, 0xc2, 0xe7, 0xb5, 0xab, 0x6e, 0x47, 0x0d, |
|||
0xc1, 0x00, 0xe2, 0xd2, 0xf7, 0x0a, 0xa4, 0x3c, 0xeb, 0x7a, 0xb8, 0xee, |
|||
0x21, 0x42, 0xd9, 0x31, 0x0a, 0xb2, 0xd3, 0x54, 0xc8, 0xdd, 0x0e, 0xe1, |
|||
0xc0, 0x14, 0x6a, 0xfa, 0x74, 0xc8, 0xbf, 0x33, 0x15, 0x18, 0x74, 0x0f, |
|||
0xe8, 0x6c, 0xda, 0x71, 0x9c, 0x4e, 0x93, 0x1a, 0x40, 0x44, 0xd4, 0xe5, |
|||
0xae, 0xac, 0x8a, 0xc9, 0x57, 0xfd, 0x4e, 0xe0, 0x79, 0x34, 0x1c, 0xed, |
|||
0x07, 0x9d, 0x04, 0x84, 0xd6, 0x7d, 0x02, 0x64, 0xf1, 0xff, 0x96, 0xe7, |
|||
0x31, 0x72, 0x61, 0x35, 0x96, 0xc3, 0xb3, 0xb7, 0x2c, 0xc8, 0x54, 0x8b, |
|||
0x91, 0x88, 0x6b, 0x99, 0xcf, 0xc0, 0x20, 0xfa, 0xd3, 0x0f, 0xff, 0xf8, |
|||
0x4f, 0x46, 0xf7, 0x04, 0x50, 0xd8, 0x62, 0xcf, 0x60, 0xd0, 0xd7, 0x09, |
|||
0x90, 0x1a, 0x21, 0x96, 0x89, 0x4c, 0x2b, 0x86, 0x00, 0x05, 0xfa, 0x77, |
|||
0x36, 0xc2, 0x5b, 0x44, 0xa9, 0xdf, 0xd6, 0x4c, 0x41, 0xe5, 0x74, 0x6a, |
|||
0xc3, 0x08, 0xac, 0x71, 0x68, 0x57, 0x7e, 0x0c, 0xcf, 0x77, 0x48, 0x18, |
|||
0xe7, 0x7f, 0xdd, 0x43, 0xf8, 0x53, 0x83, 0x60, 0xd6, 0x28, 0x00, 0x11, |
|||
0xcc, 0xf2, 0x25, 0xbc, 0xb1, 0x13, 0x78, 0xad, 0xeb, 0xa2, 0x4f, 0xfd, |
|||
0xba, 0x5b, 0xf4, 0x7f, 0xd1, 0x1c, 0xf2, 0x9d, 0xb9, 0x60, 0x16, 0x95, |
|||
0xfb, 0xb5, 0x71, 0xc0, 0x57, 0x0d, 0xa6, 0x73, 0x3f, 0x58, 0xb7, 0xef, |
|||
0xfe, 0x96, 0x0d, 0x38, 0xee, 0xbe, 0x89, 0x98, 0xa6, 0x9a, 0xff, 0xb2, |
|||
0x88, 0xf4, 0x3a, 0xcd, 0x31, 0x34, 0x6a, 0xc6, 0xf5, 0xf7, 0x04, 0xdd, |
|||
0x1d, 0xd8, 0x76, 0x3e, 0x30, 0x3e, 0xd7, 0x22, 0xce, 0xd2, 0x88, 0x81, |
|||
0xfb, 0x62, 0xaa, 0x4c, 0x47, 0xfd, 0x3e, 0xb9, 0x36, 0x86, 0xa1, 0x57, |
|||
0xec, 0xb6, 0xcb, 0x5b, 0xbb, 0xee, 0xf2, 0x90, 0x36, 0xaf, 0x07, 0x5d, |
|||
0xdd, 0xf2, 0x75, 0xcf, 0xfb, 0xb6, 0xff, 0xc5, 0x76, 0x05, 0xda, 0x99, |
|||
0x0c, 0x8b, 0x4c, 0xd4, 0xd8, 0x17, 0xa1, 0x2e, 0x67, 0x61, 0x2a, 0x9b, |
|||
0x37, 0x95, 0x50, 0x01, 0x2a, 0x16, 0x94, 0xe0, 0xd4, 0xa9, 0xaa, 0x09, |
|||
0x7a, 0x52, 0xdc, 0x9f, 0xc6, 0xf8, 0xd8, 0x25, 0x63, 0x84, 0x07, 0x78, |
|||
0x21, 0xc3, 0xd3, 0x2f, 0xa6, 0xa5, 0xe5, 0xc0, 0x5e, 0x94, 0x8a, 0x80, |
|||
0x9d, 0x14, 0x60, 0xa7, 0x89, 0xf4, 0x4a, 0xa0, 0xad, 0x6b, 0x18, 0x11, |
|||
0x87, 0x2b, 0xa3, 0x62, 0x32, 0xcb, 0x7e, 0x4d, 0xef, 0x4d, 0x64, 0xa1, |
|||
0xa9, 0xd9, 0xc1, 0x3c, 0xa4, 0x6a, 0x3e, 0x08, 0xcf, 0xb8, 0xf5, 0xc0, |
|||
0x5e, 0x02, 0x94, 0x9d, 0xfb, 0x79, 0x85, 0x01, 0x66, 0x4b, 0x9b, 0x19, |
|||
0x17, 0xcb, 0x08, 0xa8, 0x95, 0x4e, 0xbd, 0x7c, 0x34, 0x22, 0xd7, 0x24, |
|||
0x59, 0x2c, 0x36, 0x19, 0x23, 0x28, 0x5c, 0xce, 0x58, 0x34, 0xf2, 0x03, |
|||
0x99, 0x89, 0x1e, 0x6e, 0x15, 0x03, 0xd1, 0x7d, 0x1e, 0xdc, 0x34, 0x12, |
|||
0x39, 0x1f, 0xbc, 0x7e, 0xcb, 0x41, 0x07, 0xb7, 0x2b, 0x07, 0x62, 0x12, |
|||
0xa4, 0xc9, 0x72, 0xc6, 0x61, 0x54, 0x76, 0x61, 0x20, 0xf3, 0x75, 0xc9, |
|||
0x15, 0x26, 0x37, 0xbc, 0xd4, 0xfa, 0x12, 0xea, 0x03, 0xad, 0x2e, 0x0d, |
|||
0xb6, 0xca, 0xda, 0x52, 0x8f, 0x07, 0x08, 0x7a, 0xe4, 0xd7, 0xe3, 0x28, |
|||
0xd6, 0xe3, 0x15, 0x42, 0x94, 0xef, 0xfe, 0x95, 0xad, 0xe6, 0x9e, 0x42, |
|||
0xd1, 0x4b, 0x58, 0x4b, 0xc9, 0x1f, 0xd5, 0x52, 0xfa, 0x67, 0x46, 0x69, |
|||
0x7f, 0x64, 0x52, 0x5a, 0xc9, 0x11, 0x13, 0xd9, 0x5f, 0xee, 0x80, 0xcb, |
|||
0xd7, 0x67, 0x0b, 0x45, 0x07, 0x6a, 0x2c, 0x62, 0x62, 0xb3, 0xa9, 0x5c, |
|||
0x04, 0x2e, 0x16, 0x21, 0x4e, 0xb2, 0x7e, 0x85, 0xe2, 0x08, 0xad, 0x10, |
|||
0x3a, 0x2e, 0x6e, 0xb2, 0x41, 0x59, 0xc7, 0xcf, 0x3f, 0xd0, 0x86, 0x43, |
|||
0x97, 0xee, 0xcb, 0x28, 0xce, 0xfc, 0xa2, 0x04, 0x4b, 0x09, 0x51, 0x03, |
|||
0x69, 0x4c, 0x71, 0x19, 0x4d, 0xd2, 0x6a, 0x3e, 0x6c, 0x10, 0x2c, 0xd6, |
|||
0x91, 0xe5, 0xcf, 0x48, 0xb5, 0x88, 0x60, 0x33, 0xa3, 0xb4, 0x7c, 0xe6, |
|||
0xa5, 0xe7, 0x5a, 0x5f, 0xd9, 0x2a, 0x27, 0x3f, 0x93, 0x10, 0x04, 0x8a, |
|||
0xa9, 0x53, 0x37, 0x1a, 0x0c, 0xc0, 0xc1, 0x88, 0x80, 0x15, 0xb2, 0x48, |
|||
0x4c, 0x8a, 0x9c, 0x15, 0x76, 0x55, 0xe2, 0xbc, 0x7a, 0xcb, 0x3c, 0x52, |
|||
0xd3, 0xc9, 0xf7, 0xb4, 0x1d, 0xfa, 0xf8, 0x94, 0x7d, 0x85, 0xb6, 0x56, |
|||
0xbf, 0xb3, 0x69, 0x9a, 0x35, 0x3b, 0xda, 0xd3, 0xfa, 0x1d, 0xad, 0xb8, |
|||
0x2e, 0xf7, 0xb0, 0xa1, 0xe9, 0x24, 0x7f, 0x49, 0x87, 0x47, 0xc8, 0x0f, |
|||
0xe6, 0xf2, 0x68, 0xb8, 0xd5, 0x9c, 0x1e, 0xf5, 0x59, 0xdd, 0xed, 0x55, |
|||
0x8b, 0x2b, 0xa3, 0x37, 0x9f, 0xd9, 0xf0, 0x59, 0xa6, 0x92, 0x15, 0x36, |
|||
0xf5, 0x36, 0xfb, 0x91, 0xc0, 0x79, 0x81, 0x64, 0xf8, 0xac, 0x8a, 0x18, |
|||
0x6e, 0x47, 0x55, 0xf0, 0xbe, 0x88, 0x2b, 0xe1, 0x54, 0x37, 0x7d, 0x25, |
|||
0xe2, 0x4b, 0x71, 0x85, 0xd4, 0x83, 0x80, 0xb8, 0xa9, 0xe5, 0xd6, 0xf8, |
|||
0xee, 0xa5, 0xdb, 0x83, 0x82, 0x29, 0x58, 0x22, 0x98, 0x6d, 0x04, 0xd2, |
|||
0xbe, 0x1a, 0xb2, 0xab, 0x8c, 0x4e, 0x3f, 0xa7, 0xc3, 0xa2, 0x01, 0xcb, |
|||
0x2b, 0xb7, 0xe0, 0x07, 0xa3, 0x49, 0xdc, 0x97, 0x94, 0x1c, 0xd5, 0xba, |
|||
0xea, 0xfe, 0x08, 0xe6, 0xd1, 0x07, 0xc7, 0x2e, 0xfb, 0x93, 0x54, 0x16, |
|||
0x1d, 0xe7, 0xea, 0x73, 0xfb, 0xfd, 0x04, 0x73, 0x9b, 0x57, 0x3b, 0x2b, |
|||
0xcd, 0x28, 0x81, 0xed, 0x22, 0x90, 0x55, 0xf3, 0x69, 0xc4, 0x93, 0x30, |
|||
0x61, 0x63, 0x19, 0xfb, 0x91, 0xe7, 0xf7, 0x45, 0x10, 0xdc, 0x58, 0xcb, |
|||
0xcc, 0x66, 0xe3, 0xbe, 0xa6, 0xb3, 0x1f, 0x66, 0x1f, 0x6c, 0xc2, 0x6a, |
|||
0x09, 0xc8, 0xee, 0x96, 0x9a, 0x96, 0xd1, 0x09, 0x38, 0x66, 0x2f, 0x4f, |
|||
0x4f, 0xf6, 0xc0, 0x13, 0x7a, 0x30, 0x31, 0x24, 0x91, 0xb0, 0xc6, 0x40, |
|||
0xb9, 0xec, 0xcb, 0x89, 0xba, 0x34, 0x4d, 0x13, 0xaa, 0xd9, 0xff, 0xb2, |
|||
0x73, 0x1b, 0xae, 0xa7, 0xe6, 0xe7, 0xa4, 0xab, 0x67, 0xb8, 0x52, 0xda, |
|||
0x58, 0x70, 0xa6, 0x4b, 0xf9, 0x8d, 0x42, 0x0f, 0x72, 0x1e, 0x74, 0x58, |
|||
0x72, 0x97, 0x5c, 0x06, 0x07, 0x56, 0xa1, 0x5e, 0x18, 0xf7, 0x57, 0xd9, |
|||
0x61, 0x32, 0xbb, 0xe4, 0x46, 0xf5, 0x4d, 0x1f, 0xfd, 0x81, 0x0a, 0xf4, |
|||
0xf1, 0xe2, 0xc2, 0xf5, 0x90, 0xad, 0x33, 0xf5, 0xf1, 0x9b, 0x65, 0x9c, |
|||
0x1e, 0xce, 0xcb, 0x7b, 0x7a, 0xbf, 0xd0, 0xa4, 0x8b, 0x1b, 0x07, 0xee, |
|||
0xc1, 0xc4, 0x5f, 0x2e, 0x29, 0xac, 0xe2, 0x9b, 0xa2, 0x52, 0xdf, 0x2a, |
|||
0xd0, 0x79, 0x43, 0x3a, 0x3c, 0xc4, 0x17, 0x12, 0x8d, 0x07, 0x54, 0xa3, |
|||
0xab, 0xb2, 0x60, 0xe6, 0x58, 0x3d, 0x64, 0x80, 0x9a, 0xe9, 0xb0, 0x49, |
|||
0x15, 0xed, 0xef, 0x50, 0xd6, 0xcb, 0x70, 0xb7, 0x41, 0x57, 0x5b, 0x86, |
|||
0x4f, 0x4d, 0x30, 0xa9, 0xa3, 0xc9, 0x0f, 0x8d, 0xd4, 0x3d, 0x21, 0xef, |
|||
0x49, 0x8e, 0x95, 0xf2, 0xbe, 0xe1, 0xd3, 0x92, 0x32, 0x19, 0x57, 0xcf, |
|||
0x0a, 0x14, 0x76, 0x10, 0x62, 0x4c, 0xc5, 0xe5, 0x04, 0x51, 0xf8, 0xbc, |
|||
0xbb, 0x86, 0x2e, 0x30, 0xd9, 0xac, 0x37, 0x21, 0xa2, 0x8b, 0x7b, 0xd5, |
|||
0xfd, 0x04, 0x55, 0xda, 0xff, 0xd7, 0xc6, 0x54, 0x0a, 0x81, 0xa9, 0x9a, |
|||
0x2b, 0x85, 0x52, 0x15, 0x2c, 0xe9, 0x7b, 0x71, 0x9a, 0x20, 0xbd, 0x11, |
|||
0x4e, 0xfd, 0x6e, 0x2c, 0x74, 0x6e, 0x5b, 0x1e, 0x83, 0x46, 0x58, 0xc6, |
|||
0xb6, 0x22, 0x41, 0x83, 0xaa, 0x07, 0x52, 0x16, 0x11, 0xc8, 0x38, 0xcd, |
|||
0x04, 0x0c, 0xf5, 0x59, 0x95, 0xc4, 0xa4, 0xb9, 0xce, 0x91, 0xc3, 0xe8, |
|||
0x82, 0xa0, 0x00, 0x7f, 0xeb, 0x78, 0xdf, 0x85, 0xc3, 0xdb, 0x44, 0x9e, |
|||
0xbe, 0x3d, 0x68, 0x73, 0x6e, 0xe3, 0x49, 0x54, 0x2f, 0xfa, 0x20, 0x43, |
|||
0x7c, 0xd1, 0xe7, 0x56, 0x6f, 0xe5, 0x5f, 0x27, 0x7e, 0x2c, 0xbd, 0xf6, |
|||
0xa3, 0x0d, 0x5b, 0x24, 0x37, 0x61, 0x9f, 0xc5, 0x00, 0x01, 0x93, 0x69, |
|||
0x48, 0x3b, 0x75, 0xa7, 0x33, 0x6b, 0x8a, 0x5f, 0x80, 0xa4, 0x43, 0x3f, |
|||
0x71, 0xf2, 0xfe, 0x6b, 0x6b, 0xa9, 0x33, 0x92, 0xb0, 0x67, 0x78, 0x6b, |
|||
0x6b, 0xfc, 0xd5, 0x5e, 0x8f, 0x3f, 0x72, 0xdd, 0x39, 0xa4, 0x91, 0x3a, |
|||
0xa4, 0x70, 0x89, 0x9b, 0x3f, 0xdd, 0xde, 0x4e, 0x67, 0x76, 0xfe, 0xe6, |
|||
0x6c, 0x4d, 0x70, 0xc3, 0xf1, 0xbf, 0x51, 0x96, 0xe3, 0xf2, 0x6d, 0x58, |
|||
0x0a, 0x19, 0x33, 0xfe, 0xa4, 0x38, 0x8c, 0xb5, 0x49, 0xf3, 0x08, 0x5d, |
|||
0xf1, 0x51, 0xf8, 0x29, 0x1b, 0xe0, 0xe7, 0x58, 0x8d, 0x8b, 0xc7, 0xc4, |
|||
0x4d, 0x36, 0xb1, 0xd9, 0xe3, 0xa9, 0x9c, 0x5d, 0xd8, 0xa9, 0xb5, 0xe9, |
|||
0x0f, 0x1a, 0xcf, 0x5b, 0x1b, 0xae, 0xeb, 0x86, 0x0e, 0xfd, 0x52, 0xa4, |
|||
0x95, 0x0e, 0x21, 0xae, 0x50, 0xf5, 0xf8, 0x3d, 0x3c, 0x23, 0x6e, 0x70, |
|||
0x1c, 0x57, 0xc2, 0x36, 0xdc, 0xa7, 0xc8, 0x35, 0xce, 0xe6, 0xce, 0x55, |
|||
0xe7, 0x47, 0xa1, 0x13, 0x7d, 0xb0, 0xa6, 0x81, 0x4c, 0x99, 0x74, 0x2f, |
|||
0xbe, 0xec, 0xf5, 0x8e, 0xd9, 0xe3, 0xa9, 0xa6, 0x35, 0xbb, 0xd8, 0x44, |
|||
0x39, 0x10, 0x43, 0x69, 0xc6, 0x50, 0xe8, 0xfc, 0x25, 0x89, 0xc2, 0x86, |
|||
0xb5, 0x99, 0x5d, 0xc9, 0x02, 0xb9, 0xd0, 0x83, 0x33, 0x4a, 0xae, 0x40, |
|||
0x10, 0xd2, 0x35, 0xde, 0xad, 0x59, 0x5f, 0x20, 0xff, 0xd2, 0x9a, 0xce, |
|||
0xca, 0x8c, 0x49, 0x6b, 0x16, 0x4b, 0xbc, 0x24, 0xc4, 0xc2, 0x39, 0x16, |
|||
0xb0, 0xc4, 0x7b, 0xa0, 0xe0, 0x0a, 0x85, 0xc3, 0xbc, 0xa4, 0x13, 0x82, |
|||
0x7b, 0x59, 0x5b, 0x93, 0x20, 0xea, 0x04, 0x0b, 0x24, 0x8e, 0x1f, 0xf6, |
|||
0x83, 0x09, 0x6c, 0x13, 0x0d, 0xae, 0x64, 0xc3, 0xad, 0xbb, 0x53, 0xce, |
|||
0xbd, 0xd5, 0x47, 0xd8, 0x1c, 0x7c, 0x96, 0xc8, 0xf8, 0x5a, 0x05, 0xd1, |
|||
0xa0, 0x4e, 0x93, 0x30, 0xc4, 0xb0, 0x87, 0x9d, 0x60, 0x85, 0x90, 0xc1, |
|||
0x7c, 0x3e, 0xfa, 0xe0, 0xf4, 0x72, 0xff, 0xe6, 0xa8, 0x1e, 0x20, 0x1b, |
|||
0xa2, 0x29, 0x67, 0xb3, 0x4c, 0x41, 0x20, 0x34, 0x47, 0x41, 0x36, 0xac, |
|||
0x4c, 0x1c, 0x32, 0x13, 0x87, 0x5a, 0x16, 0xad, 0x3d, 0xbc, 0x89, 0xeb, |
|||
0xc8, 0x2d, 0x5b, 0x0b, 0x4b, 0x6a, 0x61, 0xd1, 0x4c, 0x09, 0xbb, 0xac, |
|||
0x85, 0x6e, 0x9a, 0x83, 0xde, 0xeb, 0xd5, 0xb1, 0x53, 0x3d, 0xf0, 0xb5, |
|||
0x3a, 0x41, 0xd5, 0x27, 0xb2, 0x20, 0x23, 0xbd, 0x1e, 0xf5, 0x0c, 0x34, |
|||
0xa9, 0x0f, 0xb7, 0xa7, 0xa4, 0x9e, 0x6d, 0x7e, 0x7c, 0x74, 0xd2, 0xe3, |
|||
0x76, 0xa6, 0x89, 0xed, 0x29, 0xdf, 0x21, 0xaf, 0xb9, 0x8e, 0xa2, 0xe6, |
|||
0x6d, 0x8e, 0x3f, 0xa6, 0x9b, 0xe9, 0x47, 0x13, 0x19, 0xe6, 0x33, 0x1b, |
|||
0xbd, 0x51, 0xfb, 0x77, 0x27, 0x47, 0x6f, 0x40, 0x17, 0x62, 0x90, 0x18, |
|||
0xd0, 0x6b, 0x4c, 0x35, 0x9b, 0x6d, 0x39, 0xb3, 0x66, 0xf9, 0xa4, 0x32, |
|||
0x3e, 0xb2, 0xa9, 0x1a, 0x02, 0x53, 0xce, 0x34, 0x59, 0x24, 0xb2, 0x91, |
|||
0xc2, 0xca, 0x37, 0x2f, 0x5e, 0xa2, 0x2b, 0xef, 0xd2, 0xd5, 0x27, 0xb0, |
|||
0x0b, 0x84, 0x71, 0xd1, 0xfc, 0x70, 0x9d, 0x34, 0x75, 0x39, 0xf9, 0x85, |
|||
0x1a, 0xc7, 0x05, 0xcb, 0x09, 0xfb, 0x91, 0x07, 0x56, 0xb4, 0x0f, 0x41, |
|||
0xe9, 0x38, 0x0a, 0x41, 0x0c, 0xa8, 0x8a, 0x17, 0x0b, 0xa6, 0x93, 0x98, |
|||
0xc3, 0x82, 0xe5, 0x4d, 0x7f, 0xf1, 0x80, 0xf7, 0xbd, 0x3a, 0xa9, 0x35, |
|||
0x33, 0x85, 0xf4, 0x07, 0x91, 0xa6, 0x31, 0xb1, 0xaa, 0x3d, 0x4a, 0x2d, |
|||
0xcb, 0x95, 0x3c, 0x02, 0xbd, 0x15, 0x65, 0x16, 0x96, 0x65, 0x66, 0x70, |
|||
0x61, 0x87, 0xd6, 0x74, 0xf5, 0xf1, 0x1f, 0x58, 0x84, 0x61, 0x51, 0x84, |
|||
0x74, 0x82, 0xb4, 0x84, 0x96, 0xdd, 0x83, 0x72, 0xd1, 0x58, 0xff, 0x97, |
|||
0x92, 0x92, 0x14, 0x40, 0x67, 0x39, 0xde, 0x02, 0xeb, 0x80, 0xe0, 0xdb, |
|||
0xf9, 0x5f, 0x99, 0x04, 0xe7, 0xc5, 0xf5, 0xde, 0x0a, 0x82, 0x55, 0x5c, |
|||
0xd6, 0x0a, 0x9e, 0x6a, 0x1f, 0xca, 0x49, 0x0b, 0xf5, 0x28, 0x3f, 0x4e, |
|||
0xf3, 0x01, 0xfb, 0xe7, 0x6a, 0xd4, 0xcc, 0xde, 0x1a, 0x8f, 0x4f, 0x30, |
|||
0x26, 0x73, 0xa7, 0xc4, 0x66, 0xfb, 0xec, 0xdc, 0xa6, 0x3b, 0xc0, 0xe4, |
|||
0x90, 0xdb, 0xe1, 0x24, 0x08, 0xec, 0x6c, 0x30, 0x6a, 0x55, 0xba, 0xd7, |
|||
0x86, 0x68, 0x45, 0x17, 0xa0, 0xd5, 0x33, 0xfd, 0xe4, 0x34, 0xc6, 0xc2, |
|||
0xfb, 0x18, 0x59, 0x9a, 0xfd, 0x76, 0x90, 0x90, 0x8c, 0xdb, 0x2d, 0xdb, |
|||
0x4f, 0x8c, 0xf8, 0x82, 0x22, 0xaa, 0x8a, 0x28, 0x6b, 0x66, 0x9f, 0xa6, |
|||
0x7e, 0x90, 0xb8, 0x53, 0xc8, 0xd6, 0xa0, 0x6b, 0x5f, 0x92, 0x96, 0x60, |
|||
0xd8, 0x11, 0xea, 0x89, 0xe8, 0xcf, 0x85, 0x1b, 0x10, 0x2d, 0x0a, 0x10, |
|||
0x55, 0x20, 0x45, 0xdc, 0x83, 0xc8, 0x39, 0x9a, 0xa4, 0xa0, 0x6e, 0x76, |
|||
0xe8, 0x82, 0x95, 0xe8, 0xf7, 0x86, 0xe5, 0x76, 0xef, 0x60, 0x48, 0xea, |
|||
0x09, 0x31, 0x17, 0x8a, 0x81, 0xea, 0x77, 0xdb, 0x37, 0x29, 0x39, 0x6c, |
|||
0xf7, 0xa9, 0x0a, 0x2e, 0x5a, 0x18, 0x52, 0x58, 0x34, 0x22, 0x6f, 0xb1, |
|||
0x6d, 0x9e, 0x87, 0x5b, 0x69, 0xa7, 0xf5, 0xa2, 0xd5, 0x4e, 0x6d, 0xe1, |
|||
0x1e, 0xc2, 0x8c, 0x9d, 0x41, 0x10, 0x41, 0x24, 0xa1, 0x1e, 0x83, 0x08, |
|||
0x7d, 0x40, 0x33, 0x7f, 0xde, 0x68, 0x3d, 0x7d, 0x6e, 0xe5, 0xf2, 0x1f, |
|||
0x8b, 0x38, 0x91, 0x2f, 0x83, 0x48, 0x00, 0x57, 0x92, 0x90, 0xc6, 0xd1, |
|||
0x47, 0x85, 0x64, 0x0b, 0xcb, 0x72, 0xd2, 0xe8, 0x25, 0x5e, 0x9b, 0x07, |
|||
0x06, 0xad, 0x27, 0x1c, 0xc2, 0xbd, 0x33, 0xbe, 0xcd, 0x6d, 0xfe, 0x1a, |
|||
0xff, 0x1c, 0xe2, 0x9f, 0x57, 0xf8, 0xa7, 0x87, 0x7f, 0x8e, 0xb7, 0xf9, |
|||
0xf9, 0x99, 0x38, 0x9f, 0xd9, 0x3a, 0x35, 0x45, 0xd1, 0xb7, 0xa5, 0xdb, |
|||
0x95, 0x10, 0x71, 0x92, 0xd6, 0x72, 0xd7, 0xc5, 0xf0, 0x3f, 0x1a, 0x30, |
|||
0xf9, 0x42, 0x3a, 0x81, 0x0c, 0xaf, 0xa0, 0xa2, 0xf6, 0xbc, 0xf5, 0xc5, |
|||
0x6f, 0x5f, 0x4c, 0x55, 0x27, 0x14, 0x7f, 0x16, 0x27, 0xb5, 0x39, 0x76, |
|||
0xc7, 0xcf, 0xc7, 0x58, 0x10, 0x41, 0xcf, 0x59, 0x5b, 0x3a, 0xea, 0x58, |
|||
0x34, 0x79, 0x07, 0x11, 0x0f, 0x28, 0x31, 0xb7, 0xf2, 0x4e, 0xad, 0x59, |
|||
0xbb, 0xae, 0xff, 0x68, 0x02, 0xd2, 0xb9, 0x94, 0x4c, 0xdf, 0x33, 0xe6, |
|||
0xf5, 0xa8, 0x7e, 0x32, 0x0f, 0x2e, 0xe7, 0x93, 0x38, 0x34, 0x4e, 0xca, |
|||
0x8a, 0xdb, 0x91, 0x21, 0x39, 0xa9, 0xc5, 0x09, 0x44, 0xde, 0x88, 0x37, |
|||
0x20, 0xac, 0xdb, 0xdb, 0xb0, 0xd3, 0xaa, 0x9a, 0xd5, 0xa1, 0x66, 0x88, |
|||
0xd1, 0xf7, 0xaf, 0xd7, 0x92, 0xd1, 0x27, 0xd4, 0xc0, 0x19, 0x88, 0xd6, |
|||
0x05, 0x09, 0xad, 0xad, 0x85, 0xdd, 0x2f, 0xe4, 0xc6, 0x6f, 0xaa, 0xba, |
|||
0xab, 0x42, 0x24, 0x49, 0x05, 0xca, 0x55, 0xe6, 0x74, 0x5a, 0xa0, 0x34, |
|||
0x32, 0xe9, 0x8b, 0xb1, 0xfc, 0x32, 0x1d, 0x05, 0xa6, 0xb5, 0xea, 0x9c, |
|||
0xd7, 0xe9, 0xc7, 0x12, 0x66, 0xb4, 0x17, 0x48, 0x7c, 0x6b, 0x70, 0xc8, |
|||
0x3e, 0xe6, 0x3e, 0x20, 0x75, 0xb0, 0xec, 0x9a, 0x39, 0x22, 0x17, 0x26, |
|||
0xea, 0xa8, 0x0b, 0xfe, 0x5f, 0xf6, 0x0e, 0x0f, 0x80, 0xf0, 0x29, 0x64, |
|||
0x25, 0xf8, 0x83, 0x08, 0x59, 0x9e, 0x84, 0xd4, 0x25, 0x06, 0xcb, 0x73, |
|||
0x24, 0xf7, 0x33, 0xf3, 0x43, 0x94, 0xd2, 0xcf, 0x04, 0xe8, 0x0c, 0x8d, |
|||
0xcd, 0xcb, 0x76, 0x9f, 0x81, 0xa2, 0x43, 0x66, 0x2c, 0x33, 0x08, 0x89, |
|||
0xb6, 0x4c, 0x33, 0xbd, 0xbd, 0xe5, 0x1c, 0x10, 0x71, 0x68, 0x4c, 0x55, |
|||
0xab, 0xa7, 0x05, 0x8e, 0x8a, 0xe6, 0x04, 0xe6, 0xb2, 0x0f, 0x0e, 0x5c, |
|||
0x65, 0x06, 0x40, 0x2d, 0x75, 0x14, 0x37, 0x07, 0x90, 0xf7, 0x39, 0xc2, |
|||
0xf3, 0x1a, 0x1c, 0xc9, 0x60, 0x74, 0xeb, 0x24, 0xe0, 0x2c, 0x53, 0xd0, |
|||
0x48, 0xc8, 0x68, 0x65, 0x83, 0x1b, 0x59, 0x3a, 0xa8, 0xb1, 0xfa, 0x96, |
|||
0x89, 0xeb, 0x3c, 0x06, 0xd3, 0x01, 0x70, 0x70, 0xf1, 0x0d, 0x25, 0xd8, |
|||
0x51, 0x0c, 0x4e, 0xb6, 0x91, 0x55, 0x65, 0x6c, 0xba, 0x75, 0x61, 0x67, |
|||
0xd7, 0x29, 0x6c, 0x86, 0x12, 0x14, 0x20, 0x63, 0xe8, 0x9d, 0x6b, 0x77, |
|||
0x0b, 0x62, 0xff, 0xb3, 0xd6, 0xb9, 0xa3, 0x7e, 0xeb, 0x05, 0x1c, 0x1c, |
|||
0xcd, 0x7a, 0x95, 0xc9, 0xa4, 0x20, 0x14, 0x73, 0x2a, 0xb1, 0x1c, 0x45, |
|||
0xd7, 0x72, 0xc9, 0xd9, 0x60, 0xd5, 0x81, 0x5b, 0x20, 0x42, 0x5a, 0x7b, |
|||
0x72, 0xe8, 0x7b, 0x78, 0x43, 0xa0, 0x21, 0x5d, 0xce, 0xc1, 0xb1, 0xf0, |
|||
0xb7, 0xef, 0xb8, 0x1d, 0xc2, 0xb3, 0x66, 0x46, 0x2c, 0x50, 0x18, 0x41, |
|||
0xbc, 0xbc, 0x11, 0x23, 0xa0, 0x60, 0xde, 0x39, 0xe0, 0xb6, 0xa0, 0x9f, |
|||
0x00, 0xc4, 0x04, 0xda, 0x7d, 0xd4, 0x82, 0x57, 0xdf, 0x2b, 0xa2, 0xac, |
|||
0xf3, 0x27, 0xda, 0xbf, 0x3b, 0x05, 0x57, 0xfc, 0xe4, 0x49, 0x26, 0xf0, |
|||
0x68, 0xc1, 0xe8, 0x51, 0x69, 0xf4, 0xe2, 0x25, 0x1b, 0xed, 0x0f, 0xe3, |
|||
0x5a, 0x2a, 0x6a, 0xc9, 0x50, 0xed, 0x1d, 0x55, 0x88, 0xe0, 0xb8, 0x66, |
|||
0xdc, 0x8e, 0x6b, 0xa8, 0x62, 0x4b, 0xa1, 0x02, 0xd1, 0x44, 0x68, 0x33, |
|||
0x8d, 0x68, 0xb7, 0x53, 0xed, 0xaa, 0x20, 0x0d, 0x16, 0x13, 0x57, 0x2c, |
|||
0x04, 0x15, 0x54, 0x60, 0x1d, 0x48, 0xf0, 0x0c, 0x7b, 0xe7, 0xba, 0x95, |
|||
0xd4, 0x32, 0x49, 0xfa, 0x05, 0x88, 0x89, 0xc9, 0x97, 0x71, 0x1b, 0x83, |
|||
0x15, 0xee, 0x12, 0x71, 0x3b, 0x31, 0x8c, 0x06, 0xc6, 0xc2, 0x36, 0x04, |
|||
0x52, 0x19, 0x8c, 0x00, 0xc5, 0x92, 0x06, 0xb6, 0xd6, 0xb3, 0x5b, 0xd9, |
|||
0xc3, 0x82, 0x2e, 0x51, 0xd8, 0xc7, 0x8f, 0x56, 0x5c, 0xdc, 0xc0, 0xf0, |
|||
0x6c, 0x07, 0x1d, 0x27, 0xe9, 0x72, 0x6c, 0xd9, 0x91, 0x23, 0xc6, 0x00, |
|||
0xf3, 0x76, 0xf0, 0x97, 0x44, 0xef, 0x02, 0x12, 0x3d, 0x6f, 0xbf, 0x76, |
|||
0xde, 0x64, 0x48, 0x98, 0xda, 0x9b, 0xf3, 0x36, 0x2e, 0x59, 0x71, 0xdb, |
|||
0x5f, 0x42, 0xca, 0x88, 0x09, 0x44, 0xce, 0xa6, 0x6a, 0x69, 0xda, 0x4a, |
|||
0xc3, 0x15, 0x0a, 0x3c, 0x4a, 0xe1, 0x35, 0xdf, 0xc5, 0x3e, 0xee, 0x04, |
|||
0x76, 0xde, 0x7e, 0x54, 0x68, 0x5f, 0x3f, 0x0a, 0x83, 0x1b, 0xa3, 0xf9, |
|||
0xcd, 0x4e, 0xde, 0xfc, 0x26, 0x62, 0x3b, 0xc8, 0x32, 0xf4, 0x46, 0x93, |
|||
0x8e, 0xf7, 0x04, 0xe6, 0xfd, 0x6e, 0x57, 0x6f, 0x0a, 0xb5, 0x33, 0xa3, |
|||
0x33, 0x0a, 0x60, 0x2a, 0xd4, 0xfa, 0x42, 0xff, 0xed, 0xb0, 0xe8, 0x77, |
|||
0x1d, 0x35, 0x90, 0x9d, 0xb5, 0xd2, 0x6e, 0xd0, 0x08, 0xf3, 0xdf, 0x19, |
|||
0x02, 0xab, 0xb2, 0x6c, 0xdf, 0x14, 0x2b, 0x86, 0xb2, 0x5a, 0xb0, 0xfd, |
|||
0x05, 0xb6, 0xd3, 0xaf, 0x92, 0xaa, 0xb1, 0xbf, 0x69, 0xeb, 0x09, 0x16, |
|||
0x5a, 0x4f, 0x90, 0x59, 0x4f, 0xb6, 0x75, 0xd9, 0xc1, 0x02, 0xca, 0xf4, |
|||
0xe9, 0x3e, 0xe0, 0x15, 0xad, 0xa9, 0x85, 0x10, 0xc0, 0xa3, 0xa7, 0x4f, |
|||
0xad, 0x2c, 0x6c, 0xc3, 0xfe, 0x68, 0x32, 0x62, 0x48, 0x91, 0x29, 0x92, |
|||
0x8c, 0x48, 0xea, 0xb9, 0x7b, 0x8b, 0x95, 0xca, 0x5b, 0xc4, 0xe4, 0x24, |
|||
0xf4, 0xc1, 0x17, 0x78, 0x2b, 0xf2, 0x81, 0xbd, 0x4c, 0x6d, 0xdb, 0xce, |
|||
0xb5, 0x65, 0xdb, 0x50, 0xa2, 0xd7, 0x39, 0xf4, 0xb5, 0x09, 0x3e, 0xcc, |
|||
0xc1, 0x87, 0x26, 0xf8, 0x55, 0x0e, 0x7e, 0x65, 0x82, 0x7b, 0x39, 0xb8, |
|||
0xb7, 0x5d, 0xad, 0x81, 0xe9, 0x62, 0x0d, 0x4c, 0x4b, 0x1a, 0x98, 0x56, |
|||
0x6a, 0xa0, 0x57, 0x50, 0xb2, 0x14, 0x95, 0x0c, 0xc3, 0xdd, 0x09, 0x6e, |
|||
0x1a, 0x63, 0x17, 0x18, 0xc4, 0x4d, 0x36, 0x9c, 0x27, 0x1a, 0xa1, 0x33, |
|||
0x52, 0x45, 0xb0, 0xe6, 0x9f, 0x1b, 0x7f, 0xf2, 0x9e, 0x58, 0x8d, 0xb3, |
|||
0xed, 0xd7, 0x87, 0xaf, 0xce, 0xad, 0x17, 0x8f, 0x9b, 0x3e, 0xec, 0x86, |
|||
0x2f, 0x1a, 0x13, 0x57, 0x9e, 0x6d, 0x9c, 0xdb, 0xf2, 0xec, 0xe9, 0x39, |
|||
0x68, 0xf4, 0xd8, 0xc5, 0x07, 0x08, 0x2e, 0x4f, 0x61, 0x90, 0x78, 0x47, |
|||
0x24, 0xb2, 0x61, 0x59, 0x56, 0x7b, 0xe2, 0x86, 0xb3, 0x20, 0x63, 0x6f, |
|||
0x62, 0x7b, 0xd9, 0xd3, 0xd8, 0xee, 0x17, 0x98, 0x09, 0xac, 0x12, 0xc0, |
|||
0xd3, 0x4a, 0x30, 0x5a, 0x60, 0x00, 0xa3, 0x0a, 0x0d, 0xd0, 0xe7, 0x99, |
|||
0x5a, 0xf9, 0x87, 0x8b, 0xbd, 0xf2, 0xb0, 0xc6, 0x2b, 0x43, 0x4a, 0x67, |
|||
0xfa, 0xe1, 0x1f, 0xbf, 0xfd, 0x3b, 0x40, 0xb4, 0x13, 0x3e, 0x84, 0x4d, |
|||
0x9b, 0x4d, 0xc6, 0x08, 0xa9, 0xd7, 0x2f, 0xc2, 0x22, 0xce, 0x10, 0xd9, |
|||
0x02, 0x6c, 0xd3, 0xe7, 0xe2, 0xce, 0x4f, 0x4e, 0xee, 0x74, 0xdc, 0x10, |
|||
0x7a, 0xda, 0x83, 0xc5, 0x2c, 0x0f, 0x6a, 0x59, 0x1e, 0x14, 0x59, 0xfe, |
|||
0x0e, 0x21, 0x26, 0xcb, 0x5e, 0xf4, 0x11, 0xb1, 0x96, 0x64, 0x9a, 0xd0, |
|||
0x2d, 0xc0, 0xaf, 0x66, 0x7b, 0x17, 0x9a, 0xe7, 0x8c, 0x5f, 0x2d, 0x64, |
|||
0x5c, 0x87, 0xa7, 0x57, 0xb5, 0xfc, 0x5f, 0x99, 0xfc, 0xff, 0xf4, 0xc3, |
|||
0xf7, 0x20, 0xf3, 0x2b, 0x3d, 0x81, 0xb7, 0x72, 0x34, 0x67, 0x0d, 0xe1, |
|||
0xf5, 0x93, 0x28, 0xe1, 0x5a, 0x80, 0x6c, 0xce, 0x40, 0xe8, 0xb0, 0xcb, |
|||
0xb2, 0x47, 0x05, 0xdd, 0x1b, 0x96, 0x01, 0x83, 0x32, 0xe0, 0xca, 0xb2, |
|||
0x45, 0x01, 0x10, 0x95, 0x01, 0x7e, 0x19, 0xd0, 0x2f, 0x03, 0x46, 0x96, |
|||
0x4d, 0x75, 0x76, 0xcf, 0xdb, 0x85, 0x08, 0x6b, 0x37, 0x8e, 0xc6, 0x18, |
|||
0x0b, 0x4a, 0x98, 0x78, 0xd2, 0x10, 0x80, 0x3d, 0xb3, 0x2b, 0x9b, 0x30, |
|||
0x4e, 0xc7, 0x4e, 0x7b, 0xd7, 0x20, 0x55, 0x0d, 0x06, 0x6b, 0x00, 0x44, |
|||
0x95, 0x4c, 0x81, 0x36, 0x8a, 0xd0, 0x0b, 0x24, 0xf6, 0x3c, 0x41, 0x80, |
|||
0x65, 0xd7, 0xe1, 0x03, 0x2f, 0x26, 0xf6, 0x5e, 0xe8, 0xd5, 0xe3, 0x82, |
|||
0xa0, 0x62, 0x13, 0xf9, 0x08, 0xde, 0xeb, 0xb1, 0x03, 0x29, 0xae, 0xa5, |
|||
0x89, 0x7e, 0x80, 0x80, 0x3a, 0xfc, 0x68, 0x9c, 0xa3, 0xc2, 0x33, 0x04, |
|||
0xd4, 0x9b, 0x3a, 0xf3, 0x66, 0x18, 0x11, 0xf7, 0x22, 0x91, 0x9d, 0x83, |
|||
0x70, 0xfd, 0xd5, 0xb5, 0x1d, 0xba, 0xcf, 0xe4, 0x33, 0x33, 0xbc, 0xad, |
|||
0x8e, 0xb5, 0x79, 0x8a, 0x7d, 0x31, 0xc2, 0x2d, 0xe5, 0x42, 0x66, 0xc4, |
|||
0x7b, 0xa1, 0x90, 0x18, 0x1c, 0x68, 0xcc, 0xd4, 0x78, 0x17, 0x76, 0x39, |
|||
0xaf, 0x17, 0xb5, 0xb1, 0xfa, 0xcc, 0x86, 0xcd, 0x9a, 0xb8, 0xe8, 0x6d, |
|||
0x6d, 0xbf, 0xdf, 0x3a, 0x78, 0xb7, 0xf5, 0xc7, 0x93, 0xf7, 0x6f, 0xf7, |
|||
0x0e, 0x8e, 0xb6, 0x76, 0x31, 0x5e, 0x46, 0x20, 0x3e, 0xef, 0xed, 0xba, |
|||
0x53, 0x5e, 0xfc, 0x68, 0x9f, 0x63, 0x16, 0xc8, 0xab, 0x3e, 0xf0, 0xa5, |
|||
0x16, 0x5d, 0xf9, 0x30, 0x61, 0x54, 0x17, 0x29, 0x40, 0xa8, 0xc6, 0x55, |
|||
0xc0, 0xaa, 0x38, 0xfd, 0xc5, 0x06, 0x43, 0xac, 0x98, 0xcc, 0xed, 0x9a, |
|||
0x58, 0x07, 0xe2, 0x9b, 0x1b, 0xa3, 0xc6, 0x54, 0x2b, 0xcf, 0xaa, 0x93, |
|||
0xe0, 0xec, 0xdc, 0x46, 0x17, 0x31, 0xf0, 0x45, 0x25, 0x29, 0x74, 0x58, |
|||
0x72, 0x55, 0xb0, 0x4f, 0x75, 0x68, 0x8c, 0xa3, 0xe3, 0x71, 0x8f, 0xee, |
|||
0xa0, 0xf7, 0xb9, 0x4a, 0xe4, 0x24, 0xee, 0x73, 0xca, 0x98, 0xa4, 0x03, |
|||
0xcf, 0x6e, 0x6a, 0xc3, 0xff, 0x5a, 0x9a, 0x3a, 0x3d, 0x32, 0x04, 0x7f, |
|||
0x56, 0x29, 0x8f, 0x73, 0x8c, 0xbb, 0x66, 0xb9, 0x40, 0x20, 0x06, 0x48, |
|||
0x7b, 0x50, 0x51, 0xa8, 0x90, 0x41, 0x45, 0xb2, 0x68, 0x5c, 0xec, 0xc3, |
|||
0x74, 0x6d, 0x11, 0xaa, 0x3e, 0x12, 0xc6, 0x24, 0x32, 0xdf, 0xe0, 0x43, |
|||
0xd0, 0xab, 0xb0, 0xc2, 0x1c, 0x94, 0x83, 0xe2, 0x54, 0xb0, 0x43, 0xe5, |
|||
0xcb, 0x75, 0x3c, 0x2c, 0x49, 0xa7, 0x70, 0x37, 0x87, 0xd6, 0x40, 0x16, |
|||
0xc2, 0x87, 0xb2, 0x9c, 0x0a, 0x17, 0x7c, 0xe6, 0x69, 0xb1, 0x2d, 0x2b, |
|||
0xb4, 0x9b, 0xae, 0x9d, 0x40, 0x63, 0x99, 0x88, 0xbe, 0xda, 0x03, 0xfd, |
|||
0xd7, 0x37, 0xb0, 0x5a, 0x69, 0x87, 0xf5, 0xc3, 0x98, 0x0b, 0x12, 0x16, |
|||
0x53, 0x77, 0x63, 0x88, 0xb0, 0x7e, 0x88, 0x16, 0x8a, 0xb7, 0x34, 0xa9, |
|||
0x7a, 0x66, 0x81, 0x99, 0x3a, 0xc5, 0x15, 0x56, 0xed, 0xf0, 0x95, 0xea, |
|||
0x01, 0xaa, 0x2b, 0xac, 0x1a, 0x2b, 0xd9, 0x94, 0x20, 0xb7, 0xa9, 0xa1, |
|||
0x60, 0x02, 0x94, 0x69, 0x03, 0x0f, 0x26, 0x17, 0xda, 0x8f, 0x80, 0xce, |
|||
0x6b, 0x6b, 0x4a, 0x91, 0x8d, 0x73, 0xc8, 0x59, 0x10, 0xf5, 0x45, 0x70, |
|||
0x92, 0x46, 0xe8, 0x93, 0x51, 0x18, 0xfb, 0xa9, 0x1c, 0xcd, 0xcf, 0x0c, |
|||
0xdf, 0x13, 0xab, 0xa0, 0x9e, 0xa0, 0x16, 0x96, 0x9d, 0x67, 0xdb, 0x46, |
|||
0x09, 0x15, 0xcc, 0x83, 0xaa, 0xae, 0xc8, 0xb2, 0x02, 0xec, 0x82, 0x51, |
|||
0x34, 0x2a, 0x51, 0x51, 0x4c, 0x55, 0x8a, 0xf7, 0x41, 0xde, 0x50, 0x60, |
|||
0x90, 0x82, 0x98, 0x03, 0x89, 0x2a, 0x87, 0xf5, 0xd5, 0xcd, 0xe4, 0xa3, |
|||
0x8f, 0x8c, 0xa6, 0x0e, 0x20, 0x80, 0x75, 0x08, 0xd0, 0x99, 0xad, 0x38, |
|||
0x86, 0xc2, 0x91, 0x1c, 0xa4, 0xbc, 0x3d, 0x7f, 0x3f, 0x1d, 0xf3, 0x36, |
|||
0x6a, 0xe9, 0x38, 0x96, 0xd7, 0x7e, 0x34, 0x49, 0xb2, 0x79, 0x9f, 0xf8, |
|||
0x97, 0x01, 0x54, 0x83, 0x6e, 0x6f, 0xff, 0xdb, 0xde, 0x93, 0x70, 0xb7, |
|||
0x8d, 0xf3, 0xf8, 0x57, 0x5c, 0xee, 0x6c, 0x6a, 0x6e, 0x59, 0xb7, 0xe9, |
|||
0xec, 0x69, 0xd7, 0x93, 0xb9, 0xef, 0xfb, 0x78, 0x57, 0xea, 0xb7, 0x51, |
|||
0x6b, 0xba, 0xc9, 0x36, 0x91, 0xbc, 0x92, 0xdc, 0x99, 0xbc, 0x58, 0xff, |
|||
0x7d, 0x01, 0x12, 0x12, 0x49, 0x48, 0x14, 0xed, 0xcc, 0xec, 0x77, 0x5f, |
|||
0x33, 0x91, 0x4c, 0x82, 0x14, 0x08, 0x02, 0x20, 0x2e, 0xea, 0xf3, 0xd6, |
|||
0x82, 0xf2, 0xf8, 0x74, 0xb5, 0x78, 0x59, 0xea, 0xec, 0xcd, 0xc2, 0xf5, |
|||
0xc6, 0xd2, 0x96, 0x01, 0x38, 0x54, 0x2b, 0x2c, 0xc0, 0x1c, 0x38, 0x77, |
|||
0x1f, 0xd8, 0xd3, 0x00, 0xc6, 0xe7, 0xc5, 0x8d, 0xc6, 0xd6, 0xfc, 0x3d, |
|||
0xc8, 0x34, 0x7c, 0x1d, 0x8c, 0xdd, 0x64, 0x68, 0x7e, 0x31, 0xf3, 0x04, |
|||
0x90, 0x14, 0xbb, 0x3c, 0x45, 0xf9, 0x4c, 0x16, 0x1d, 0xb4, 0xc1, 0x3b, |
|||
0xaf, 0x77, 0xb0, 0x38, 0xaf, 0xe3, 0x8b, 0x63, 0xb7, 0x60, 0x9e, 0x62, |
|||
0x20, 0xd3, 0x8b, 0xf3, 0x30, 0xab, 0x4e, 0x80, 0x7b, 0xbb, 0x11, 0xab, |
|||
0x0b, 0x22, 0x0d, 0xb3, 0xff, 0xd1, 0xaa, 0x64, 0x4d, 0xf6, 0x01, 0xcb, |
|||
0xee, 0x7c, 0x01, 0x48, 0x6b, 0xdd, 0xe2, 0x5a, 0xa3, 0x3a, 0x59, 0xf0, |
|||
0x21, 0xda, 0x60, 0xe6, 0x39, 0x3a, 0xd5, 0xb6, 0xd8, 0xee, 0x30, 0xf8, |
|||
0xc6, 0xbc, 0xb0, 0x73, 0xc0, 0xd7, 0xac, 0xb3, 0x67, 0xda, 0x1a, 0x26, |
|||
0x9a, 0x25, 0xeb, 0x00, 0x68, 0x56, 0x87, 0x53, 0x9c, 0xe7, 0x74, 0x47, |
|||
0xe4, 0x14, 0xd7, 0xda, 0x3a, 0xe4, 0xa7, 0xe2, 0x53, 0x1b, 0xdc, 0x5a, |
|||
0x17, 0x06, 0xce, 0x84, 0xfc, 0x03, 0x42, 0x69, 0xa9, 0x9c, 0xe8, 0xef, |
|||
0x3c, 0xed, 0xfb, 0x3d, 0xeb, 0xc0, 0x0c, 0x20, 0xc2, 0x40, 0x15, 0xb2, |
|||
0x71, 0x8c, 0x7d, 0xf8, 0xfb, 0xef, 0xce, 0xc5, 0x50, 0xfa, 0x19, 0x82, |
|||
0x18, 0x49, 0x4e, 0xe1, 0xbf, 0x92, 0x84, 0xe6, 0xef, 0x29, 0x88, 0xb9, |
|||
0xf7, 0x96, 0x24, 0xb5, 0x48, 0x1c, 0xf2, 0x62, 0xb6, 0x4f, 0xfc, 0xa7, |
|||
0xaf, 0x18, 0x0b, 0x85, 0xae, 0x83, 0xe1, 0x85, 0x74, 0x44, 0x98, 0x3c, |
|||
0x3b, 0x92, 0x36, 0x4e, 0x47, 0x47, 0x04, 0xab, 0x03, 0x5d, 0x09, 0x0d, |
|||
0x24, 0x16, 0xb6, 0x0b, 0xa5, 0x11, 0xea, 0x6d, 0x81, 0x65, 0x5f, 0x03, |
|||
0x85, 0x56, 0xcb, 0x86, 0x4f, 0xe6, 0xf7, 0x99, 0x53, 0xb8, 0x21, 0x45, |
|||
0xd5, 0xdc, 0x4a, 0x12, 0x65, 0x86, 0xd3, 0x9a, 0x80, 0x0c, 0xd3, 0xa3, |
|||
0xaa, 0x87, 0x04, 0xef, 0x25, 0xd6, 0x2b, 0xf0, 0x25, 0x2f, 0x01, 0x89, |
|||
0xee, 0x09, 0xfa, 0x7d, 0x70, 0x23, 0xd0, 0x6f, 0x86, 0x97, 0x34, 0x32, |
|||
0xba, 0x99, 0xb1, 0x2d, 0x45, 0x99, 0x68, 0x89, 0xbb, 0x9a, 0xb8, 0x6d, |
|||
0x84, 0x77, 0x3c, 0xf4, 0x34, 0x8f, 0xf3, 0x30, 0x61, 0xd7, 0xca, 0xd9, |
|||
0xd5, 0x43, 0x39, 0xae, 0x26, 0x10, 0x07, 0xe7, 0xaa, 0xa8, 0xfb, 0x04, |
|||
0x2f, 0x94, 0xc1, 0x67, 0xa4, 0xc1, 0x4e, 0x88, 0x76, 0xa3, 0xb4, 0x6f, |
|||
0xd6, 0x97, 0x6b, 0xb2, 0xae, 0x17, 0xe5, 0x69, 0xb3, 0x0e, 0x4c, 0xcd, |
|||
0x75, 0xcd, 0x3b, 0xf7, 0x77, 0x73, 0x14, 0x43, 0x31, 0xa1, 0x8a, 0x9c, |
|||
0xa9, 0xf0, 0x96, 0x41, 0xd4, 0xb6, 0xc7, 0x4a, 0xd8, 0xd2, 0x71, 0x1c, |
|||
0x25, 0xf7, 0xaf, 0xe8, 0xe7, 0x24, 0x02, 0x91, 0xff, 0xf2, 0xc5, 0xcc, |
|||
0x77, 0xbe, 0xd4, 0x92, 0xc7, 0x35, 0x39, 0x56, 0xee, 0x0d, 0xa6, 0xf2, |
|||
0x23, 0x87, 0x41, 0x81, 0x14, 0xf2, 0x8c, 0x07, 0xb5, 0xa4, 0x1d, 0x8f, |
|||
0x5b, 0x38, 0xf8, 0x15, 0xe6, 0xd4, 0x77, 0x29, 0xc8, 0x59, 0xb1, 0xab, |
|||
0x6d, 0x83, 0x56, 0x24, 0x66, 0x40, 0xf8, 0x15, 0xb8, 0xb3, 0x01, 0x87, |
|||
0x73, 0x21, 0xc1, 0x48, 0xb4, 0xc5, 0x0d, 0xae, 0x67, 0x40, 0x72, 0x37, |
|||
0x20, 0x3c, 0x67, 0x9b, 0xab, 0x6b, 0xe8, 0x61, 0xde, 0xc9, 0x05, 0x79, |
|||
0x38, 0x33, 0x62, 0x4c, 0xbf, 0x63, 0xf0, 0xcc, 0xb1, 0x13, 0x52, 0x50, |
|||
0xcc, 0x41, 0xce, 0x7a, 0x3b, 0x8a, 0xa5, 0x70, 0x8e, 0x02, 0x3d, 0x33, |
|||
0xfa, 0xe3, 0x77, 0x9b, 0xa9, 0x58, 0x5a, 0x24, 0x3c, 0x3e, 0x85, 0xd8, |
|||
0xb8, 0x52, 0xde, 0x41, 0x0f, 0xbc, 0x69, 0xd8, 0xba, 0x2e, 0xa7, 0x4f, |
|||
0x55, 0x29, 0x69, 0xd6, 0x9d, 0xb4, 0xf7, 0x7f, 0x2f, 0x1f, 0x9d, 0x76, |
|||
0xbf, 0x73, 0xd3, 0x18, 0x21, 0x40, 0xf9, 0x8e, 0xa1, 0xe5, 0xa9, 0xf5, |
|||
0x0c, 0x01, 0xc3, 0xb0, 0x9a, 0x08, 0x75, 0x66, 0x46, 0x31, 0xe5, 0x3a, |
|||
0x3c, 0xc3, 0x0e, 0xa7, 0xd8, 0xa1, 0x58, 0xe2, 0x1f, 0xd4, 0x01, 0xa8, |
|||
0x2e, 0x0f, 0x78, 0xdd, 0x20, 0x76, 0x6a, 0x95, 0xa9, 0x02, 0xda, 0x1e, |
|||
0x2c, 0x5d, 0x89, 0x44, 0xac, 0x7c, 0x5d, 0x1c, 0x45, 0x49, 0xde, 0x4a, |
|||
0x5d, 0xf8, 0x5e, 0x41, 0x2f, 0xe2, 0x52, 0xbc, 0xf7, 0xce, 0x5d, 0x54, |
|||
0x52, 0xbb, 0xc1, 0x45, 0x63, 0x1d, 0x87, 0x17, 0xf1, 0x9d, 0x45, 0x6c, |
|||
0xe4, 0xf0, 0xed, 0xc5, 0x13, 0x10, 0x13, 0x1b, 0x2c, 0xf7, 0x36, 0x18, |
|||
0x0f, 0x89, 0x20, 0x71, 0xcb, 0x36, 0x4d, 0xbe, 0xdf, 0x23, 0x15, 0xe7, |
|||
0x43, 0x54, 0xec, 0xb7, 0x7d, 0xc8, 0xf3, 0x44, 0xc4, 0x7f, 0x88, 0x21, |
|||
0x54, 0x45, 0xb2, 0x8a, 0x5d, 0xa6, 0xc8, 0x43, 0x94, 0x83, 0xc7, 0x88, |
|||
0xcf, 0x1a, 0x16, 0x49, 0x65, 0x40, 0xbe, 0x35, 0xa6, 0x7c, 0xfe, 0xb7, |
|||
0xb1, 0x63, 0xc3, 0xa4, 0x55, 0x01, 0xaf, 0x76, 0x95, 0x5e, 0xbb, 0x37, |
|||
0xb8, 0x3f, 0x3a, 0x49, 0xee, 0x5e, 0x83, 0x02, 0xf9, 0xde, 0xd3, 0xb3, |
|||
0xe2, 0x49, 0xf6, 0x2f, 0x10, 0x6f, 0x8d, 0x61, 0x14, 0xcb, 0xea, 0xf9, |
|||
0x7f, 0x3c, 0x3d, 0x13, 0x50, 0x5c, 0x47, 0xcc, 0xab, 0xe7, 0xff, 0x05, |
|||
0x7f, 0xda, 0xf2, 0x49, 0x62, 0x2e, 0xb0, 0x1e, 0x92, 0x50, 0xaf, 0xe2, |
|||
0x93, 0x59, 0xc3, 0x64, 0xe2, 0x2e, 0x07, 0xc4, 0x8c, 0xdd, 0x97, 0x81, |
|||
0x93, 0x81, 0xb9, 0x15, 0x7c, 0xd9, 0x6f, 0x62, 0x35, 0x66, 0xbe, 0x2f, |
|||
0x7c, 0x86, 0x7e, 0x37, 0xd9, 0x37, 0x23, 0xeb, 0xae, 0x6c, 0x92, 0xdb, |
|||
0xad, 0x89, 0x79, 0x68, 0x7f, 0x12, 0x61, 0xd1, 0x25, 0xae, 0x0c, 0x19, |
|||
0xbf, 0xd2, 0x2b, 0xae, 0xf6, 0xc0, 0x87, 0xd0, 0x96, 0x3b, 0xd4, 0x43, |
|||
0x5f, 0x0f, 0x39, 0x5c, 0x11, 0x80, 0x50, 0x75, 0xe2, 0xc3, 0x69, 0x20, |
|||
0x36, 0x8b, 0xba, 0xb5, 0x42, 0xad, 0x47, 0x17, 0x65, 0xb1, 0x4e, 0x41, |
|||
0x47, 0x47, 0xdb, 0x7e, 0x8f, 0x3c, 0xb5, 0xe5, 0x89, 0xbb, 0x71, 0x88, |
|||
0xbb, 0xe8, 0x12, 0xee, 0x06, 0xc6, 0xf2, 0x62, 0x60, 0x9c, 0xcd, 0x78, |
|||
0x3b, 0x3e, 0xc2, 0x36, 0x3a, 0xc2, 0x36, 0x31, 0x42, 0x91, 0xf2, 0x22, |
|||
0xd0, 0x08, 0x37, 0xd1, 0x11, 0x6e, 0x12, 0x23, 0x94, 0x32, 0xe1, 0x63, |
|||
0xa0, 0x11, 0x2e, 0x67, 0x26, 0xf3, 0xc1, 0x40, 0xfb, 0x00, 0x8b, 0x7c, |
|||
0x2d, 0x85, 0x2d, 0xf7, 0x27, 0x52, 0x06, 0x7f, 0xa4, 0x18, 0x6e, 0xed, |
|||
0xef, 0x55, 0x76, 0x73, 0x70, 0x5e, 0x27, 0xe0, 0xf8, 0x56, 0xf7, 0x8b, |
|||
0x0e, 0x0e, 0x18, 0x3f, 0xaf, 0x9a, 0x0b, 0xf5, 0x9a, 0x66, 0x69, 0xf2, |
|||
0x2e, 0x96, 0x10, 0xe2, 0x5d, 0x35, 0xff, 0x7c, 0xa1, 0x36, 0xdc, 0xf6, |
|||
0x7d, 0xc9, 0xac, 0xe3, 0x34, 0xf4, 0xdb, 0xc4, 0xd0, 0x6f, 0xfb, 0x9f, |
|||
0x60, 0x5d, 0xf5, 0x6f, 0x03, 0x24, 0xe3, 0xb0, 0x5d, 0x8c, 0xd2, 0xa9, |
|||
0x84, 0x19, 0xb0, 0x01, 0xdf, 0xb6, 0x03, 0xde, 0x8e, 0xe3, 0xfc, 0x36, |
|||
0xba, 0xaa, 0xb7, 0xc9, 0x5d, 0xe0, 0x7c, 0x88, 0xb8, 0x1b, 0x1e, 0xa3, |
|||
0x95, 0x8a, 0x99, 0xf3, 0xd9, 0x8b, 0x35, 0x7f, 0x71, 0xcb, 0x5f, 0xec, |
|||
0xf8, 0x8b, 0x2d, 0x7f, 0x71, 0xc3, 0x5f, 0x5c, 0x4a, 0x7e, 0xe6, 0x39, |
|||
0x5a, 0xda, 0x53, 0x02, 0x29, 0x9d, 0xa9, 0x6b, 0x5f, 0x8e, 0xa7, 0x65, |
|||
0x55, 0x52, 0xac, 0xf3, 0x51, 0x44, 0xe3, 0x44, 0x58, 0x5f, 0xc0, 0x63, |
|||
0x9d, 0x94, 0x4e, 0x9b, 0x35, 0x67, 0x9e, 0x07, 0xc3, 0xe7, 0x33, 0x4f, |
|||
0xbc, 0x7a, 0x1e, 0x80, 0xee, 0x24, 0x3a, 0xf1, 0xac, 0x8b, 0xa4, 0xa6, |
|||
0x2f, 0x0e, 0xb1, 0xda, 0x06, 0x91, 0x2d, 0x68, 0xb7, 0x3d, 0x5f, 0x2d, |
|||
0x36, 0x80, 0x39, 0xdb, 0xd7, 0xa4, 0xd8, 0x69, 0x4f, 0xc7, 0x0b, 0x41, |
|||
0xb8, 0xfe, 0x36, 0xe2, 0x43, 0x65, 0xf1, 0x16, 0x36, 0x5a, 0x41, 0x15, |
|||
0x23, 0x2d, 0xb8, 0x27, 0x1d, 0xdb, 0x97, 0x07, 0xb6, 0x27, 0xf7, 0x34, |
|||
0xe0, 0xcf, 0x58, 0x8c, 0xb0, 0x7b, 0xa7, 0x7d, 0xd3, 0xf4, 0x73, 0xa2, |
|||
0x6a, 0x3f, 0x70, 0x6f, 0xca, 0x9a, 0x52, 0xb6, 0x85, 0x69, 0x42, 0x28, |
|||
0xf7, 0xb0, 0x7d, 0x41, 0xb9, 0x6e, 0x26, 0xc0, 0x65, 0x6e, 0x72, 0x30, |
|||
0x88, 0x08, 0x9a, 0x8b, 0x0e, 0xed, 0xd6, 0x0e, 0xa0, 0xc9, 0x70, 0x66, |
|||
0x20, 0x16, 0x83, 0xf3, 0xd1, 0x6c, 0x3e, 0x7e, 0x0c, 0x1e, 0xeb, 0xd2, |
|||
0xc6, 0xdf, 0x90, 0x57, 0x21, 0x39, 0x3f, 0x1f, 0x35, 0x38, 0x4f, 0x1d, |
|||
0x9d, 0x67, 0xd1, 0x85, 0x6c, 0xe1, 0xe9, 0xa1, 0x5a, 0x86, 0xf8, 0xc0, |
|||
0xe1, 0xc0, 0x32, 0x98, 0xb5, 0x87, 0x7e, 0x94, 0x81, 0x70, 0x6a, 0xa0, |
|||
0xe7, 0xb3, 0xea, 0xd1, 0x52, 0x2c, 0xc5, 0x23, 0x7a, 0x9c, 0x9b, 0x47, |
|||
0x73, 0xf2, 0x38, 0x39, 0x09, 0xe7, 0x7f, 0x72, 0x02, 0x6a, 0x00, 0xfe, |
|||
0xac, 0xc4, 0xa3, 0xf0, 0x97, 0x47, 0xf4, 0x65, 0x0d, 0x18, 0x1f, 0x77, |
|||
0xd5, 0xe5, 0xb4, 0x92, 0x4d, 0x83, 0xe7, 0x23, 0x93, 0xb7, 0x43, 0x9a, |
|||
0x25, 0x6a, 0xa9, 0x4e, 0x3b, 0xf5, 0x63, 0xfc, 0x07, 0xb7, 0x8a, 0x82, |
|||
0x30, 0xdb, 0xe2, 0x2a, 0x37, 0x27, 0xb1, 0xe0, 0x74, 0x6b, 0xbb, 0xf9, |
|||
0xa7, 0x5a, 0xda, 0x80, 0xeb, 0xb6, 0x74, 0xd1, 0x06, 0x8c, 0xbb, 0xb7, |
|||
0x42, 0x75, 0x3e, 0x35, 0xe9, 0xd9, 0x31, 0xc6, 0x07, 0x3d, 0x84, 0x05, |
|||
0xe1, 0x50, 0xe1, 0x81, 0xc3, 0xcd, 0x2e, 0xd2, 0x2e, 0x7a, 0x04, 0x47, |
|||
0x7b, 0xbb, 0xcf, 0x07, 0x3e, 0x80, 0x49, 0x6a, 0x74, 0xd9, 0x15, 0x39, |
|||
0xf5, 0x0d, 0x43, 0x3d, 0x5d, 0xcf, 0x8e, 0xf5, 0x80, 0xb9, 0xc7, 0x3f, |
|||
0x3a, 0x39, 0xb2, 0x3c, 0xea, 0x14, 0xa4, 0xf0, 0xfc, 0xc8, 0x77, 0xa8, |
|||
0xc7, 0x2b, 0xad, 0xa3, 0xaa, 0x76, 0x8e, 0x65, 0x9d, 0x3e, 0xc5, 0x49, |
|||
0x6f, 0x96, 0x7e, 0x2c, 0x80, 0x7f, 0xf8, 0xd1, 0x11, 0xa3, 0xba, 0x1d, |
|||
0xcd, 0x39, 0x36, 0x68, 0xaa, 0xd5, 0x54, 0x84, 0xac, 0x0e, 0xb9, 0x84, |
|||
0xbd, 0x9e, 0xe9, 0x5b, 0xe0, 0x4c, 0x33, 0x68, 0xa1, 0xcb, 0xfa, 0x43, |
|||
0x0d, 0xbc, 0xcf, 0x06, 0xc0, 0xb2, 0x19, 0x38, 0xb7, 0xbe, 0x3f, 0x07, |
|||
0xb2, 0xc3, 0xff, 0xd1, 0xe3, 0xd7, 0x4a, 0xdb, 0xfd, 0x68, 0xe2, 0x0c, |
|||
0xf5, 0xda, 0x60, 0xc5, 0x7a, 0x1e, 0xba, 0x59, 0x31, 0x8f, 0x36, 0x4e, |
|||
0x2b, 0x68, 0x8d, 0x8e, 0x74, 0x85, 0xff, 0xe0, 0x4e, 0x9e, 0xf6, 0xfa, |
|||
0x62, 0xe3, 0xc8, 0x42, 0x2b, 0xd0, 0xcf, 0xe6, 0x6e, 0x07, 0x5d, 0xce, |
|||
0xf4, 0x66, 0x03, 0x0b, 0xf8, 0x81, 0xbd, 0x18, 0x75, 0x29, 0xf0, 0xbb, |
|||
0x05, 0x6f, 0x53, 0x69, 0x6b, 0x9f, 0x33, 0x11, 0x85, 0x4f, 0x2e, 0x41, |
|||
0x35, 0x10, 0x66, 0x14, 0x27, 0x44, 0x3d, 0xcc, 0x05, 0x7e, 0x74, 0x9c, |
|||
0x21, 0x9b, 0x0f, 0xd1, 0x84, 0x3f, 0xa5, 0xc3, 0x65, 0x55, 0xd2, 0x05, |
|||
0xd6, 0xdd, 0xba, 0x6c, 0xbd, 0x60, 0x1c, 0x95, 0x6c, 0x9a, 0x9d, 0x07, |
|||
0x1f, 0xe7, 0xd9, 0x1a, 0x80, 0x99, 0x43, 0x04, 0xd7, 0x8c, 0xbb, 0x48, |
|||
0x38, 0x82, 0xd0, 0x75, 0xff, 0x89, 0x41, 0x24, 0x61, 0xd0, 0xa0, 0x07, |
|||
0xd8, 0x99, 0x3f, 0x81, 0x93, 0x93, 0xd8, 0xca, 0xd0, 0x84, 0xd5, 0x83, |
|||
0x53, 0x36, 0x3f, 0x17, 0x32, 0x90, 0x40, 0x24, 0x41, 0xe8, 0x77, 0x2f, |
|||
0xb6, 0x64, 0x55, 0xc5, 0x10, 0xf3, 0x62, 0xfb, 0x3d, 0xbc, 0xc8, 0x5e, |
|||
0x1b, 0xbe, 0x82, 0xdf, 0xc5, 0x5e, 0xc1, 0x87, 0x25, 0xc7, 0x08, 0x91, |
|||
0x0a, 0x9f, 0x88, 0x3d, 0xee, 0xcf, 0x46, 0xc0, 0xc5, 0x95, 0xdd, 0xce, |
|||
0x36, 0x65, 0x71, 0x33, 0xd5, 0xe9, 0xe5, 0x07, 0xb6, 0xd2, 0x99, 0xb4, |
|||
0xfc, 0x69, 0xc8, 0xe7, 0xee, 0xbd, 0x99, 0xcf, 0x19, 0xdb, 0x5c, 0x7e, |
|||
0x63, 0xfb, 0x8d, 0xb8, 0x89, 0x69, 0xf7, 0xca, 0x79, 0xaa, 0x75, 0x9b, |
|||
0x0f, 0x09, 0x0b, 0x64, 0x3f, 0xd4, 0xd6, 0xea, 0xf9, 0x28, 0xab, 0xf5, |
|||
0xeb, 0xa2, 0xbc, 0xd2, 0x90, 0x3e, 0x61, 0x19, 0xda, 0xfc, 0xce, 0x84, |
|||
0xe7, 0xcc, 0x85, 0x0d, 0xa5, 0x9c, 0x9c, 0x4c, 0x30, 0xea, 0x72, 0x42, |
|||
0x0d, 0x41, 0xca, 0x78, 0x49, 0xf4, 0xd0, 0x88, 0xac, 0xd1, 0x93, 0x4b, |
|||
0x4a, 0x92, 0x04, 0x8b, 0xa1, 0xae, 0x4c, 0x99, 0x59, 0x5b, 0x2c, 0x1d, |
|||
0x61, 0xc3, 0x73, 0xa9, 0x27, 0x16, 0xfc, 0xda, 0xfc, 0x86, 0x47, 0x73, |
|||
0xa1, 0xda, 0xa5, 0xae, 0xe6, 0xe0, 0xc3, 0x79, 0x03, 0xed, 0x85, 0x12, |
|||
0xb6, 0x95, 0x50, 0xf0, 0x22, 0x2f, 0x90, 0xff, 0x57, 0xb7, 0x37, 0xf0, |
|||
0x85, 0x6f, 0xe0, 0x2f, 0xec, 0x84, 0x8d, 0x56, 0x6a, 0x4d, 0x45, 0x8a, |
|||
0xe6, 0x77, 0xa6, 0xdb, 0x5c, 0x6c, 0x37, 0x25, 0xb4, 0xa5, 0x0f, 0xa0, |
|||
0x27, 0x03, 0xa0, 0x7d, 0x20, 0x28, 0xed, 0x23, 0x81, 0x9a, 0x8b, 0x4a, |
|||
0xff, 0xaf, 0x68, 0x94, 0x75, 0x58, 0x74, 0xe0, 0x28, 0x58, 0x90, 0x1a, |
|||
0x53, 0x50, 0x9f, 0x79, 0x80, 0x7c, 0xf6, 0xef, 0x75, 0x89, 0xc7, 0x3d, |
|||
0x50, 0x4a, 0x6c, 0x01, 0xbc, 0x1f, 0xe1, 0x7b, 0x8a, 0x9b, 0xc9, 0xc7, |
|||
0x57, 0x95, 0xb1, 0xd3, 0x23, 0x20, 0x2f, 0x26, 0xf0, 0x66, 0x53, 0x11, |
|||
0x00, 0xf3, 0x37, 0xf4, 0xff, 0xa6, 0xa8, 0x6a, 0xaf, 0x74, 0x9e, 0xd7, |
|||
0xf6, 0xda, 0x6b, 0x7b, 0x6d, 0xda, 0xc2, 0xbe, 0x89, 0x36, 0xde, 0x79, |
|||
0x8d, 0x77, 0xae, 0xb1, 0x2d, 0x09, 0xc6, 0x1a, 0x03, 0x05, 0xba, 0xef, |
|||
0xc0, 0x07, 0x68, 0x6e, 0xe7, 0xed, 0x35, 0xda, 0x6c, 0xa8, 0x09, 0xfe, |
|||
0x09, 0x0d, 0x3e, 0xbd, 0x2a, 0x71, 0x70, 0xac, 0xb3, 0xe9, 0xb5, 0xd2, |
|||
0x5b, 0xf7, 0x49, 0xf4, 0x04, 0x6d, 0x3f, 0xf9, 0x0d, 0x3e, 0x1f, 0xe8, |
|||
0xd0, 0x24, 0xb7, 0x47, 0x3f, 0x11, 0xdb, 0xfb, 0x53, 0xa1, 0x47, 0xde, |
|||
0xbf, 0x9b, 0xda, 0x8a, 0x56, 0xf4, 0x1f, 0x0b, 0xf2, 0x97, 0xb2, 0x20, |
|||
0xb4, 0xa9, 0xfe, 0xb1, 0x1e, 0x7f, 0x29, 0xeb, 0x41, 0x7c, 0xed, 0x1f, |
|||
0x2b, 0xf2, 0x17, 0xb3, 0x22, 0x24, 0x5a, 0xdc, 0x8a, 0xa0, 0x88, 0xa1, |
|||
0xde, 0xf8, 0x37, 0x74, 0xfd, 0x09, 0xb3, 0x32, 0xf3, 0x1a, 0x8a, 0x94, |
|||
0x78, 0xe3, 0xbc, 0x2a, 0xaa, 0x92, 0xda, 0xd9, 0x07, 0x68, 0x08, 0xd2, |
|||
0x95, 0x0e, 0x6b, 0x13, 0xac, 0x85, 0xec, 0x75, 0x34, 0x42, 0x39, 0xe8, |
|||
0xed, 0x77, 0x1e, 0xea, 0x0b, 0x13, 0xa4, 0x4e, 0xab, 0xa6, 0x51, 0xb6, |
|||
0x7e, 0x47, 0x27, 0xeb, 0xa9, 0x74, 0x47, 0x5a, 0xc8, 0x1b, 0x01, 0x4f, |
|||
0x02, 0xdd, 0xc2, 0x20, 0x89, 0x9e, 0x99, 0x93, 0xa7, 0x66, 0x52, 0xdd, |
|||
0xbe, 0x15, 0x4a, 0x80, 0x2e, 0x85, 0xc9, 0xda, 0xf6, 0xaf, 0xdf, 0xe8, |
|||
0x4f, 0xa8, 0xf9, 0xd1, 0xfd, 0x8d, 0xf9, 0x2a, 0x24, 0xe3, 0x91, 0xa0, |
|||
0x9d, 0x90, 0xb7, 0xab, 0x5c, 0x6c, 0x09, 0xe4, 0x71, 0x4b, 0x0f, 0x1a, |
|||
0x89, 0xae, 0xea, 0xb6, 0x25, 0x3d, 0x42, 0xeb, 0x6f, 0xcd, 0x1f, 0xd0, |
|||
0xe9, 0xfa, 0x50, 0x9a, 0x5b, 0x35, 0xca, 0xd6, 0xe7, 0xeb, 0x70, 0x66, |
|||
0x8b, 0xda, 0x1e, 0x8c, 0xb3, 0x49, 0x46, 0x8e, 0x7c, 0xc2, 0x1e, 0x18, |
|||
0x96, 0xae, 0x36, 0x57, 0x1c, 0x61, 0xaf, 0x2e, 0xe1, 0x3d, 0xaa, 0x41, |
|||
0xd0, 0x0d, 0xf1, 0x41, 0xaa, 0x8f, 0x55, 0x62, 0x09, 0x57, 0xf0, 0x84, |
|||
0x65, 0x2b, 0xf0, 0x8f, 0x1b, 0xab, 0x34, 0x55, 0x0e, 0xa7, 0x75, 0x09, |
|||
0xd0, 0xac, 0x06, 0xb5, 0xcb, 0xa9, 0xf7, 0x0e, 0x6b, 0xc4, 0xe4, 0x95, |
|||
0x8f, 0x53, 0xbd, 0x85, 0xa2, 0x47, 0x3d, 0xb4, 0xd2, 0x7b, 0xc2, 0x01, |
|||
0x3d, 0xf5, 0x68, 0x1d, 0xd4, 0x5a, 0x0f, 0x69, 0x7e, 0x7b, 0xd3, 0x1a, |
|||
0x7f, 0x9f, 0xb4, 0x56, 0x87, 0x60, 0x23, 0x79, 0x6b, 0x86, 0x0f, 0x1c, |
|||
0x30, 0x5f, 0xc3, 0xe4, 0x4a, 0x5b, 0x5a, 0x5e, 0x30, 0xd3, 0x24, 0x0b, |
|||
0x46, 0x48, 0xbb, 0x1d, 0xbd, 0xaa, 0x95, 0x78, 0xea, 0xbf, 0x67, 0xd6, |
|||
0xe4, 0x64, 0x4b, 0x63, 0x62, 0xfa, 0x64, 0x34, 0x04, 0xc0, 0xa5, 0xfd, |
|||
0xab, 0x7c, 0x79, 0xd7, 0x38, 0x9b, 0xe5, 0xb9, 0x56, 0xd9, 0x0a, 0xac, |
|||
0x96, 0xdf, 0xbd, 0xfc, 0x1f, 0xd0, 0x9a, 0x67, 0x78, 0x5a, 0xc0, 0xf9, |
|||
0x73, 0x2d, 0x5d, 0x4a, 0x67, 0xe5, 0xd4, 0x68, 0xe5, 0xcc, 0x66, 0x1d, |
|||
0xf9, 0xb4, 0x9f, 0x5a, 0x2c, 0x2f, 0xf0, 0xdd, 0xcc, 0xd6, 0x71, 0x29, |
|||
0xc1, 0xec, 0xd5, 0xea, 0xcb, 0x27, 0x27, 0xee, 0xef, 0x73, 0xbd, 0x3a, |
|||
0x0b, 0x9e, 0xe6, 0xdd, 0xd3, 0x22, 0x3f, 0x2f, 0x56, 0xcb, 0x1a, 0xfe, |
|||
0xb1, 0xdf, 0x97, 0x2e, 0x12, 0xa8, 0xfd, 0xc0, 0x65, 0xae, 0x4a, 0x8d, |
|||
0x55, 0xff, 0xbe, 0xa7, 0xc9, 0x95, 0xeb, 0x6a, 0x7a, 0xb0, 0x2d, 0x9b, |
|||
0xa0, 0x90, 0xe7, 0xda, 0xf9, 0xea, 0x9d, 0x59, 0xfa, 0x97, 0xfc, 0x4d, |
|||
0x0e, 0xd4, 0x3f, 0x31, 0xfd, 0xc5, 0xa2, 0x3e, 0xc8, 0x61, 0x1d, 0x1b, |
|||
0x05, 0xad, 0x9d, 0xad, 0x9b, 0x5a, 0x79, 0x26, 0xc7, 0xb1, 0xf6, 0xce, |
|||
0xda, 0xa8, 0xfe, 0x5d, 0xbf, 0xeb, 0x87, 0xa0, 0xf5, 0xbe, 0x3b, 0x6d, |
|||
0x7e, 0xe2, 0xf4, 0xa5, 0x03, 0x7f, 0xb4, 0x47, 0x00, 0xb5, 0xca, 0x0f, |
|||
0x22, 0x80, 0xfb, 0xf8, 0x25, 0xbd, 0xab, 0x62, 0xc5, 0xe2, 0x1e, 0x89, |
|||
0xa4, 0xfe, 0x55, 0xaf, 0x42, 0x85, 0x11, 0xf8, 0xf9, 0x0c, 0x5f, 0xf3, |
|||
0x90, 0xae, 0x4c, 0xde, 0x27, 0x65, 0xb4, 0x7f, 0xef, 0xab, 0x50, 0x05, |
|||
0x1b, 0xcd, 0xfb, 0x91, 0x8d, 0x59, 0xc8, 0x05, 0xdb, 0x1d, 0xb9, 0xbf, |
|||
0x3b, 0x30, 0x98, 0x9d, 0xa4, 0xb3, 0x89, 0x67, 0xe7, 0x4b, 0x17, 0x9b, |
|||
0xa1, 0xe6, 0x33, 0x74, 0xf7, 0x9f, 0xf6, 0x9d, 0xca, 0x04, 0x5f, 0xf5, |
|||
0x02, 0xea, 0xee, 0x8d, 0x75, 0x76, 0x21, 0x9a, 0x48, 0xe2, 0xd5, 0x30, |
|||
0xcb, 0x61, 0xcc, 0xb2, 0x6b, 0xd3, 0x38, 0x72, 0x75, 0x2f, 0x17, 0x86, |
|||
0x06, 0x2b, 0xd3, 0xf9, 0x7b, 0xe5, 0xc0, 0x68, 0xf4, 0xa3, 0x2a, 0x31, |
|||
0xd5, 0xf8, 0xc2, 0x9b, 0xc2, 0x63, 0xe2, 0x4d, 0x43, 0xe1, 0xff, 0xf8, |
|||
0xbb, 0xe1, 0x0d, 0xd3, 0x7c, 0x46, 0xf2, 0xe9, 0xe4, 0xa4, 0xfb, 0x13, |
|||
0xd9, 0x96, 0xff, 0x30, 0xef, 0x1e, 0xe4, 0xff, 0x67, 0xc2, 0x5d, 0xc9, |
|||
0x5d, 0xf4, 0x2e, 0x4d, 0xd8, 0x67, 0xb6, 0x57, 0xcb, 0xdc, 0x63, 0xb6, |
|||
0x79, 0xc0, 0x6c, 0x83, 0xa7, 0x79, 0xf7, 0xb4, 0x28, 0x69, 0x02, 0x3d, |
|||
0x3e, 0x7b, 0x5e, 0x01, 0xff, 0xbd, 0xc2, 0xa1, 0xd3, 0x01, 0x8e, 0x69, |
|||
0x0f, 0x5c, 0xd2, 0xf9, 0xe6, 0xbc, 0x2b, 0xd3, 0xc4, 0x94, 0xe4, 0x82, |
|||
0xb9, 0x36, 0xa8, 0x14, 0x4f, 0xc4, 0xaf, 0x51, 0x75, 0x6e, 0x20, 0x35, |
|||
0x04, 0x70, 0x49, 0xbf, 0xfa, 0xdc, 0x19, 0xb1, 0x49, 0x16, 0x2a, 0x48, |
|||
0xb4, 0x03, 0xb2, 0x30, 0xac, 0x1a, 0x78, 0x33, 0xb5, 0x05, 0x54, 0xbb, |
|||
0x04, 0xa2, 0x67, 0xc0, 0xa3, 0x49, 0xfa, 0xd4, 0x5c, 0xfa, 0x38, 0x3e, |
|||
0x4f, 0x70, 0x26, 0x1e, 0xe8, 0xf9, 0x85, 0xaa, 0x9d, 0x08, 0xaa, 0xe3, |
|||
0x22, 0xc8, 0xcd, 0x6c, 0x18, 0xde, 0x90, 0xd4, 0x50, 0x09, 0x24, 0x36, |
|||
0x0d, 0x4f, 0x23, 0x2b, 0x65, 0x8f, 0x87, 0x36, 0x9a, 0xd3, 0x1d, 0x77, |
|||
0xc4, 0x9a, 0xda, 0xde, 0xa4, 0xee, 0x90, 0x27, 0x76, 0x98, 0x0c, 0x70, |
|||
0xc9, 0x7c, 0x6d, 0xa3, 0xbe, 0x8f, 0xb6, 0x51, 0x33, 0x6d, 0x83, 0x10, |
|||
0xe7, 0x48, 0xbe, 0x0e, 0x48, 0x3e, 0x78, 0x9a, 0x77, 0x4f, 0x8b, 0x83, |
|||
0x49, 0xc7, 0xdf, 0x5b, 0xb9, 0x6c, 0x3c, 0x1a, 0x6e, 0x3f, 0xd9, 0x22, |
|||
0x00, 0xd7, 0xa3, 0x1d, 0x2a, 0xe2, 0x07, 0xa3, 0x0e, 0xf7, 0xf7, 0x83, |
|||
0xd9, 0x91, 0x98, 0xfe, 0xe2, 0x53, 0x46, 0xac, 0x21, 0x92, 0x48, 0x94, |
|||
0xb6, 0x18, 0xd5, 0x38, 0x07, 0x59, 0x7a, 0xaf, 0x72, 0x52, 0xf0, 0xc3, |
|||
0x6a, 0xd3, 0x6a, 0x2f, 0x45, 0xe6, 0x8e, 0x44, 0xd9, 0xa5, 0x75, 0xd8, |
|||
0x85, 0xc3, 0xa5, 0x79, 0xb5, 0xac, 0x49, 0x33, 0xb4, 0x2d, 0x7e, 0xc6, |
|||
0xb0, 0xb4, 0x69, 0x0a, 0xb7, 0x3c, 0x6e, 0xf7, 0x9e, 0x8a, 0x21, 0x8f, |
|||
0x80, 0x78, 0x26, 0x92, 0x7a, 0x22, 0x0f, 0x15, 0x26, 0x65, 0xd1, 0x85, |
|||
0x3d, 0xf8, 0x2c, 0x29, 0xdd, 0x31, 0xae, 0x35, 0x72, 0x9c, 0xdc, 0x67, |
|||
0x7d, 0xc2, 0x38, 0xc6, 0x0e, 0x3f, 0xe7, 0x2b, 0x95, 0x2d, 0xef, 0xe0, |
|||
0xcc, 0xa1, 0x9b, 0xc5, 0xb9, 0xd8, 0x54, 0x74, 0x32, 0xf4, 0xb2, 0x20, |
|||
0xc0, 0xe5, 0x51, 0x59, 0x27, 0x6c, 0x50, 0x4d, 0x40, 0x19, 0x37, 0x4f, |
|||
0x91, 0x6b, 0xbc, 0xa3, 0xef, 0x15, 0xcb, 0x64, 0xc8, 0x66, 0x97, 0x59, |
|||
0xf5, 0xdd, 0xaf, 0x39, 0x7a, 0x56, 0x74, 0x59, 0xdf, 0xc2, 0x84, 0xb1, |
|||
0xd2, 0x81, 0xf5, 0x75, 0xe3, 0x51, 0x05, 0xf6, 0xf3, 0x4a, 0xaa, 0x35, |
|||
0xd0, 0x24, 0xb0, 0x40, 0x7c, 0x42, 0x89, 0x98, 0x62, 0x2f, 0x99, 0x94, |
|||
0x04, 0xc2, 0x34, 0xf0, 0xe3, 0x22, 0xf1, 0x4d, 0xbe, 0xf2, 0x73, 0xe4, |
|||
0x46, 0xa3, 0x23, 0x8b, 0xf1, 0x70, 0x21, 0xae, 0xd5, 0x14, 0x14, 0x0c, |
|||
0xb5, 0x81, 0x37, 0x9f, 0x9a, 0xbb, 0x09, 0x97, 0xa2, 0xbb, 0x9c, 0x50, |
|||
0x04, 0x3f, 0xff, 0x04, 0x55, 0xdc, 0x97, 0x02, 0x6f, 0x29, 0x4c, 0x57, |
|||
0x2b, 0xc1, 0xb1, 0x54, 0x95, 0x2c, 0xc7, 0x50, 0x05, 0xc5, 0x4c, 0x2a, |
|||
0x12, 0x0b, 0xb9, 0xaa, 0x82, 0x10, 0x2d, 0x61, 0x6a, 0xe3, 0xaa, 0x6a, |
|||
0x7c, 0xaa, 0xd5, 0xe8, 0x54, 0xaf, 0x28, 0x34, 0xa3, 0x2b, 0x84, 0xe5, |
|||
0xf4, 0x03, 0x2e, 0xb1, 0x69, 0x13, 0x47, 0xf8, 0xae, 0x6e, 0xa7, 0x29, |
|||
0xfd, 0x2d, 0xf0, 0x0b, 0x49, 0x62, 0xe4, 0xc7, 0x71, 0x01, 0x4c, 0x0b, |
|||
0xf8, 0x7b, 0xe5, 0x69, 0xc6, 0xf6, 0x93, 0x43, 0x5c, 0xd3, 0xa8, 0x53, |
|||
0x78, 0xb1, 0xa8, 0xfa, 0x8a, 0x11, 0xe1, 0x5c, 0x5d, 0x61, 0xf3, 0x91, |
|||
0xbc, 0x38, 0xa4, 0x71, 0x01, 0xce, 0x31, 0x4d, 0x65, 0x40, 0xe1, 0x07, |
|||
0xa0, 0xef, 0x9e, 0x97, 0x14, 0xa1, 0xbc, 0xbc, 0xde, 0x95, 0x26, 0x8f, |
|||
0x8c, 0xe9, 0x80, 0xd5, 0x48, 0xe2, 0x78, 0x5c, 0x9e, 0x4b, 0xe5, 0x07, |
|||
0x1f, 0xc3, 0x98, 0xe3, 0x21, 0xc7, 0xcf, 0xa2, 0x21, 0xc7, 0x01, 0xff, |
|||
0x71, 0xe9, 0x3c, 0x7e, 0xd8, 0x31, 0x97, 0x0f, 0xbc, 0x94, 0x5e, 0x42, |
|||
0x59, 0x70, 0xd4, 0xc2, 0x3a, 0x46, 0x48, 0x46, 0xf6, 0x14, 0x38, 0x4a, |
|||
0x93, 0xa2, 0x81, 0x59, 0xb8, 0x8a, 0x47, 0x40, 0x07, 0x68, 0x6f, 0x04, |
|||
0x83, 0xc8, 0x03, 0xf5, 0x36, 0x37, 0x5a, 0xa4, 0x99, 0xa3, 0x9f, 0xe3, |
|||
0xa4, 0x6a, 0x87, 0xaf, 0xb0, 0x84, 0x8e, 0x96, 0x2e, 0x4d, 0x8f, 0x57, |
|||
0xaf, 0x5b, 0x6a, 0x45, 0xe2, 0xd3, 0xb6, 0x15, 0xdb, 0xb6, 0x9b, 0x90, |
|||
0x0a, 0xc5, 0x45, 0x77, 0x2b, 0x0f, 0x25, 0xf3, 0xf5, 0xd6, 0x66, 0xb0, |
|||
0x51, 0xda, 0xb4, 0xe0, 0x6a, 0x27, 0xf7, 0x25, 0xb8, 0x8e, 0x4b, 0x70, |
|||
0xbf, 0x18, 0xa1, 0xca, 0x87, 0x33, 0xab, 0xb8, 0xa1, 0xc2, 0x6d, 0x6b, |
|||
0x97, 0x14, 0x62, 0x43, 0xb7, 0xc1, 0x83, 0x9e, 0x8f, 0x67, 0x87, 0x44, |
|||
0x2b, 0x91, 0x71, 0xaa, 0x2e, 0xea, 0x4b, 0x5d, 0x06, 0x99, 0x80, 0x3e, |
|||
0x69, 0xa3, 0x11, 0xe7, 0xa1, 0x9f, 0x3d, 0x52, 0xa7, 0xa3, 0xe9, 0xe9, |
|||
0x5c, 0x9d, 0x7b, 0xa7, 0x53, 0xc2, 0x1a, 0xde, 0x49, 0x2f, 0x54, 0xee, |
|||
0x2b, 0x11, 0x2f, 0xf2, 0x89, 0xf7, 0x9f, 0xe7, 0x38, 0x1e, 0xbe, 0xe2, |
|||
0x2f, 0x69, 0xf6, 0x04, 0x07, 0x51, 0x80, 0x91, 0x95, 0xbd, 0xd8, 0xd3, |
|||
0xda, 0x06, 0xb6, 0x93, 0xf5, 0x89, 0xc1, 0xa6, 0x77, 0xe3, 0xa0, 0x51, |
|||
0x6e, 0x44, 0x40, 0xe3, 0x4f, 0xc3, 0xa0, 0x2f, 0xd4, 0x48, 0x2e, 0x3a, |
|||
0xca, 0x82, 0x38, 0x1d, 0x03, 0x3f, 0x8a, 0xfe, 0x46, 0xdc, 0x97, 0x3e, |
|||
0x0a, 0xe9, 0x9d, 0x4a, 0xa5, 0x71, 0x7a, 0x8f, 0x42, 0xb0, 0xe1, 0x2b, |
|||
0x52, 0xe9, 0x58, 0x1c, 0x6c, 0x7d, 0x70, 0x4e, 0x69, 0x2d, 0xd5, 0x61, |
|||
0x34, 0x35, 0x92, 0x63, 0x4a, 0xf4, 0xd4, 0x84, 0x95, 0x03, 0xac, 0x27, |
|||
0xe4, 0x90, 0xbd, 0x17, 0xdc, 0x2e, 0x23, 0x28, 0xe5, 0x37, 0x2a, 0x91, |
|||
0x98, 0x60, 0xf6, 0xca, 0x01, 0xd4, 0x2e, 0x78, 0xb1, 0xf8, 0xba, 0xf8, |
|||
0xb5, 0xcd, 0x2d, 0x5a, 0x8c, 0x84, 0x14, 0xfd, 0x93, 0xaf, 0x1b, 0x4e, |
|||
0x50, 0x23, 0x1a, 0x4c, 0x30, 0x09, 0x6c, 0x53, 0x0c, 0xba, 0x26, 0x45, |
|||
0x82, 0x6e, 0x44, 0x5e, 0xe6, 0xae, 0xf4, 0x75, 0x2d, 0xcf, 0x84, 0x98, |
|||
0x0b, 0xac, 0xe8, 0x2f, 0xb0, 0x84, 0xe9, 0xbb, 0x4f, 0x9f, 0x4a, 0xb9, |
|||
0x48, 0xea, 0xab, 0x7e, 0x61, 0x78, 0x8a, 0x9e, 0xbb, 0x0f, 0x3a, 0x90, |
|||
0xc4, 0x8e, 0x44, 0xc7, 0xcc, 0xdb, 0xd0, 0x72, 0x90, 0x39, 0xd4, 0x23, |
|||
0x98, 0xa8, 0xe3, 0x98, 0xd0, 0x43, 0x98, 0xe0, 0xac, 0x1b, 0xa9, 0x06, |
|||
0x68, 0x9e, 0x52, 0xb9, 0x5d, 0xf5, 0x09, 0xe5, 0x93, 0x13, 0x4f, 0x2c, |
|||
0xc5, 0xdf, 0xa3, 0x98, 0x0c, 0xaf, 0xb5, 0x14, 0x32, 0xbe, 0x9d, 0xc3, |
|||
0x58, 0xc8, 0x11, 0x90, 0xec, 0x5e, 0xcb, 0x71, 0xa8, 0x7e, 0x70, 0xf7, |
|||
0x08, 0x4c, 0x73, 0xcc, 0x3d, 0x18, 0x28, 0x2e, 0xf1, 0x01, 0xf1, 0xa8, |
|||
0x23, 0xe3, 0xc5, 0x6f, 0xf8, 0x4b, 0x8e, 0xcb, 0xd3, 0xd1, 0x8e, 0x1f, |
|||
0x9c, 0xdd, 0xa1, 0x96, 0x18, 0x34, 0xb0, 0xca, 0x8c, 0x40, 0x65, 0x77, |
|||
0x79, 0x8d, 0x03, 0x35, 0x8d, 0x49, 0x6f, 0x1f, 0x81, 0x79, 0x75, 0x73, |
|||
0x04, 0x4c, 0xdb, 0x38, 0x09, 0x93, 0xdf, 0xe9, 0x75, 0x18, 0xca, 0x2d, |
|||
0xd8, 0xe3, 0x71, 0x6d, 0xaf, 0x87, 0x49, 0x8d, 0xc0, 0xb4, 0x52, 0x81, |
|||
0x3d, 0x92, 0x40, 0x4f, 0x8f, 0x87, 0x7a, 0x9a, 0x04, 0xeb, 0xee, 0x7b, |
|||
0x39, 0x16, 0xba, 0xeb, 0xf9, 0x18, 0x7c, 0xa7, 0x8f, 0xf1, 0xfe, 0x99, |
|||
0x6a, 0x74, 0xb8, 0xf0, 0x5a, 0x90, 0xd4, 0x70, 0x51, 0x21, 0x7d, 0xc8, |
|||
0x08, 0x63, 0xc0, 0x51, 0xca, 0xb8, 0x96, 0xf6, 0x0c, 0x65, 0xaf, 0x18, |
|||
0x03, 0x4b, 0xff, 0xc9, 0x49, 0x74, 0xdc, 0xc6, 0x0d, 0x9c, 0x3a, 0x9e, |
|||
0x81, 0x3e, 0x39, 0x05, 0x92, 0xa9, 0xcb, 0xeb, 0xaf, 0xf4, 0xed, 0x7e, |
|||
0x8f, 0x76, 0xa0, 0x3a, 0x83, 0x3f, 0xc1, 0x10, 0x21, 0x8a, 0xee, 0xd4, |
|||
0x26, 0x7b, 0x67, 0xb6, 0x23, 0x77, 0x06, 0xd5, 0xe8, 0x58, 0x88, 0x4f, |
|||
0x8c, 0x76, 0xd5, 0x01, 0x4e, 0x7c, 0x44, 0x94, 0x75, 0xef, 0xea, 0x24, |
|||
0xd3, 0xb6, 0x81, 0xad, 0x58, 0xd9, 0x7a, 0x04, 0x50, 0x78, 0x83, 0xbe, |
|||
0x90, 0x71, 0x51, 0x1a, 0xc8, 0xce, 0xf4, 0xc4, 0x3c, 0xa3, 0x1d, 0x2b, |
|||
0xaf, 0xbd, 0xdf, 0x4f, 0x99, 0x37, 0xcb, 0x5e, 0xb0, 0x2f, 0x54, 0xe0, |
|||
0x01, 0x6b, 0x4b, 0xbb, 0x19, 0x89, 0x89, 0x8a, 0xf9, 0x1a, 0x4a, 0xe6, |
|||
0xc8, 0xe6, 0xfe, 0xdf, 0x92, 0x3e, 0x99, 0x3b, 0x8c, 0x4d, 0x65, 0x63, |
|||
0x05, 0x2b, 0x3d, 0xa4, 0x2d, 0x8b, 0xd0, 0x18, 0x03, 0x66, 0xc0, 0x56, |
|||
0x32, 0xf1, 0x2a, 0xb7, 0xb3, 0x34, 0x86, 0x74, 0x87, 0x91, 0x32, 0x02, |
|||
0x6e, 0x3a, 0x77, 0x5e, 0xe1, 0x20, 0x76, 0xe0, 0xc2, 0xdf, 0x1d, 0xea, |
|||
0xfb, 0xd7, 0x74, 0xe8, 0x81, 0x6b, 0x3a, 0xb0, 0xef, 0x41, 0x0d, 0xad, |
|||
0xe9, 0x04, 0xc7, 0x40, 0xe8, 0x98, 0x16, 0xa3, 0x62, 0x23, 0xe1, 0x2a, |
|||
0xc7, 0x08, 0x00, 0xab, 0x9c, 0xf5, 0x41, 0x1d, 0x8b, 0x64, 0xe8, 0x6a, |
|||
0xb1, 0xdb, 0x03, 0x45, 0x18, 0x54, 0x18, 0x1c, 0x93, 0x6b, 0x8b, 0xbc, |
|||
0x8d, 0x81, 0x31, 0x80, 0x55, 0x7f, 0xcd, 0xd3, 0xe4, 0xcd, 0x49, 0x4c, |
|||
0xd5, 0x87, 0x6c, 0x05, 0x95, 0x2f, 0xa7, 0xe3, 0xcd, 0x2a, 0x33, 0x73, |
|||
0x68, 0xa9, 0xfd, 0x4c, 0xa6, 0x28, 0x72, 0xdb, 0x53, 0xef, 0x08, 0x86, |
|||
0x6d, 0xfe, 0x12, 0xc7, 0x4d, 0x57, 0x96, 0xa0, 0xa6, 0x5d, 0x65, 0xdb, |
|||
0x86, 0xd6, 0x21, 0xb4, 0x09, 0x45, 0xa3, 0x51, 0xe8, 0x6a, 0xcd, 0x2e, |
|||
0xfa, 0x64, 0xea, 0xe8, 0x8f, 0xdd, 0xf2, 0x92, 0x4b, 0x69, 0x33, 0xb1, |
|||
0xce, 0x46, 0x29, 0x01, 0x7a, 0xba, 0x9b, 0x83, 0x96, 0x79, 0x7f, 0x39, |
|||
0x9d, 0xfd, 0x46, 0xce, 0x47, 0x20, 0x9d, 0x32, 0x48, 0x42, 0x44, 0x29, |
|||
0x23, 0xd8, 0x91, 0x5d, 0xd2, 0x1a, 0xcd, 0xdb, 0xed, 0x40, 0x8f, 0x22, |
|||
0xff, 0xf0, 0x61, 0x3b, 0x7f, 0x83, 0xdb, 0xef, 0xd6, 0x7a, 0x14, 0xa7, |
|||
0xe6, 0x16, 0xb1, 0x2e, 0x6b, 0xc9, 0x19, 0x91, 0xfa, 0xdd, 0xb4, 0x57, |
|||
0xcc, 0xbb, 0x3e, 0x82, 0xa0, 0xf3, 0x83, 0x78, 0x7b, 0x3e, 0xc4, 0xa9, |
|||
0xa3, 0xe4, 0x7a, 0xd6, 0x2d, 0x21, 0xf2, 0xda, 0xb3, 0x69, 0x48, 0x7c, |
|||
0x79, 0x4f, 0x18, 0x50, 0xc0, 0x1a, 0xab, 0xff, 0x46, 0x13, 0x70, 0x4e, |
|||
0xb7, 0xdc, 0x07, 0x23, 0xe7, 0x84, 0xa8, 0xfe, 0x10, 0xa7, 0xaa, 0x76, |
|||
0xa5, 0x8a, 0xd8, 0x68, 0xc8, 0x5b, 0xe2, 0x63, 0x19, 0x88, 0x6c, 0xa4, |
|||
0x53, 0x39, 0x67, 0xd0, 0xf3, 0x61, 0x69, 0xc6, 0x3b, 0xf1, 0x2d, 0xe7, |
|||
0x17, 0x41, 0x46, 0x4b, 0xe1, 0xb6, 0xb7, 0xbe, 0x2a, 0x67, 0x67, 0x46, |
|||
0x7b, 0x44, 0xf4, 0x96, 0xdd, 0xd7, 0xd5, 0x81, 0x7f, 0x0d, 0xaa, 0xc0, |
|||
0x67, 0x24, 0x1b, 0x46, 0xd5, 0xe4, 0x19, 0x12, 0xb5, 0x1f, 0xd1, 0x40, |
|||
0x37, 0x6f, 0xcc, 0x07, 0x9b, 0x2b, 0x73, 0x1b, 0x5c, 0x9d, 0xdd, 0x6c, |
|||
0xe7, 0x53, 0xcc, 0xc6, 0xf8, 0x18, 0x1a, 0x00, 0x88, 0xe2, 0x8b, 0x9f, |
|||
0xbe, 0xfb, 0xc9, 0x16, 0x42, 0x91, 0x8a, 0xbc, 0x6c, 0x9a, 0xce, 0x13, |
|||
0x7a, 0xfd, 0xe1, 0xed, 0xdc, 0x5d, 0x6a, 0xd5, 0x5e, 0xaa, 0xf9, 0x4d, |
|||
0x96, 0x67, 0xf0, 0x46, 0x34, 0x40, 0x78, 0x08, 0xe9, 0xc3, 0xeb, 0xe2, |
|||
0xe5, 0xf4, 0x9c, 0xdf, 0x0a, 0xa4, 0xcc, 0xb5, 0x1d, 0xcf, 0xe4, 0x4a, |
|||
0xdd, 0xa1, 0x41, 0x6a, 0xe8, 0x72, 0x14, 0xcc, 0xae, 0x85, 0x5b, 0xc5, |
|||
0xc8, 0x2c, 0x67, 0x3d, 0x42, 0xf0, 0x3c, 0xcd, 0xc7, 0xbc, 0x38, 0x99, |
|||
0x71, 0xe2, 0x98, 0x4b, 0x6f, 0x33, 0x55, 0xcc, 0x50, 0x35, 0x40, 0x86, |
|||
0xb7, 0xbc, 0x68, 0xe7, 0xd9, 0x2a, 0x71, 0xef, 0x0c, 0xa3, 0x76, 0x56, |
|||
0x6a, 0xb3, 0x8a, 0xd3, 0x27, 0xe7, 0x2f, 0x9e, 0xbc, 0x78, 0xb1, 0x7a, |
|||
0xf2, 0x5a, 0x61, 0xe6, 0x77, 0x03, 0xed, 0x63, 0x78, 0x69, 0xcb, 0xc0, |
|||
0xfc, 0x2c, 0x24, 0x94, 0x7b, 0x69, 0x66, 0x38, 0xfb, 0x0b, 0xa7, 0xd3, |
|||
0xa0, 0xa5, 0x85, 0x9b, 0xfb, 0x8b, 0x56, 0x7b, 0x64, 0xcd, 0x6c, 0xb4, |
|||
0x66, 0xd7, 0x0c, 0xbf, 0x1e, 0x74, 0xd4, 0xe2, 0x8d, 0xf7, 0xf5, 0x59, |
|||
0xc0, 0xea, 0x3e, 0x0a, 0x8c, 0xf9, 0xb4, 0x2e, 0xf1, 0xec, 0xce, 0x46, |
|||
0xce, 0x88, 0x01, 0x22, 0x59, 0x44, 0x64, 0x32, 0x81, 0x21, 0x47, 0x41, |
|||
0xcc, 0x5b, 0xcd, 0xdb, 0xd1, 0x1c, 0x8e, 0xf3, 0x59, 0xcb, 0xf9, 0xb1, |
|||
0xa6, 0x75, 0xff, 0xd8, 0xe9, 0xc4, 0x7b, 0xd2, 0x93, 0xa6, 0xc9, 0x93, |
|||
0x86, 0xf1, 0xb4, 0xa8, 0x80, 0x62, 0x78, 0xf1, 0x16, 0x76, 0xb6, 0x59, |
|||
0x2c, 0x7c, 0x91, 0x88, 0x94, 0x99, 0x78, 0xfb, 0xc8, 0x9d, 0x58, 0x10, |
|||
0x1a, 0x56, 0xc1, 0xb3, 0xc5, 0xd9, 0xfa, 0x2a, 0x9c, 0x35, 0x1e, 0x19, |
|||
0x4b, 0xb9, 0xa1, 0x7f, 0x73, 0xb5, 0xc8, 0x94, 0x54, 0x81, 0x9c, 0x5c, |
|||
0xdf, 0xfb, 0x3d, 0xfc, 0x69, 0x3e, 0x9c, 0xdf, 0x18, 0xd7, 0x49, 0x32, |
|||
0xe6, 0xb3, 0x31, 0x1f, 0xe1, 0x0a, 0x31, 0x51, 0x6f, 0xd8, 0x14, 0x2d, |
|||
0x48, 0x53, 0xd2, 0xbb, 0xc4, 0x28, 0x51, 0x9c, 0x53, 0x39, 0xe8, 0x83, |
|||
0xcf, 0x06, 0xb4, 0x33, 0xbc, 0x8e, 0x14, 0x69, 0x6a, 0x77, 0xbd, 0x9e, |
|||
0xe4, 0x05, 0xdd, 0xf2, 0x37, 0x69, 0x83, 0xc1, 0x09, 0xf6, 0x64, 0x5b, |
|||
0x16, 0xaf, 0xb4, 0x46, 0x1d, 0xc2, 0xdc, 0x52, 0x47, 0x82, 0xaa, 0xc2, |
|||
0x7b, 0x81, 0xcd, 0x85, 0xa8, 0xa0, 0x78, 0x57, 0x48, 0x34, 0x4d, 0xca, |
|||
0xab, 0x5b, 0x48, 0xba, 0x6b, 0x67, 0xd9, 0xbb, 0x47, 0xa6, 0x3e, 0xab, |
|||
0xe7, 0x54, 0x85, 0xde, 0x7b, 0x09, 0xf4, 0xf4, 0xb2, 0x80, 0x89, 0x66, |
|||
0xb9, 0xdf, 0x92, 0xf6, 0x61, 0x2d, 0x7b, 0x57, 0x8f, 0xb9, 0x48, 0xc2, |
|||
0x12, 0x12, 0xb2, 0xc1, 0xd7, 0xac, 0xaa, 0xfe, 0x50, 0xc5, 0x59, 0x61, |
|||
0xee, 0x10, 0x7a, 0xb0, 0x2c, 0x5a, 0x50, 0x85, 0x9c, 0x1b, 0x5d, 0xeb, |
|||
0x29, 0x2e, 0x94, 0xfd, 0x0b, 0x64, 0x50, 0xb5, 0xdf, 0x57, 0xc6, 0x63, |
|||
0x11, 0xf3, 0x88, 0x66, 0x4a, 0xab, 0x3c, 0x6e, 0x92, 0xb6, 0x37, 0xa2, |
|||
0x4f, 0xde, 0xbc, 0x25, 0xd5, 0x15, 0x11, 0x26, 0xa0, 0x4b, 0x4d, 0x5e, |
|||
0x26, 0x6a, 0x6e, 0x2e, 0xf3, 0x11, 0x3f, 0xbd, 0xb9, 0xda, 0x6e, 0x11, |
|||
0xc5, 0xbb, 0xdc, 0x12, 0xe2, 0x1a, 0xf1, 0x6a, 0xd0, 0xea, 0x86, 0xf7, |
|||
0x4c, 0x25, 0xd9, 0x21, 0xca, 0x36, 0x19, 0x63, 0x68, 0x25, 0x27, 0xd9, |
|||
0xa6, 0xd6, 0x25, 0xed, 0xa8, 0xb9, 0x01, 0x1d, 0xe3, 0x2c, 0xd4, 0x88, |
|||
0x71, 0x96, 0x99, 0xcf, 0x5a, 0xd2, 0xc3, 0x13, 0x90, 0x14, 0x5f, 0x71, |
|||
0xed, 0xee, 0xcf, 0x57, 0x1a, 0xa9, 0x5c, 0x11, 0x4d, 0xd2, 0x78, 0x71, |
|||
0xc9, 0x1d, 0x9f, 0xc0, 0x70, 0xce, 0x5b, 0xc3, 0xfe, 0xcf, 0x46, 0xec, |
|||
0x0a, 0x1f, 0x7f, 0xf7, 0x0d, 0x29, 0x01, 0x5f, 0x53, 0x69, 0x61, 0xb2, |
|||
0xd9, 0xca, 0x79, 0x67, 0xbc, 0x85, 0x1b, 0x54, 0x6d, 0x58, 0x29, 0x28, |
|||
0xd2, 0x74, 0xb1, 0x37, 0x66, 0x09, 0xbf, 0xf7, 0x7f, 0x9a, 0xef, 0xe8, |
|||
0x6d, 0x15, 0xcb, 0x00, 0x00 |
|||
}; |
|||
unsigned int index_min_html_gz_len = 11921; |
|||
25712
src/json.hpp
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,573 @@ |
|||
#include "mergerfs_webui.hpp"
|
|||
|
|||
#include "fs_exists.hpp"
|
|||
#include "fs_info.hpp"
|
|||
#include "fs_mounts.hpp"
|
|||
#include "mergerfs_api.hpp"
|
|||
#include "str.hpp"
|
|||
#include "strvec.hpp"
|
|||
|
|||
#include "CLI11.hpp"
|
|||
#include "fmt/chrono.h"
|
|||
#include "fmt/core.h"
|
|||
#include "httplib.h"
|
|||
#include "json.hpp"
|
|||
|
|||
#include <unistd.h>
|
|||
#include <cstring>
|
|||
#include <fstream>
|
|||
#include <chrono>
|
|||
|
|||
#include "index_min_html_gz.h"
|
|||
#include "favicon_ico.h"
|
|||
|
|||
using json = nlohmann::json; |
|||
|
|||
static std::string g_password; |
|||
static std::string g_index_html; |
|||
|
|||
static |
|||
std::string |
|||
_get_timestamp() |
|||
{ |
|||
auto now = std::chrono::system_clock::now(); |
|||
auto now_ms = std::chrono::floor<std::chrono::milliseconds>(now); |
|||
|
|||
return fmt::format("{:%Y-%m-%dT%H:%M:%S}",now_ms); |
|||
} |
|||
|
|||
static |
|||
bool |
|||
_validate_password(const std::string &password_provided_) |
|||
{ |
|||
if(g_password.empty()) |
|||
return true; |
|||
|
|||
if(password_provided_.empty()) |
|||
return false; |
|||
|
|||
return (password_provided_ == g_password); |
|||
} |
|||
|
|||
static |
|||
json |
|||
_generate_error(const fs::path &mount_, |
|||
const std::string &key_, |
|||
const std::string &val_, |
|||
const int err_) |
|||
{ |
|||
json rv; |
|||
|
|||
rv = json::object(); |
|||
|
|||
rv["mount"] = mount_.string(); |
|||
rv["key"] = key_; |
|||
rv["value"] = val_; |
|||
|
|||
switch(err_) |
|||
{ |
|||
case -EROFS: |
|||
rv["msg"] = fmt::format("'{}' is read only.",key_); |
|||
break; |
|||
case -EINVAL: |
|||
rv["msg"] = fmt::format("value '{}' is invalid for '{}'", |
|||
val_, |
|||
key_); |
|||
break; |
|||
case -EACCES: |
|||
rv["msg"] = fmt::format("mergerfs.webui (pid {}) is running as uid {}" |
|||
" which appears not to have access to modify the" |
|||
" mount's config.", |
|||
::getpid(), |
|||
::getuid()); |
|||
break; |
|||
case -ENOTCONN: |
|||
rv["msg"] = fmt::format("It appears the mergerfs mount '{}' is in a bad state." |
|||
" mergerfs may have crashed.", |
|||
mount_.string()); |
|||
break; |
|||
default: |
|||
rv["msg"] = strerror(-err_); |
|||
break; |
|||
} |
|||
|
|||
return rv; |
|||
} |
|||
|
|||
static |
|||
void |
|||
_get_root(const httplib::Request &req_, |
|||
httplib::Response &res_) |
|||
{ |
|||
if(not g_index_html.empty() and fs::exists(g_index_html)) |
|||
{ |
|||
res_.set_file_content(g_index_html); |
|||
return; |
|||
} |
|||
|
|||
std::string accept_encoding; |
|||
accept_encoding = req_.get_header_value("Accept-Encoding"); |
|||
if(accept_encoding.find("gzip") != std::string::npos) |
|||
{ |
|||
res_.set_header("Content-Encoding","gzip"); |
|||
res_.set_header("Content-Type","text/html"); |
|||
res_.set_content((const char*)index_min_html_gz, |
|||
index_min_html_gz_len, |
|||
"text/html"); |
|||
return; |
|||
} |
|||
|
|||
res_.set_content("browser needs to support gzip","text/plain"); |
|||
} |
|||
|
|||
static |
|||
void |
|||
_get_favicon(const httplib::Request &req_, |
|||
httplib::Response &res_) |
|||
{ |
|||
res_.set_content((const char*)favicon_ico, |
|||
favicon_ico_len, |
|||
"image/png"); |
|||
} |
|||
|
|||
// If Equal Return True
|
|||
#define IERT(S) if(type_ == (S)) return true;
|
|||
// If Equal Return False
|
|||
#define IERF(S) if(type_ == (S)) return false;
|
|||
|
|||
static |
|||
bool |
|||
_valid_fs_type(const fs::path &path_, |
|||
const std::string &type_) |
|||
{ |
|||
if(not (str::startswith(path_,"/mnt/") or |
|||
str::startswith(path_,"/media/") or |
|||
str::startswith(path_,"/opt/") or |
|||
str::startswith(path_,"/tmp/") or |
|||
str::startswith(path_,"/srv/"))) |
|||
return false; |
|||
|
|||
IERT("bcachefs"); |
|||
IERT("btrfs"); |
|||
IERT("exfat"); |
|||
IERT("ext2"); |
|||
IERT("ext3"); |
|||
IERT("ext4"); |
|||
IERT("f2fs"); |
|||
IERT("jfs"); |
|||
IERT("ntfs"); |
|||
IERT("reiserfs"); |
|||
IERT("vfat"); |
|||
IERT("xfs"); |
|||
IERT("zfs"); |
|||
|
|||
IERF("fuse.gvfsd-fuse"); |
|||
IERF("fuse.kio-fuse"); |
|||
|
|||
if(str::startswith(type_,"fuse.")) |
|||
return true; |
|||
|
|||
return false; |
|||
} |
|||
|
|||
static |
|||
void |
|||
_get_mounts(const httplib::Request &req_, |
|||
httplib::Response &res_) |
|||
{ |
|||
json json_array; |
|||
std::string type; |
|||
fs::MountVec mounts; |
|||
|
|||
fs::mounts(mounts); |
|||
|
|||
json_array = json::array(); |
|||
for(const auto &mount : mounts) |
|||
{ |
|||
if(not ::_valid_fs_type(mount.dir,mount.type)) |
|||
continue; |
|||
|
|||
json obj; |
|||
|
|||
obj["path"] = mount.dir; |
|||
obj["type"] = mount.type; |
|||
|
|||
json_array.push_back(obj); |
|||
} |
|||
|
|||
res_.set_content(json_array.dump(), |
|||
"application/json"); |
|||
} |
|||
|
|||
static |
|||
void |
|||
_get_mounts_mergerfs(const httplib::Request &req_, |
|||
httplib::Response &res_) |
|||
{ |
|||
json json_array; |
|||
std::string type; |
|||
fs::MountVec mounts; |
|||
|
|||
fs::mounts(mounts); |
|||
|
|||
json_array = json::array(); |
|||
for(const auto &mount : mounts) |
|||
{ |
|||
if(mount.type != "fuse.mergerfs") |
|||
continue; |
|||
|
|||
json_array.push_back(mount.dir); |
|||
} |
|||
|
|||
res_.set_content(json_array.dump(), |
|||
"application/json"); |
|||
} |
|||
|
|||
static |
|||
void |
|||
_get_kvs(const httplib::Request &req_, |
|||
httplib::Response &res_) |
|||
{ |
|||
if(not req_.has_param("mount")) |
|||
{ |
|||
res_.status = 400; |
|||
res_.set_content("mount param not set", |
|||
"text/plain"); |
|||
return; |
|||
} |
|||
|
|||
json j; |
|||
std::string mount; |
|||
std::map<std::string,std::string> kvs; |
|||
|
|||
mount = req_.get_param_value("mount"); |
|||
|
|||
mergerfs::api::get_kvs(mount,&kvs); |
|||
|
|||
j = kvs; |
|||
|
|||
res_.set_content(j.dump(), |
|||
"application/json"); |
|||
} |
|||
|
|||
static |
|||
void |
|||
_get_kvs_key(const httplib::Request &req_, |
|||
httplib::Response &res_) |
|||
{ |
|||
if(not req_.has_param("mount")) |
|||
{ |
|||
res_.status = 400; |
|||
res_.set_content("mount param not set", |
|||
"text/plain"); |
|||
return; |
|||
} |
|||
|
|||
json j; |
|||
fs::path mount; |
|||
std::string key; |
|||
std::string val; |
|||
|
|||
key = req_.path_params.at("key"); |
|||
mount = req_.get_param_value("mount"); |
|||
|
|||
mergerfs::api::get_kv(mount,key,&val); |
|||
|
|||
j = val; |
|||
|
|||
res_.set_content(j.dump(), |
|||
"application/json"); |
|||
} |
|||
|
|||
static |
|||
bool |
|||
_check_auth(const httplib::Request &req_) |
|||
{ |
|||
if(g_password.empty()) |
|||
return true; |
|||
|
|||
std::string auth_header = req_.get_header_value("Authorization"); |
|||
if(auth_header.empty()) |
|||
return false; |
|||
|
|||
if(auth_header.substr(0,7) == "Bearer ") |
|||
{ |
|||
std::string token = auth_header.substr(7); |
|||
return _validate_password(token); |
|||
} |
|||
|
|||
return false; |
|||
} |
|||
|
|||
static |
|||
void |
|||
_post_kvs_key(const httplib::Request &req_, |
|||
httplib::Response &res_) |
|||
{ |
|||
if(not req_.has_param("mount")) |
|||
{ |
|||
res_.status = 400; |
|||
res_.set_content("{\"error\":\"mount param not set\"}", |
|||
"application/json"); |
|||
return; |
|||
} |
|||
|
|||
if(!g_password.empty() && !_check_auth(req_)) |
|||
{ |
|||
res_.status = 401; |
|||
res_.set_content("{\"error\":\"authentication required\"}", |
|||
"application/json"); |
|||
return; |
|||
} |
|||
|
|||
try |
|||
{ |
|||
int rv; |
|||
fs::path mount; |
|||
std::string key; |
|||
std::string val; |
|||
|
|||
key = req_.path_params.at("key"); |
|||
val = json::parse(req_.body); |
|||
mount = req_.get_param_value("mount"); |
|||
|
|||
rv = mergerfs::api::set_kv(mount,key,val); |
|||
|
|||
json j; |
|||
if(rv >= 0) |
|||
{ |
|||
j["result"] = "success"; |
|||
res_.set_content(j.dump(), |
|||
"application/json"); |
|||
} |
|||
else |
|||
{ |
|||
res_.status = 400; |
|||
j["result"] = "error"; |
|||
j["error"] = ::_generate_error(mount,key,val,rv); |
|||
res_.set_content(j.dump(), |
|||
"application/json"); |
|||
} |
|||
} |
|||
catch(const std::exception &e) |
|||
{ |
|||
fmt::print("{}\n",e.what()); |
|||
res_.status = 400; |
|||
res_.set_content("invalid json", |
|||
"text/plain"); |
|||
} |
|||
} |
|||
|
|||
static |
|||
void |
|||
_get_auth(const httplib::Request &req_, |
|||
httplib::Response &res_) |
|||
{ |
|||
json j; |
|||
|
|||
j["password_required"] = !g_password.empty(); |
|||
|
|||
res_.set_content(j.dump(), "application/json"); |
|||
} |
|||
|
|||
static |
|||
void |
|||
_post_auth_verify(const httplib::Request &req_, |
|||
httplib::Response &res_) |
|||
{ |
|||
try |
|||
{ |
|||
json j; |
|||
json body = json::parse(req_.body); |
|||
|
|||
std::string password = body.value("password", ""); |
|||
|
|||
if(_validate_password(password)) |
|||
{ |
|||
j["result"] = "success"; |
|||
j["valid"] = true; |
|||
} |
|||
else |
|||
{ |
|||
res_.status = 401; |
|||
j["result"] = "error"; |
|||
j["valid"] = false; |
|||
j["error"] = "Invalid password"; |
|||
} |
|||
|
|||
res_.set_content(j.dump(), "application/json"); |
|||
} |
|||
catch(const std::exception &e) |
|||
{ |
|||
fmt::print("{}\n", e.what()); |
|||
res_.status = 400; |
|||
res_.set_content("invalid json", "text/plain"); |
|||
} |
|||
} |
|||
|
|||
static |
|||
void |
|||
_get_branches_info(const httplib::Request &req_, |
|||
httplib::Response &res_) |
|||
{ |
|||
if(not req_.has_param("mount")) |
|||
{ |
|||
res_.status = 400; |
|||
res_.set_content("{\"error\":\"mount param not set\"}", |
|||
"application/json"); |
|||
return; |
|||
} |
|||
|
|||
fs::path mount; |
|||
std::string branches_str; |
|||
std::vector<std::string> branches; |
|||
|
|||
mount = req_.get_param_value("mount"); |
|||
|
|||
int rv = mergerfs::api::get_kv(mount,"branches",&branches_str); |
|||
if(rv < 0) |
|||
{ |
|||
res_.status = 404; |
|||
res_.set_content("{\"error\":\"failed to get branches\"}", |
|||
"application/json"); |
|||
return; |
|||
} |
|||
|
|||
str::split(branches_str,':',&branches); |
|||
|
|||
json json_array = json::array(); |
|||
|
|||
for(const auto &branch_full : branches) |
|||
{ |
|||
fs::info_t info; |
|||
std::string path; |
|||
std::string mode; |
|||
std::string minfreespace; |
|||
|
|||
str::splitkv(branch_full,'=',&path,&mode); |
|||
|
|||
if(!mode.empty()) |
|||
{ |
|||
std::string::size_type pos = mode.find(','); |
|||
if(pos != std::string::npos) |
|||
{ |
|||
minfreespace = mode.substr(pos + 1); |
|||
mode = mode.substr(0,pos); |
|||
} |
|||
} |
|||
|
|||
json branch_obj; |
|||
branch_obj["path"] = path; |
|||
branch_obj["mode"] = mode; |
|||
branch_obj["minfreespace"] = minfreespace; |
|||
|
|||
rv = fs::info(path,&info); |
|||
if(rv == 0) |
|||
{ |
|||
uint64_t total = info.spaceavail + info.spaceused; |
|||
|
|||
branch_obj["total_space"] = total; |
|||
branch_obj["used_space"] = info.spaceused; |
|||
branch_obj["available_space"] = info.spaceavail; |
|||
branch_obj["readonly"] = info.readonly; |
|||
} |
|||
else |
|||
{ |
|||
branch_obj["total_space"] = 0; |
|||
branch_obj["used_space"] = 0; |
|||
branch_obj["available_space"] = 0; |
|||
branch_obj["readonly"] = false; |
|||
branch_obj["error"] = "Failed to get disk info"; |
|||
} |
|||
|
|||
json_array.push_back(branch_obj); |
|||
} |
|||
|
|||
res_.set_content(json_array.dump(), |
|||
"application/json"); |
|||
} |
|||
|
|||
int |
|||
mergerfs::webui::main(const int argc_, |
|||
char **argv_) |
|||
{ |
|||
CLI::App app; |
|||
bool log; |
|||
int port; |
|||
std::string host; |
|||
|
|||
app.description("mergerfs.webui:" |
|||
" A simple webui to configure mergerfs instances"); |
|||
app.name("USAGE: mergerfs.webui"); |
|||
|
|||
app.add_option("--host",host) |
|||
->description("Interface to bind to") |
|||
->default_val("0.0.0.0"); |
|||
app.add_option("--port",port) |
|||
->description("TCP port to use") |
|||
->default_val(8080); |
|||
app.add_option("--log",log) |
|||
->description("Enable logging") |
|||
->default_val(false) |
|||
->default_str("false"); |
|||
app.add_option("--password",g_password) |
|||
->description("Require a password for changes."); |
|||
app.add_option("--index.html",g_index_html) |
|||
->description("Use provided file for serving. For development."); |
|||
|
|||
try |
|||
{ |
|||
app.parse(argc_,argv_); |
|||
} |
|||
catch(const CLI::ParseError &e) |
|||
{ |
|||
return app.exit(e); |
|||
} |
|||
|
|||
if(!g_password.empty()) |
|||
fmt::print("Password authentication enabled\n"); |
|||
else |
|||
fmt::print("No password set. Authentication disabled.\n"); |
|||
|
|||
// TODO: Warn if uid of server is not root but mergerfs is.
|
|||
|
|||
httplib::Server http_server; |
|||
|
|||
if(log) |
|||
{ |
|||
http_server.set_logger([](const httplib::Request &req_, |
|||
const httplib::Response &res_) |
|||
{ |
|||
fmt::println("{} {} {} -> {}", |
|||
::_get_timestamp(), |
|||
req_.method, |
|||
req_.path, |
|||
res_.status); |
|||
}); |
|||
} |
|||
|
|||
http_server.new_task_queue = |
|||
[]() |
|||
{ |
|||
return new httplib::ThreadPool(2); |
|||
}; |
|||
|
|||
http_server.Get("/",::_get_root); |
|||
http_server.Get("/favicon.ico",_get_favicon); |
|||
http_server.Get("/auth",::_get_auth); |
|||
http_server.Post("/auth/verify",::_post_auth_verify); |
|||
http_server.Get("/mounts",::_get_mounts); |
|||
http_server.Get("/mounts/mergerfs",::_get_mounts_mergerfs); |
|||
http_server.Get("/kvs",::_get_kvs); |
|||
http_server.Get("/kvs/:key",::_get_kvs_key); |
|||
http_server.Post("/kvs/:key",::_post_kvs_key); |
|||
http_server.Get("/branches-info",::_get_branches_info); |
|||
|
|||
fmt::print("host:port = http://{}:{}\n", |
|||
host, |
|||
port); |
|||
|
|||
http_server.listen(host,port); |
|||
|
|||
return 0; |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
#pragma once
|
|||
|
|||
namespace mergerfs |
|||
{ |
|||
namespace webui |
|||
{ |
|||
int main(const int argc, |
|||
char **argv); |
|||
} |
|||
} |
|||
1947
src/nonstd/span.hpp
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
2952
webui/index.html
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue