From 4eb62f688ab0db2cc30eb577500785a8d7660499 Mon Sep 17 00:00:00 2001 From: ton1c Date: Mon, 27 Jan 2025 15:53:20 +0300 Subject: [PATCH] wrote a usbip module --- deno.json | 51 +- deno.lock | 437 +- server/main.ts | 1 + server/src/lib/admin.ts | 14 +- server/src/lib/context.ts | 1 + server/src/lib/db/dbWrapper.ts | 2 + server/src/lib/db/migrations.ts | 17 +- server/src/lib/router.ts | 11 +- server/src/lib/usbip.ts | 5 + server/src/middleware/rateLimiter.ts | 2 + server/test.tex | 3 + shared/utils/' | 29 + shared/utils/2 | 1 + shared/utils/2usbip | 2 + shared/utils/logger.ts | 18 +- shared/utils/result.ts | 115 +- shared/utils/resultasync.ts | 79 +- shared/utils/usbip.ts | 283 + shared/utils/usbipTest.ts | 107 + vendor/deno.land/std@0.203.0/assert/assert.ts | 9 + .../std@0.203.0/assert/assertion_error.ts | 7 + .../deno.land/std@0.203.0/async/abortable.ts | 151 + .../deno.land/std@0.203.0/async/deadline.ts | 48 + .../deno.land/std@0.203.0/async/debounce.ts | 79 + .../deno.land/std@0.203.0/async/deferred.ts | 48 + vendor/deno.land/std@0.203.0/async/delay.ts | 65 + vendor/deno.land/std@0.203.0/async/mod.ts | 18 + .../std@0.203.0/async/mux_async_iterator.ts | 97 + vendor/deno.land/std@0.203.0/async/pool.ts | 108 + vendor/deno.land/std@0.203.0/async/retry.ts | 129 + vendor/deno.land/std@0.203.0/async/tee.ts | 100 + vendor/jsr.io/@db/sqlite/0.12.0/deno.json | 49 + vendor/jsr.io/@db/sqlite/0.12.0/deps.ts | 2 + vendor/jsr.io/@db/sqlite/0.12.0/mod.ts | 18 + vendor/jsr.io/@db/sqlite/0.12.0/src/blob.ts | 149 + .../jsr.io/@db/sqlite/0.12.0/src/constants.ts | 67 + .../jsr.io/@db/sqlite/0.12.0/src/database.ts | 884 + vendor/jsr.io/@db/sqlite/0.12.0/src/ffi.ts | 641 + .../jsr.io/@db/sqlite/0.12.0/src/statement.ts | 727 + vendor/jsr.io/@db/sqlite/0.12.0/src/util.ts | 48 + vendor/jsr.io/@db/sqlite/0.12.0_meta.json | 532 + vendor/jsr.io/@db/sqlite/meta.json | 10 + .../jsr.io/@denosaurs/plug/1.0.6/download.ts | 322 + vendor/jsr.io/@denosaurs/plug/1.0.6/mod.ts | 159 + vendor/jsr.io/@denosaurs/plug/1.0.6/types.ts | 152 + vendor/jsr.io/@denosaurs/plug/1.0.6/util.ts | 161 + vendor/jsr.io/@denosaurs/plug/1.0.6_meta.json | 246 + vendor/jsr.io/@denosaurs/plug/meta.json | 11 + .../@eta-dev/eta/3.5.0/src/compile-string.ts | 131 + .../jsr.io/@eta-dev/eta/3.5.0/src/compile.ts | 59 + .../jsr.io/@eta-dev/eta/3.5.0/src/config.ts | 110 + vendor/jsr.io/@eta-dev/eta/3.5.0/src/core.ts | 89 + vendor/jsr.io/@eta-dev/eta/3.5.0/src/err.ts | 91 + .../@eta-dev/eta/3.5.0/src/file-handling.ts | 95 + vendor/jsr.io/@eta-dev/eta/3.5.0/src/index.ts | 16 + vendor/jsr.io/@eta-dev/eta/3.5.0/src/parse.ts | 215 + .../jsr.io/@eta-dev/eta/3.5.0/src/render.ts | 114 + .../jsr.io/@eta-dev/eta/3.5.0/src/storage.ts | 25 + vendor/jsr.io/@eta-dev/eta/3.5.0/src/utils.ts | 91 + vendor/jsr.io/@eta-dev/eta/3.5.0_meta.json | 602 + vendor/jsr.io/@eta-dev/eta/meta.json | 9 + .../@felix/bcrypt/1.0.5/bindings/bindings.ts | 89 + vendor/jsr.io/@felix/bcrypt/1.0.5/helper.ts | 18 + vendor/jsr.io/@felix/bcrypt/1.0.5/mod.ts | 1 + vendor/jsr.io/@felix/bcrypt/1.0.5_meta.json | 94 + vendor/jsr.io/@felix/bcrypt/meta.json | 9 + .../@luca/esbuild-deno-loader/0.11.1/mod.ts | 89 + .../esbuild-deno-loader/0.11.1/src/deno.ts | 283 + .../0.11.1/src/esbuild_types.ts | 143 + .../0.11.1/src/loader_native.ts | 219 + .../0.11.1/src/loader_portable.ts | 245 + .../0.11.1/src/plugin_deno_loader.ts | 401 + .../0.11.1/src/plugin_deno_resolver.ts | 136 + .../esbuild-deno-loader/0.11.1/src/shared.ts | 387 + .../0.11.1/src/wasm/loader.generated.d.ts | 77 + .../0.11.1/src/wasm/loader.generated.js | 29829 ++++++++++++++++ .../snippets/loader-ace679fc3fd6566c/fs.js | 26 + .../esbuild-deno-loader/0.11.1_meta.json | 646 + .../@luca/esbuild-deno-loader/meta.json | 13 + vendor/jsr.io/@std/assert/0.217.0/assert.ts | 19 + .../@std/assert/0.217.0/assertion_error.ts | 19 + vendor/jsr.io/@std/assert/0.217.0_meta.json | 2669 ++ vendor/jsr.io/@std/assert/0.221.0/assert.ts | 19 + .../@std/assert/0.221.0/assertion_error.ts | 19 + vendor/jsr.io/@std/assert/0.221.0_meta.json | 1498 + .../@std/assert/1.0.10/almost_equals.ts | 55 + .../@std/assert/1.0.10/array_includes.ts | 57 + vendor/jsr.io/@std/assert/1.0.10/assert.ts | 23 + .../@std/assert/1.0.10/assertion_error.ts | 31 + vendor/jsr.io/@std/assert/1.0.10/equal.ts | 208 + vendor/jsr.io/@std/assert/1.0.10/equals.ts | 65 + vendor/jsr.io/@std/assert/1.0.10/exists.ts | 31 + vendor/jsr.io/@std/assert/1.0.10/fail.ts | 21 + vendor/jsr.io/@std/assert/1.0.10/false.ts | 26 + vendor/jsr.io/@std/assert/1.0.10/greater.ts | 30 + .../@std/assert/1.0.10/greater_or_equal.ts | 36 + .../jsr.io/@std/assert/1.0.10/instance_of.ts | 64 + vendor/jsr.io/@std/assert/1.0.10/is_error.ts | 65 + vendor/jsr.io/@std/assert/1.0.10/less.ts | 29 + .../@std/assert/1.0.10/less_or_equal.ts | 36 + vendor/jsr.io/@std/assert/1.0.10/match.ts | 30 + vendor/jsr.io/@std/assert/1.0.10/mod.ts | 47 + .../jsr.io/@std/assert/1.0.10/not_equals.ts | 37 + .../@std/assert/1.0.10/not_instance_of.ts | 33 + vendor/jsr.io/@std/assert/1.0.10/not_match.ts | 30 + .../@std/assert/1.0.10/not_strict_equals.ts | 42 + .../jsr.io/@std/assert/1.0.10/object_match.ts | 203 + vendor/jsr.io/@std/assert/1.0.10/rejects.ts | 123 + .../@std/assert/1.0.10/strict_equals.ts | 67 + .../@std/assert/1.0.10/string_includes.ts | 30 + vendor/jsr.io/@std/assert/1.0.10/throws.ts | 111 + .../@std/assert/1.0.10/unimplemented.ts | 21 + .../jsr.io/@std/assert/1.0.10/unreachable.ts | 21 + .../@std/assert/1.0.10/unstable_never.ts | 101 + vendor/jsr.io/@std/assert/1.0.10_meta.json | 1523 + vendor/jsr.io/@std/assert/meta.json | 62 + vendor/jsr.io/@std/bytes/1.0.4/concat.ts | 34 + vendor/jsr.io/@std/bytes/1.0.4/copy.ts | 51 + vendor/jsr.io/@std/bytes/1.0.4/ends_with.ts | 37 + vendor/jsr.io/@std/bytes/1.0.4/equals.ts | 90 + .../@std/bytes/1.0.4/includes_needle.ts | 48 + .../@std/bytes/1.0.4/index_of_needle.ts | 72 + .../@std/bytes/1.0.4/last_index_of_needle.ts | 71 + vendor/jsr.io/@std/bytes/1.0.4/mod.ts | 35 + vendor/jsr.io/@std/bytes/1.0.4/repeat.ts | 47 + vendor/jsr.io/@std/bytes/1.0.4/starts_with.ts | 35 + vendor/jsr.io/@std/bytes/1.0.4_meta.json | 286 + vendor/jsr.io/@std/bytes/meta.json | 49 + vendor/jsr.io/@std/cli/1.0.10/parse_args.ts | 890 + vendor/jsr.io/@std/cli/1.0.10_meta.json | 201 + vendor/jsr.io/@std/cli/meta.json | 53 + .../lib/#deno_std_wasm_crypto_7822f.d.mts | 78 + .../_wasm/lib/#deno_std_wasm_crypto_bc4f1.mjs | 2708 ++ vendor/jsr.io/@std/crypto/1.0.3/_wasm/mod.ts | 52 + vendor/jsr.io/@std/crypto/1.0.3/crypto.ts | 348 + vendor/jsr.io/@std/crypto/1.0.3/mod.ts | 24 + .../@std/crypto/1.0.3/timing_safe_equal.ts | 61 + vendor/jsr.io/@std/crypto/1.0.3_meta.json | 195 + vendor/jsr.io/@std/crypto/meta.json | 45 + vendor/jsr.io/@std/dotenv/0.225.3/load.ts | 13 + vendor/jsr.io/@std/dotenv/0.225.3/mod.ts | 249 + vendor/jsr.io/@std/dotenv/0.225.3/parse.ts | 112 + .../jsr.io/@std/dotenv/0.225.3/stringify.ts | 48 + vendor/jsr.io/@std/dotenv/0.225.3_meta.json | 162 + vendor/jsr.io/@std/dotenv/meta.json | 47 + vendor/jsr.io/@std/encoding/0.221.0/_util.ts | 29 + vendor/jsr.io/@std/encoding/0.221.0/hex.ts | 108 + vendor/jsr.io/@std/encoding/0.221.0_meta.json | 199 + .../@std/encoding/1.0.6/_base32_common.ts | 218 + .../encoding/1.0.6/_validate_binary_like.ts | 29 + vendor/jsr.io/@std/encoding/1.0.6/base32.ts | 73 + vendor/jsr.io/@std/encoding/1.0.6/base64.ts | 174 + vendor/jsr.io/@std/encoding/1.0.6/hex.ts | 120 + vendor/jsr.io/@std/encoding/1.0.6_meta.json | 540 + vendor/jsr.io/@std/encoding/meta.json | 53 + vendor/jsr.io/@std/fmt/0.221.0/colors.ts | 589 + vendor/jsr.io/@std/fmt/0.221.0_meta.json | 52 + vendor/jsr.io/@std/fmt/1.0.4/bytes.ts | 209 + vendor/jsr.io/@std/fmt/1.0.4/colors.ts | 1002 + vendor/jsr.io/@std/fmt/1.0.4/duration.ts | 173 + vendor/jsr.io/@std/fmt/1.0.4/printf.ts | 998 + vendor/jsr.io/@std/fmt/1.0.4_meta.json | 60 + vendor/jsr.io/@std/fmt/meta.json | 56 + .../@std/fs/0.221.0/_create_walk_entry.ts | 45 + .../@std/fs/0.221.0/_get_file_info_type.ts | 20 + .../jsr.io/@std/fs/0.221.0/_is_same_path.ts | 20 + vendor/jsr.io/@std/fs/0.221.0/_is_subdir.ts | 26 + .../jsr.io/@std/fs/0.221.0/_to_path_string.ts | 14 + vendor/jsr.io/@std/fs/0.221.0/copy.ts | 398 + vendor/jsr.io/@std/fs/0.221.0/empty_dir.ts | 78 + vendor/jsr.io/@std/fs/0.221.0/ensure_dir.ts | 108 + vendor/jsr.io/@std/fs/0.221.0/ensure_file.ts | 84 + vendor/jsr.io/@std/fs/0.221.0/ensure_link.ts | 50 + .../jsr.io/@std/fs/0.221.0/ensure_symlink.ts | 133 + vendor/jsr.io/@std/fs/0.221.0/eol.ts | 68 + vendor/jsr.io/@std/fs/0.221.0/exists.ts | 285 + vendor/jsr.io/@std/fs/0.221.0/expand_glob.ts | 395 + vendor/jsr.io/@std/fs/0.221.0/mod.ts | 28 + vendor/jsr.io/@std/fs/0.221.0/move.ts | 157 + vendor/jsr.io/@std/fs/0.221.0/walk.ts | 293 + vendor/jsr.io/@std/fs/0.221.0_meta.json | 1169 + vendor/jsr.io/@std/fs/1.0.9/exists.ts | 314 + vendor/jsr.io/@std/fs/1.0.9_meta.json | 1425 + vendor/jsr.io/@std/fs/meta.json | 65 + vendor/jsr.io/@std/html/1.0.3/entities.ts | 122 + vendor/jsr.io/@std/html/1.0.3_meta.json | 69 + vendor/jsr.io/@std/html/meta.json | 49 + .../@std/http/1.0.12/_negotiation/common.ts | 51 + .../@std/http/1.0.12/_negotiation/encoding.ts | 164 + .../@std/http/1.0.12/_negotiation/language.ts | 148 + .../http/1.0.12/_negotiation/media_type.ts | 196 + vendor/jsr.io/@std/http/1.0.12/cookie.ts | 465 + vendor/jsr.io/@std/http/1.0.12/deno.json | 18 + vendor/jsr.io/@std/http/1.0.12/etag.ts | 263 + vendor/jsr.io/@std/http/1.0.12/file_server.ts | 930 + vendor/jsr.io/@std/http/1.0.12/mod.ts | 106 + vendor/jsr.io/@std/http/1.0.12/negotiation.ts | 207 + .../http/1.0.12/server_sent_event_stream.ts | 105 + vendor/jsr.io/@std/http/1.0.12/status.ts | 450 + .../@std/http/1.0.12/unstable_header.ts | 1200 + .../@std/http/1.0.12/unstable_method.ts | 298 + .../jsr.io/@std/http/1.0.12/unstable_route.ts | 110 + .../http/1.0.12/unstable_signed_cookie.ts | 128 + vendor/jsr.io/@std/http/1.0.12/user_agent.ts | 1258 + vendor/jsr.io/@std/http/1.0.12_meta.json | 756 + vendor/jsr.io/@std/http/meta.json | 64 + .../@std/internal/1.0.5/build_message.ts | 134 + vendor/jsr.io/@std/internal/1.0.5/diff.ts | 317 + vendor/jsr.io/@std/internal/1.0.5/diff_str.ts | 204 + vendor/jsr.io/@std/internal/1.0.5/format.ts | 37 + vendor/jsr.io/@std/internal/1.0.5/styles.ts | 231 + vendor/jsr.io/@std/internal/1.0.5/types.ts | 18 + vendor/jsr.io/@std/internal/1.0.5_meta.json | 284 + vendor/jsr.io/@std/internal/meta.json | 36 + vendor/jsr.io/@std/io/0.225.0/write_all.ts | 65 + vendor/jsr.io/@std/io/0.225.0_meta.json | 610 + vendor/jsr.io/@std/io/meta.json | 51 + vendor/jsr.io/@std/log/0.224.13/_config.ts | 19 + .../log/0.224.13/_file_handler_symbols.ts | 8 + vendor/jsr.io/@std/log/0.224.13/_state.ts | 11 + .../jsr.io/@std/log/0.224.13/base_handler.ts | 377 + .../@std/log/0.224.13/console_handler.ts | 118 + vendor/jsr.io/@std/log/0.224.13/critical.ts | 70 + vendor/jsr.io/@std/log/0.224.13/debug.ts | 122 + vendor/jsr.io/@std/log/0.224.13/error.ts | 70 + .../jsr.io/@std/log/0.224.13/file_handler.ts | 277 + vendor/jsr.io/@std/log/0.224.13/formatters.ts | 50 + vendor/jsr.io/@std/log/0.224.13/get_logger.ts | 81 + vendor/jsr.io/@std/log/0.224.13/info.ts | 70 + vendor/jsr.io/@std/log/0.224.13/levels.ts | 58 + vendor/jsr.io/@std/log/0.224.13/logger.ts | 778 + vendor/jsr.io/@std/log/0.224.13/mod.ts | 392 + .../log/0.224.13/rotating_file_handler.ts | 139 + vendor/jsr.io/@std/log/0.224.13/setup.ts | 52 + vendor/jsr.io/@std/log/0.224.13/warn.ts | 71 + vendor/jsr.io/@std/log/0.224.13_meta.json | 1106 + vendor/jsr.io/@std/log/meta.json | 53 + vendor/jsr.io/@std/media-types/1.1.0/_db.ts | 48 + vendor/jsr.io/@std/media-types/1.1.0/_util.ts | 145 + .../@std/media-types/1.1.0/content_type.ts | 85 + .../media-types/1.1.0/format_media_type.ts | 86 + .../@std/media-types/1.1.0/get_charset.ts | 45 + .../media-types/1.1.0/parse_media_type.ts | 125 + .../media-types/1.1.0/type_by_extension.ts | 33 + .../@std/media-types/1.1.0/vendor/db.ts | 9178 +++++ .../jsr.io/@std/media-types/1.1.0_meta.json | 487 + vendor/jsr.io/@std/media-types/meta.json | 48 + .../net/1.0.4/#unstable_get_network_b61b7.ts | 50 + vendor/jsr.io/@std/net/1.0.4_meta.json | 61 + vendor/jsr.io/@std/net/meta.json | 40 + .../@std/path/0.217.0/_common/assert_path.ts | 10 + .../@std/path/0.217.0/_common/basename.ts | 53 + .../@std/path/0.217.0/_common/common.ts | 26 + .../@std/path/0.217.0/_common/constants.ts | 49 + .../@std/path/0.217.0/_common/dirname.ts | 9 + .../@std/path/0.217.0/_common/format.ts | 25 + .../path/0.217.0/_common/from_file_url.ts | 10 + .../path/0.217.0/_common/glob_to_reg_exp.ts | 283 + .../@std/path/0.217.0/_common/normalize.ts | 9 + .../path/0.217.0/_common/normalize_string.ts | 74 + .../@std/path/0.217.0/_common/relative.ts | 10 + .../_common/strip_trailing_separators.ts | 25 + .../@std/path/0.217.0/_common/to_file_url.ts | 17 + vendor/jsr.io/@std/path/0.217.0/_interface.ts | 30 + vendor/jsr.io/@std/path/0.217.0/_os.ts | 31 + vendor/jsr.io/@std/path/0.217.0/basename.ts | 19 + vendor/jsr.io/@std/path/0.217.0/common.ts | 24 + vendor/jsr.io/@std/path/0.217.0/constants.ts | 7 + vendor/jsr.io/@std/path/0.217.0/dirname.ts | 14 + vendor/jsr.io/@std/path/0.217.0/extname.ts | 14 + vendor/jsr.io/@std/path/0.217.0/format.ts | 15 + .../jsr.io/@std/path/0.217.0/from_file_url.ts | 26 + .../@std/path/0.217.0/glob_to_regexp.ts | 80 + .../jsr.io/@std/path/0.217.0/is_absolute.ts | 14 + vendor/jsr.io/@std/path/0.217.0/is_glob.ts | 35 + vendor/jsr.io/@std/path/0.217.0/join.ts | 14 + vendor/jsr.io/@std/path/0.217.0/join_globs.ts | 19 + vendor/jsr.io/@std/path/0.217.0/mod.ts | 65 + vendor/jsr.io/@std/path/0.217.0/normalize.ts | 15 + .../@std/path/0.217.0/normalize_glob.ts | 21 + vendor/jsr.io/@std/path/0.217.0/parse.ts | 15 + .../jsr.io/@std/path/0.217.0/posix/_util.ts | 10 + .../@std/path/0.217.0/posix/basename.ts | 28 + .../jsr.io/@std/path/0.217.0/posix/common.ts | 24 + .../@std/path/0.217.0/posix/constants.ts | 6 + .../jsr.io/@std/path/0.217.0/posix/dirname.ts | 44 + .../jsr.io/@std/path/0.217.0/posix/extname.ts | 62 + .../jsr.io/@std/path/0.217.0/posix/format.ts | 14 + .../@std/path/0.217.0/posix/from_file_url.ts | 21 + .../@std/path/0.217.0/posix/glob_to_regexp.ts | 79 + .../@std/path/0.217.0/posix/is_absolute.ts | 14 + .../jsr.io/@std/path/0.217.0/posix/is_glob.ts | 4 + vendor/jsr.io/@std/path/0.217.0/posix/join.ts | 25 + .../@std/path/0.217.0/posix/join_globs.ts | 30 + vendor/jsr.io/@std/path/0.217.0/posix/mod.ts | 43 + .../@std/path/0.217.0/posix/normalize.ts | 30 + .../@std/path/0.217.0/posix/normalize_glob.ts | 27 + .../jsr.io/@std/path/0.217.0/posix/parse.ts | 102 + .../@std/path/0.217.0/posix/relative.ts | 91 + .../jsr.io/@std/path/0.217.0/posix/resolve.ts | 56 + .../@std/path/0.217.0/posix/to_file_url.ts | 27 + .../path/0.217.0/posix/to_namespaced_path.ts | 11 + vendor/jsr.io/@std/path/0.217.0/relative.ts | 21 + vendor/jsr.io/@std/path/0.217.0/resolve.ts | 16 + .../jsr.io/@std/path/0.217.0/to_file_url.ts | 26 + .../@std/path/0.217.0/to_namespaced_path.ts | 16 + .../jsr.io/@std/path/0.217.0/windows/_util.ts | 28 + .../@std/path/0.217.0/windows/basename.ts | 37 + .../@std/path/0.217.0/windows/common.ts | 24 + .../@std/path/0.217.0/windows/constants.ts | 6 + .../@std/path/0.217.0/windows/dirname.ts | 103 + .../@std/path/0.217.0/windows/extname.ts | 76 + .../@std/path/0.217.0/windows/format.ts | 14 + .../path/0.217.0/windows/from_file_url.ts | 30 + .../path/0.217.0/windows/glob_to_regexp.ts | 79 + .../@std/path/0.217.0/windows/is_absolute.ts | 29 + .../@std/path/0.217.0/windows/is_glob.ts | 4 + .../jsr.io/@std/path/0.217.0/windows/join.ts | 72 + .../@std/path/0.217.0/windows/join_globs.ts | 30 + .../jsr.io/@std/path/0.217.0/windows/mod.ts | 43 + .../@std/path/0.217.0/windows/normalize.ts | 127 + .../path/0.217.0/windows/normalize_glob.ts | 28 + .../jsr.io/@std/path/0.217.0/windows/parse.ts | 165 + .../@std/path/0.217.0/windows/relative.ts | 118 + .../@std/path/0.217.0/windows/resolve.ts | 161 + .../@std/path/0.217.0/windows/to_file_url.ts | 35 + .../0.217.0/windows/to_namespaced_path.ts | 49 + vendor/jsr.io/@std/path/0.217.0_meta.json | 8250 +++++ .../@std/path/0.221.0/_common/assert_path.ts | 10 + .../@std/path/0.221.0/_common/basename.ts | 53 + .../@std/path/0.221.0/_common/common.ts | 26 + .../@std/path/0.221.0/_common/constants.ts | 49 + .../@std/path/0.221.0/_common/dirname.ts | 9 + .../@std/path/0.221.0/_common/format.ts | 25 + .../path/0.221.0/_common/from_file_url.ts | 10 + .../path/0.221.0/_common/glob_to_reg_exp.ts | 283 + .../@std/path/0.221.0/_common/normalize.ts | 9 + .../path/0.221.0/_common/normalize_string.ts | 74 + .../@std/path/0.221.0/_common/relative.ts | 10 + .../_common/strip_trailing_separators.ts | 25 + .../@std/path/0.221.0/_common/to_file_url.ts | 17 + vendor/jsr.io/@std/path/0.221.0/_interface.ts | 42 + vendor/jsr.io/@std/path/0.221.0/_os.ts | 31 + vendor/jsr.io/@std/path/0.221.0/basename.ts | 28 + vendor/jsr.io/@std/path/0.221.0/common.ts | 24 + vendor/jsr.io/@std/path/0.221.0/constants.ts | 7 + vendor/jsr.io/@std/path/0.221.0/dirname.ts | 14 + vendor/jsr.io/@std/path/0.221.0/extname.ts | 14 + vendor/jsr.io/@std/path/0.221.0/format.ts | 17 + .../jsr.io/@std/path/0.221.0/from_file_url.ts | 26 + .../@std/path/0.221.0/glob_to_regexp.ts | 80 + .../jsr.io/@std/path/0.221.0/is_absolute.ts | 14 + vendor/jsr.io/@std/path/0.221.0/is_glob.ts | 35 + vendor/jsr.io/@std/path/0.221.0/join.ts | 14 + vendor/jsr.io/@std/path/0.221.0/join_globs.ts | 19 + vendor/jsr.io/@std/path/0.221.0/mod.ts | 65 + vendor/jsr.io/@std/path/0.221.0/normalize.ts | 15 + .../@std/path/0.221.0/normalize_glob.ts | 21 + vendor/jsr.io/@std/path/0.221.0/parse.ts | 27 + .../jsr.io/@std/path/0.221.0/posix/_util.ts | 10 + .../@std/path/0.221.0/posix/basename.ts | 37 + .../jsr.io/@std/path/0.221.0/posix/common.ts | 24 + .../@std/path/0.221.0/posix/constants.ts | 6 + .../jsr.io/@std/path/0.221.0/posix/dirname.ts | 53 + .../jsr.io/@std/path/0.221.0/posix/extname.ts | 71 + .../jsr.io/@std/path/0.221.0/posix/format.ts | 14 + .../@std/path/0.221.0/posix/from_file_url.ts | 21 + .../@std/path/0.221.0/posix/glob_to_regexp.ts | 79 + .../@std/path/0.221.0/posix/is_absolute.ts | 14 + .../jsr.io/@std/path/0.221.0/posix/is_glob.ts | 4 + vendor/jsr.io/@std/path/0.221.0/posix/join.ts | 25 + .../@std/path/0.221.0/posix/join_globs.ts | 30 + vendor/jsr.io/@std/path/0.221.0/posix/mod.ts | 43 + .../@std/path/0.221.0/posix/normalize.ts | 30 + .../@std/path/0.221.0/posix/normalize_glob.ts | 27 + .../jsr.io/@std/path/0.221.0/posix/parse.ts | 102 + .../@std/path/0.221.0/posix/relative.ts | 91 + .../jsr.io/@std/path/0.221.0/posix/resolve.ts | 56 + .../@std/path/0.221.0/posix/to_file_url.ts | 27 + .../path/0.221.0/posix/to_namespaced_path.ts | 11 + vendor/jsr.io/@std/path/0.221.0/relative.ts | 21 + vendor/jsr.io/@std/path/0.221.0/resolve.ts | 16 + .../jsr.io/@std/path/0.221.0/to_file_url.ts | 26 + .../@std/path/0.221.0/to_namespaced_path.ts | 16 + .../jsr.io/@std/path/0.221.0/windows/_util.ts | 28 + .../@std/path/0.221.0/windows/basename.ts | 46 + .../@std/path/0.221.0/windows/common.ts | 24 + .../@std/path/0.221.0/windows/constants.ts | 6 + .../@std/path/0.221.0/windows/dirname.ts | 103 + .../@std/path/0.221.0/windows/extname.ts | 76 + .../@std/path/0.221.0/windows/format.ts | 14 + .../path/0.221.0/windows/from_file_url.ts | 30 + .../path/0.221.0/windows/glob_to_regexp.ts | 79 + .../@std/path/0.221.0/windows/is_absolute.ts | 29 + .../@std/path/0.221.0/windows/is_glob.ts | 4 + .../jsr.io/@std/path/0.221.0/windows/join.ts | 72 + .../@std/path/0.221.0/windows/join_globs.ts | 30 + .../jsr.io/@std/path/0.221.0/windows/mod.ts | 43 + .../@std/path/0.221.0/windows/normalize.ts | 127 + .../path/0.221.0/windows/normalize_glob.ts | 27 + .../jsr.io/@std/path/0.221.0/windows/parse.ts | 165 + .../@std/path/0.221.0/windows/relative.ts | 118 + .../@std/path/0.221.0/windows/resolve.ts | 161 + .../@std/path/0.221.0/windows/to_file_url.ts | 35 + .../0.221.0/windows/to_namespaced_path.ts | 49 + vendor/jsr.io/@std/path/0.221.0_meta.json | 4028 +++ .../@std/path/1.0.8/_common/assert_path.ts | 10 + .../@std/path/1.0.8/_common/basename.ts | 53 + .../jsr.io/@std/path/1.0.8/_common/common.ts | 26 + .../@std/path/1.0.8/_common/constants.ts | 49 + .../jsr.io/@std/path/1.0.8/_common/dirname.ts | 9 + .../jsr.io/@std/path/1.0.8/_common/format.ts | 25 + .../@std/path/1.0.8/_common/from_file_url.ts | 12 + .../path/1.0.8/_common/glob_to_reg_exp.ts | 290 + .../@std/path/1.0.8/_common/normalize.ts | 9 + .../path/1.0.8/_common/normalize_string.ts | 74 + .../@std/path/1.0.8/_common/relative.ts | 10 + .../_common/strip_trailing_separators.ts | 25 + .../@std/path/1.0.8/_common/to_file_url.ts | 17 + vendor/jsr.io/@std/path/1.0.8/_os.ts | 10 + vendor/jsr.io/@std/path/1.0.8/basename.ts | 38 + vendor/jsr.io/@std/path/1.0.8/common.ts | 35 + vendor/jsr.io/@std/path/1.0.8/constants.ts | 18 + vendor/jsr.io/@std/path/1.0.8/dirname.ts | 31 + vendor/jsr.io/@std/path/1.0.8/extname.ts | 30 + vendor/jsr.io/@std/path/1.0.8/format.ts | 30 + .../jsr.io/@std/path/1.0.8/from_file_url.ts | 30 + .../jsr.io/@std/path/1.0.8/glob_to_regexp.ts | 94 + vendor/jsr.io/@std/path/1.0.8/is_absolute.ts | 30 + vendor/jsr.io/@std/path/1.0.8/is_glob.ts | 49 + vendor/jsr.io/@std/path/1.0.8/join.ts | 31 + vendor/jsr.io/@std/path/1.0.8/join_globs.ts | 42 + vendor/jsr.io/@std/path/1.0.8/mod.ts | 58 + vendor/jsr.io/@std/path/1.0.8/normalize.ts | 34 + .../jsr.io/@std/path/1.0.8/normalize_glob.ts | 45 + vendor/jsr.io/@std/path/1.0.8/parse.ts | 44 + vendor/jsr.io/@std/path/1.0.8/posix/_util.ts | 10 + .../jsr.io/@std/path/1.0.8/posix/basename.ts | 59 + .../jsr.io/@std/path/1.0.8/posix/constants.ts | 15 + .../jsr.io/@std/path/1.0.8/posix/dirname.ts | 70 + .../jsr.io/@std/path/1.0.8/posix/extname.ts | 92 + vendor/jsr.io/@std/path/1.0.8/posix/format.ts | 31 + .../@std/path/1.0.8/posix/from_file_url.ts | 25 + .../@std/path/1.0.8/posix/glob_to_regexp.ts | 94 + .../@std/path/1.0.8/posix/is_absolute.ts | 25 + vendor/jsr.io/@std/path/1.0.8/posix/join.ts | 43 + .../@std/path/1.0.8/posix/join_globs.ts | 45 + .../jsr.io/@std/path/1.0.8/posix/normalize.ts | 62 + .../@std/path/1.0.8/posix/normalize_glob.ts | 43 + vendor/jsr.io/@std/path/1.0.8/posix/parse.ts | 121 + .../jsr.io/@std/path/1.0.8/posix/relative.ts | 103 + .../jsr.io/@std/path/1.0.8/posix/resolve.ts | 69 + .../@std/path/1.0.8/posix/to_file_url.ts | 32 + .../path/1.0.8/posix/to_namespaced_path.ts | 21 + vendor/jsr.io/@std/path/1.0.8/relative.ts | 32 + vendor/jsr.io/@std/path/1.0.8/resolve.ts | 32 + vendor/jsr.io/@std/path/1.0.8/to_file_url.ts | 30 + .../@std/path/1.0.8/to_namespaced_path.ts | 31 + vendor/jsr.io/@std/path/1.0.8/types.ts | 40 + .../jsr.io/@std/path/1.0.8/windows/_util.ts | 28 + .../@std/path/1.0.8/windows/basename.ts | 51 + .../@std/path/1.0.8/windows/constants.ts | 15 + .../jsr.io/@std/path/1.0.8/windows/dirname.ts | 117 + .../jsr.io/@std/path/1.0.8/windows/extname.ts | 89 + .../jsr.io/@std/path/1.0.8/windows/format.ts | 31 + .../@std/path/1.0.8/windows/from_file_url.ts | 34 + .../@std/path/1.0.8/windows/glob_to_regexp.ts | 92 + .../@std/path/1.0.8/windows/is_absolute.ts | 40 + vendor/jsr.io/@std/path/1.0.8/windows/join.ts | 75 + .../@std/path/1.0.8/windows/join_globs.ts | 46 + .../@std/path/1.0.8/windows/normalize.ts | 135 + .../@std/path/1.0.8/windows/normalize_glob.ts | 43 + .../jsr.io/@std/path/1.0.8/windows/parse.ts | 184 + .../@std/path/1.0.8/windows/relative.ts | 128 + .../jsr.io/@std/path/1.0.8/windows/resolve.ts | 176 + .../@std/path/1.0.8/windows/to_file_url.ts | 38 + .../path/1.0.8/windows/to_namespaced_path.ts | 60 + vendor/jsr.io/@std/path/1.0.8_meta.json | 4721 +++ vendor/jsr.io/@std/path/meta.json | 59 + .../@std/streams/1.0.8/byte_slice_stream.ts | 75 + vendor/jsr.io/@std/streams/1.0.8_meta.json | 612 + vendor/jsr.io/@std/streams/meta.json | 59 + vendor/manifest.json | 7 + .../minify-html/deno/0.15.0/index.js | 217 + 484 files changed, 115213 insertions(+), 499 deletions(-) create mode 100644 server/src/lib/usbip.ts create mode 100644 server/test.tex create mode 100644 shared/utils/' create mode 100644 shared/utils/2 create mode 100644 shared/utils/2usbip create mode 100644 shared/utils/usbip.ts create mode 100644 shared/utils/usbipTest.ts create mode 100644 vendor/deno.land/std@0.203.0/assert/assert.ts create mode 100644 vendor/deno.land/std@0.203.0/assert/assertion_error.ts create mode 100644 vendor/deno.land/std@0.203.0/async/abortable.ts create mode 100644 vendor/deno.land/std@0.203.0/async/deadline.ts create mode 100644 vendor/deno.land/std@0.203.0/async/debounce.ts create mode 100644 vendor/deno.land/std@0.203.0/async/deferred.ts create mode 100644 vendor/deno.land/std@0.203.0/async/delay.ts create mode 100644 vendor/deno.land/std@0.203.0/async/mod.ts create mode 100644 vendor/deno.land/std@0.203.0/async/mux_async_iterator.ts create mode 100644 vendor/deno.land/std@0.203.0/async/pool.ts create mode 100644 vendor/deno.land/std@0.203.0/async/retry.ts create mode 100644 vendor/deno.land/std@0.203.0/async/tee.ts create mode 100644 vendor/jsr.io/@db/sqlite/0.12.0/deno.json create mode 100644 vendor/jsr.io/@db/sqlite/0.12.0/deps.ts create mode 100644 vendor/jsr.io/@db/sqlite/0.12.0/mod.ts create mode 100644 vendor/jsr.io/@db/sqlite/0.12.0/src/blob.ts create mode 100644 vendor/jsr.io/@db/sqlite/0.12.0/src/constants.ts create mode 100644 vendor/jsr.io/@db/sqlite/0.12.0/src/database.ts create mode 100644 vendor/jsr.io/@db/sqlite/0.12.0/src/ffi.ts create mode 100644 vendor/jsr.io/@db/sqlite/0.12.0/src/statement.ts create mode 100644 vendor/jsr.io/@db/sqlite/0.12.0/src/util.ts create mode 100644 vendor/jsr.io/@db/sqlite/0.12.0_meta.json create mode 100644 vendor/jsr.io/@db/sqlite/meta.json create mode 100644 vendor/jsr.io/@denosaurs/plug/1.0.6/download.ts create mode 100644 vendor/jsr.io/@denosaurs/plug/1.0.6/mod.ts create mode 100644 vendor/jsr.io/@denosaurs/plug/1.0.6/types.ts create mode 100644 vendor/jsr.io/@denosaurs/plug/1.0.6/util.ts create mode 100644 vendor/jsr.io/@denosaurs/plug/1.0.6_meta.json create mode 100644 vendor/jsr.io/@denosaurs/plug/meta.json create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0/src/compile-string.ts create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0/src/compile.ts create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0/src/config.ts create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0/src/core.ts create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0/src/err.ts create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0/src/file-handling.ts create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0/src/index.ts create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0/src/parse.ts create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0/src/render.ts create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0/src/storage.ts create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0/src/utils.ts create mode 100644 vendor/jsr.io/@eta-dev/eta/3.5.0_meta.json create mode 100644 vendor/jsr.io/@eta-dev/eta/meta.json create mode 100644 vendor/jsr.io/@felix/bcrypt/1.0.5/bindings/bindings.ts create mode 100644 vendor/jsr.io/@felix/bcrypt/1.0.5/helper.ts create mode 100644 vendor/jsr.io/@felix/bcrypt/1.0.5/mod.ts create mode 100644 vendor/jsr.io/@felix/bcrypt/1.0.5_meta.json create mode 100644 vendor/jsr.io/@felix/bcrypt/meta.json create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/mod.ts create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/deno.ts create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/esbuild_types.ts create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/loader_native.ts create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/loader_portable.ts create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/plugin_deno_loader.ts create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/plugin_deno_resolver.ts create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/shared.ts create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/loader.generated.d.ts create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/loader.generated.js create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/snippets/loader-ace679fc3fd6566c/fs.js create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1_meta.json create mode 100644 vendor/jsr.io/@luca/esbuild-deno-loader/meta.json create mode 100644 vendor/jsr.io/@std/assert/0.217.0/assert.ts create mode 100644 vendor/jsr.io/@std/assert/0.217.0/assertion_error.ts create mode 100644 vendor/jsr.io/@std/assert/0.217.0_meta.json create mode 100644 vendor/jsr.io/@std/assert/0.221.0/assert.ts create mode 100644 vendor/jsr.io/@std/assert/0.221.0/assertion_error.ts create mode 100644 vendor/jsr.io/@std/assert/0.221.0_meta.json create mode 100644 vendor/jsr.io/@std/assert/1.0.10/almost_equals.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/array_includes.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/assert.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/assertion_error.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/equal.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/equals.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/exists.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/fail.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/false.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/greater.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/greater_or_equal.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/instance_of.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/is_error.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/less.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/less_or_equal.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/match.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/mod.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/not_equals.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/not_instance_of.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/not_match.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/not_strict_equals.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/object_match.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/rejects.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/strict_equals.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/string_includes.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/throws.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/unimplemented.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/unreachable.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10/unstable_never.ts create mode 100644 vendor/jsr.io/@std/assert/1.0.10_meta.json create mode 100644 vendor/jsr.io/@std/assert/meta.json create mode 100644 vendor/jsr.io/@std/bytes/1.0.4/concat.ts create mode 100644 vendor/jsr.io/@std/bytes/1.0.4/copy.ts create mode 100644 vendor/jsr.io/@std/bytes/1.0.4/ends_with.ts create mode 100644 vendor/jsr.io/@std/bytes/1.0.4/equals.ts create mode 100644 vendor/jsr.io/@std/bytes/1.0.4/includes_needle.ts create mode 100644 vendor/jsr.io/@std/bytes/1.0.4/index_of_needle.ts create mode 100644 vendor/jsr.io/@std/bytes/1.0.4/last_index_of_needle.ts create mode 100644 vendor/jsr.io/@std/bytes/1.0.4/mod.ts create mode 100644 vendor/jsr.io/@std/bytes/1.0.4/repeat.ts create mode 100644 vendor/jsr.io/@std/bytes/1.0.4/starts_with.ts create mode 100644 vendor/jsr.io/@std/bytes/1.0.4_meta.json create mode 100644 vendor/jsr.io/@std/bytes/meta.json create mode 100644 vendor/jsr.io/@std/cli/1.0.10/parse_args.ts create mode 100644 vendor/jsr.io/@std/cli/1.0.10_meta.json create mode 100644 vendor/jsr.io/@std/cli/meta.json create mode 100644 vendor/jsr.io/@std/crypto/1.0.3/_wasm/lib/#deno_std_wasm_crypto_7822f.d.mts create mode 100644 vendor/jsr.io/@std/crypto/1.0.3/_wasm/lib/#deno_std_wasm_crypto_bc4f1.mjs create mode 100644 vendor/jsr.io/@std/crypto/1.0.3/_wasm/mod.ts create mode 100644 vendor/jsr.io/@std/crypto/1.0.3/crypto.ts create mode 100644 vendor/jsr.io/@std/crypto/1.0.3/mod.ts create mode 100644 vendor/jsr.io/@std/crypto/1.0.3/timing_safe_equal.ts create mode 100644 vendor/jsr.io/@std/crypto/1.0.3_meta.json create mode 100644 vendor/jsr.io/@std/crypto/meta.json create mode 100644 vendor/jsr.io/@std/dotenv/0.225.3/load.ts create mode 100644 vendor/jsr.io/@std/dotenv/0.225.3/mod.ts create mode 100644 vendor/jsr.io/@std/dotenv/0.225.3/parse.ts create mode 100644 vendor/jsr.io/@std/dotenv/0.225.3/stringify.ts create mode 100644 vendor/jsr.io/@std/dotenv/0.225.3_meta.json create mode 100644 vendor/jsr.io/@std/dotenv/meta.json create mode 100644 vendor/jsr.io/@std/encoding/0.221.0/_util.ts create mode 100644 vendor/jsr.io/@std/encoding/0.221.0/hex.ts create mode 100644 vendor/jsr.io/@std/encoding/0.221.0_meta.json create mode 100644 vendor/jsr.io/@std/encoding/1.0.6/_base32_common.ts create mode 100644 vendor/jsr.io/@std/encoding/1.0.6/_validate_binary_like.ts create mode 100644 vendor/jsr.io/@std/encoding/1.0.6/base32.ts create mode 100644 vendor/jsr.io/@std/encoding/1.0.6/base64.ts create mode 100644 vendor/jsr.io/@std/encoding/1.0.6/hex.ts create mode 100644 vendor/jsr.io/@std/encoding/1.0.6_meta.json create mode 100644 vendor/jsr.io/@std/encoding/meta.json create mode 100644 vendor/jsr.io/@std/fmt/0.221.0/colors.ts create mode 100644 vendor/jsr.io/@std/fmt/0.221.0_meta.json create mode 100644 vendor/jsr.io/@std/fmt/1.0.4/bytes.ts create mode 100644 vendor/jsr.io/@std/fmt/1.0.4/colors.ts create mode 100644 vendor/jsr.io/@std/fmt/1.0.4/duration.ts create mode 100644 vendor/jsr.io/@std/fmt/1.0.4/printf.ts create mode 100644 vendor/jsr.io/@std/fmt/1.0.4_meta.json create mode 100644 vendor/jsr.io/@std/fmt/meta.json create mode 100644 vendor/jsr.io/@std/fs/0.221.0/_create_walk_entry.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/_get_file_info_type.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/_is_same_path.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/_is_subdir.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/_to_path_string.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/copy.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/empty_dir.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/ensure_dir.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/ensure_file.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/ensure_link.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/ensure_symlink.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/eol.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/exists.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/expand_glob.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/mod.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/move.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0/walk.ts create mode 100644 vendor/jsr.io/@std/fs/0.221.0_meta.json create mode 100644 vendor/jsr.io/@std/fs/1.0.9/exists.ts create mode 100644 vendor/jsr.io/@std/fs/1.0.9_meta.json create mode 100644 vendor/jsr.io/@std/fs/meta.json create mode 100644 vendor/jsr.io/@std/html/1.0.3/entities.ts create mode 100644 vendor/jsr.io/@std/html/1.0.3_meta.json create mode 100644 vendor/jsr.io/@std/html/meta.json create mode 100644 vendor/jsr.io/@std/http/1.0.12/_negotiation/common.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/_negotiation/encoding.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/_negotiation/language.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/_negotiation/media_type.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/cookie.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/deno.json create mode 100644 vendor/jsr.io/@std/http/1.0.12/etag.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/file_server.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/mod.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/negotiation.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/server_sent_event_stream.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/status.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/unstable_header.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/unstable_method.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/unstable_route.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/unstable_signed_cookie.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12/user_agent.ts create mode 100644 vendor/jsr.io/@std/http/1.0.12_meta.json create mode 100644 vendor/jsr.io/@std/http/meta.json create mode 100644 vendor/jsr.io/@std/internal/1.0.5/build_message.ts create mode 100644 vendor/jsr.io/@std/internal/1.0.5/diff.ts create mode 100644 vendor/jsr.io/@std/internal/1.0.5/diff_str.ts create mode 100644 vendor/jsr.io/@std/internal/1.0.5/format.ts create mode 100644 vendor/jsr.io/@std/internal/1.0.5/styles.ts create mode 100644 vendor/jsr.io/@std/internal/1.0.5/types.ts create mode 100644 vendor/jsr.io/@std/internal/1.0.5_meta.json create mode 100644 vendor/jsr.io/@std/internal/meta.json create mode 100644 vendor/jsr.io/@std/io/0.225.0/write_all.ts create mode 100644 vendor/jsr.io/@std/io/0.225.0_meta.json create mode 100644 vendor/jsr.io/@std/io/meta.json create mode 100644 vendor/jsr.io/@std/log/0.224.13/_config.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/_file_handler_symbols.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/_state.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/base_handler.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/console_handler.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/critical.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/debug.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/error.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/file_handler.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/formatters.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/get_logger.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/info.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/levels.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/logger.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/mod.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/rotating_file_handler.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/setup.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13/warn.ts create mode 100644 vendor/jsr.io/@std/log/0.224.13_meta.json create mode 100644 vendor/jsr.io/@std/log/meta.json create mode 100644 vendor/jsr.io/@std/media-types/1.1.0/_db.ts create mode 100644 vendor/jsr.io/@std/media-types/1.1.0/_util.ts create mode 100644 vendor/jsr.io/@std/media-types/1.1.0/content_type.ts create mode 100644 vendor/jsr.io/@std/media-types/1.1.0/format_media_type.ts create mode 100644 vendor/jsr.io/@std/media-types/1.1.0/get_charset.ts create mode 100644 vendor/jsr.io/@std/media-types/1.1.0/parse_media_type.ts create mode 100644 vendor/jsr.io/@std/media-types/1.1.0/type_by_extension.ts create mode 100644 vendor/jsr.io/@std/media-types/1.1.0/vendor/db.ts create mode 100644 vendor/jsr.io/@std/media-types/1.1.0_meta.json create mode 100644 vendor/jsr.io/@std/media-types/meta.json create mode 100644 vendor/jsr.io/@std/net/1.0.4/#unstable_get_network_b61b7.ts create mode 100644 vendor/jsr.io/@std/net/1.0.4_meta.json create mode 100644 vendor/jsr.io/@std/net/meta.json create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/assert_path.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/basename.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/common.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/constants.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/dirname.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/format.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/glob_to_reg_exp.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/normalize.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/normalize_string.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/relative.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/strip_trailing_separators.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_common/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_interface.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/_os.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/basename.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/common.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/constants.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/dirname.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/extname.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/format.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/glob_to_regexp.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/is_absolute.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/is_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/join.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/join_globs.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/mod.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/normalize.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/normalize_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/parse.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/_util.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/basename.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/common.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/constants.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/dirname.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/extname.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/format.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/glob_to_regexp.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/is_absolute.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/is_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/join.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/join_globs.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/mod.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/normalize.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/normalize_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/parse.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/relative.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/resolve.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/posix/to_namespaced_path.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/relative.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/resolve.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/to_namespaced_path.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/_util.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/basename.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/common.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/constants.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/dirname.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/extname.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/format.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/glob_to_regexp.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/is_absolute.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/is_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/join.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/join_globs.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/mod.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/normalize.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/normalize_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/parse.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/relative.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/resolve.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0/windows/to_namespaced_path.ts create mode 100644 vendor/jsr.io/@std/path/0.217.0_meta.json create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/assert_path.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/basename.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/common.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/constants.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/dirname.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/format.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/glob_to_reg_exp.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/normalize.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/normalize_string.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/relative.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/strip_trailing_separators.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_common/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_interface.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/_os.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/basename.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/common.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/constants.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/dirname.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/extname.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/format.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/glob_to_regexp.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/is_absolute.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/is_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/join.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/join_globs.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/mod.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/normalize.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/normalize_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/parse.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/_util.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/basename.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/common.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/constants.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/dirname.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/extname.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/format.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/glob_to_regexp.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/is_absolute.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/is_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/join.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/join_globs.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/mod.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/normalize.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/normalize_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/parse.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/relative.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/resolve.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/posix/to_namespaced_path.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/relative.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/resolve.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/to_namespaced_path.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/_util.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/basename.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/common.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/constants.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/dirname.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/extname.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/format.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/glob_to_regexp.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/is_absolute.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/is_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/join.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/join_globs.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/mod.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/normalize.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/normalize_glob.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/parse.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/relative.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/resolve.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0/windows/to_namespaced_path.ts create mode 100644 vendor/jsr.io/@std/path/0.221.0_meta.json create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/assert_path.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/basename.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/common.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/constants.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/dirname.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/format.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/glob_to_reg_exp.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/normalize.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/normalize_string.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/relative.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/strip_trailing_separators.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_common/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/_os.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/basename.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/common.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/constants.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/dirname.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/extname.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/format.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/glob_to_regexp.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/is_absolute.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/is_glob.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/join.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/join_globs.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/mod.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/normalize.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/normalize_glob.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/parse.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/_util.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/basename.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/constants.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/dirname.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/extname.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/format.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/glob_to_regexp.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/is_absolute.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/join.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/join_globs.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/normalize.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/normalize_glob.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/parse.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/relative.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/resolve.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/posix/to_namespaced_path.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/relative.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/resolve.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/to_namespaced_path.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/types.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/_util.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/basename.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/constants.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/dirname.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/extname.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/format.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/from_file_url.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/glob_to_regexp.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/is_absolute.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/join.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/join_globs.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/normalize.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/normalize_glob.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/parse.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/relative.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/resolve.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/to_file_url.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8/windows/to_namespaced_path.ts create mode 100644 vendor/jsr.io/@std/path/1.0.8_meta.json create mode 100644 vendor/jsr.io/@std/path/meta.json create mode 100644 vendor/jsr.io/@std/streams/1.0.8/byte_slice_stream.ts create mode 100644 vendor/jsr.io/@std/streams/1.0.8_meta.json create mode 100644 vendor/jsr.io/@std/streams/meta.json create mode 100644 vendor/manifest.json create mode 100644 vendor/wilsonl.in/minify-html/deno/0.15.0/index.js diff --git a/deno.json b/deno.json index 5f84973..8b2a86f 100644 --- a/deno.json +++ b/deno.json @@ -1,27 +1,28 @@ { - "tasks": { - "dev": "deno run --watch main.ts" - }, - "imports": { - "@luca/esbuild-deno-loader": "jsr:@luca/esbuild-deno-loader@^0.11.1", - "@std/assert": "jsr:@std/assert@1", - "@shared/": "./shared/", - "esbuild": "npm:esbuild@^0.24.2", - "esbuild-plugin-tsc": "npm:esbuild-plugin-tsc@^0.4.0", - "fast-glob": "npm:fast-glob@^3.3.3", - "typescript": "npm:typescript@^5.7.3" - }, - "compilerOptions": { - "jsx": "precompile", - "jsxImportSource": "hono/jsx" - }, - "workspace": [ - "./client", - "./server", - "./shared" - ], - "fmt": { - "indentWidth": 4 - }, - "nodeModulesDir": "auto" + "tasks": { + "dev": "deno run --watch main.ts" + }, + "imports": { + "@luca/esbuild-deno-loader": "jsr:@luca/esbuild-deno-loader@^0.11.1", + "@std/assert": "jsr:@std/assert@1", + "@shared/": "./shared/", + "esbuild": "npm:esbuild@^0.24.2", + "esbuild-plugin-tsc": "npm:esbuild-plugin-tsc@^0.4.0", + "fast-glob": "npm:fast-glob@^3.3.3", + "typescript": "npm:typescript@^5.7.3" + }, + "compilerOptions": { + "jsx": "precompile", + "jsxImportSource": "hono/jsx" + }, + "workspace": [ + "./client", + "./server", + "./shared" + ], + "fmt": { + "indentWidth": 4 + }, + "nodeModulesDir": "auto", + "vendor": true } diff --git a/deno.lock b/deno.lock index 783207d..69bc4ff 100644 --- a/deno.lock +++ b/deno.lock @@ -36,18 +36,18 @@ "jsr:@std/path@^1.0.6": "1.0.8", "jsr:@std/path@^1.0.8": "1.0.8", "jsr:@std/streams@^1.0.8": "1.0.8", - "npm:@ryanflorence/sqlite-typegen@0.2": "0.2.0", + "npm:@minify-html/node-linux-x64@*": "0.15.0", + "npm:@minify-html/node-linux-x64@0.15": "0.15.0", + "npm:@minify-html/wasm@*": "0.15.0", "npm:@tauri-apps/api@2": "2.2.0", "npm:@tauri-apps/cli@2": "2.2.5", "npm:@tauri-apps/plugin-shell@2": "2.2.0", - "npm:better-sqlite3@^11.8.0": "11.8.1", "npm:esbuild-plugin-tsc@*": "0.4.0_typescript@5.7.3", "npm:esbuild-plugin-tsc@0.4": "0.4.0_typescript@5.7.3", "npm:esbuild@*": "0.24.2", "npm:esbuild@~0.24.2": "0.24.2", "npm:fast-glob@*": "3.3.3", "npm:fast-glob@^3.3.3": "3.3.3", - "npm:mariadb@^3.4.0": "3.4.0", "npm:typescript@^5.2.2": "5.7.3", "npm:typescript@^5.7.3": "5.7.3", "npm:vite@^5.3.1": "5.4.13" @@ -332,6 +332,12 @@ "@esbuild/win32-x64@0.24.2": { "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==" }, + "@minify-html/node-linux-x64@0.15.0": { + "integrity": "sha512-cO893EV6O9ZHUFX+2Yge546OCo/eCiatjzJDmUmrPP56fQ7pzTRquHs4ko3t8Rg6tMKG7RT49mBuF09JWPnrgg==" + }, + "@minify-html/wasm@0.15.0": { + "integrity": "sha512-xsd4FFypUayUNS4LvokyfiRQwYbyKVITnGHCaGsvlu36jZTYMSeQ7vn5LpEjW20Tbw7CYBQmD2JWCak/V+na5w==" + }, "@nodelib/fs.scandir@2.1.5": { "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dependencies": [ @@ -406,16 +412,6 @@ "@rollup/rollup-win32-x64-msvc@4.31.0": { "integrity": "sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==" }, - "@ryanflorence/sqlite-typegen@0.2.0": { - "integrity": "sha512-5zDtou8+wd0Qoz5COkX2Nf8JgrSFukjMZVEZdoXct2q5EmH1TcrQc1vjngniDNAKIMDQBZHSIaMEyvtDBtkpXA==", - "dependencies": [ - "arg", - "better-sqlite3@11.6.0", - "cli-highlight", - "picocolors", - "tiny-invariant" - ] - }, "@tauri-apps/api@2.2.0": { "integrity": "sha512-R8epOeZl1eJEl603aUMIGb4RXlhPjpgxbGVEaqY+0G5JG9vzV/clNlzTeqc+NLYXVqXcn8mb4c5b9pJIUDEyAg==" }, @@ -473,136 +469,12 @@ "@types/estree@1.0.6": { "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" }, - "@types/geojson@7946.0.15": { - "integrity": "sha512-9oSxFzDCT2Rj6DfcHF8G++jxBKS7mBqXl5xrRW+Kbvjry6Uduya2iiwqHPhVXpasAVMBYKkEPGgKhd3+/HZ6xA==" - }, - "@types/node@22.10.7": { - "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==", - "dependencies": [ - "undici-types" - ] - }, - "ansi-regex@5.0.1": { - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "ansi-styles@4.3.0": { - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": [ - "color-convert" - ] - }, - "any-promise@1.3.0": { - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "arg@5.0.2": { - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" - }, - "base64-js@1.5.1": { - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "better-sqlite3@11.6.0": { - "integrity": "sha512-2J6k/eVxcFYY2SsTxsXrj6XylzHWPxveCn4fKPKZFv/Vqn/Cd7lOuX4d7rGQXT5zL+97MkNL3nSbCrIoe3LkgA==", - "dependencies": [ - "bindings", - "prebuild-install" - ] - }, - "better-sqlite3@11.8.1": { - "integrity": "sha512-9BxNaBkblMjhJW8sMRZxnxVTRgbRmssZW0Oxc1MPBTfiR+WW21e2Mk4qu8CzrcZb1LwPCnFsfDEzq+SNcBU8eg==", - "dependencies": [ - "bindings", - "prebuild-install" - ] - }, - "bindings@1.5.0": { - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": [ - "file-uri-to-path" - ] - }, - "bl@4.1.0": { - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": [ - "buffer", - "inherits", - "readable-stream" - ] - }, "braces@3.0.3": { "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": [ "fill-range" ] }, - "buffer@5.7.1": { - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dependencies": [ - "base64-js", - "ieee754" - ] - }, - "chalk@4.1.2": { - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": [ - "ansi-styles", - "supports-color" - ] - }, - "chownr@1.1.4": { - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "cli-highlight@2.1.11": { - "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", - "dependencies": [ - "chalk", - "highlight.js", - "mz", - "parse5@5.1.1", - "parse5-htmlparser2-tree-adapter", - "yargs" - ] - }, - "cliui@7.0.4": { - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": [ - "string-width", - "strip-ansi", - "wrap-ansi" - ] - }, - "color-convert@2.0.1": { - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": [ - "color-name" - ] - }, - "color-name@1.1.4": { - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "decompress-response@6.0.0": { - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": [ - "mimic-response" - ] - }, - "deep-extend@0.6.0": { - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "denque@2.1.0": { - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==" - }, - "detect-libc@2.0.3": { - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==" - }, - "emoji-regex@8.0.0": { - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "end-of-stream@1.4.4": { - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": [ - "once" - ] - }, "esbuild-plugin-tsc@0.4.0_typescript@5.7.3": { "integrity": "sha512-q9gWIovt1nkwchMLc2zhyksaiHOv3kDK4b0AUol8lkMCRhJ1zavgfb2fad6BKp7FT9rh/OHmEBXVjczLoi/0yw==", "dependencies": [ @@ -668,12 +540,6 @@ "@esbuild/win32-x64@0.24.2" ] }, - "escalade@3.2.0": { - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" - }, - "expand-template@2.0.3": { - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" - }, "fast-glob@3.3.3": { "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dependencies": [ @@ -690,60 +556,24 @@ "reusify" ] }, - "file-uri-to-path@1.0.0": { - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, "fill-range@7.1.1": { "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": [ "to-regex-range" ] }, - "fs-constants@1.0.0": { - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, "fsevents@2.3.3": { "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" }, - "get-caller-file@2.0.5": { - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "github-from-package@0.0.0": { - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, "glob-parent@5.1.2": { "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": [ "is-glob" ] }, - "has-flag@4.0.0": { - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "highlight.js@10.7.3": { - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" - }, - "iconv-lite@0.6.3": { - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": [ - "safer-buffer" - ] - }, - "ieee754@1.2.1": { - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "inherits@2.0.4": { - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini@1.3.8": { - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, "is-extglob@2.1.1": { "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, - "is-fullwidth-code-point@3.0.0": { - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, "is-glob@4.0.3": { "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": [ @@ -753,19 +583,6 @@ "is-number@7.0.0": { "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "lru-cache@10.4.3": { - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" - }, - "mariadb@3.4.0": { - "integrity": "sha512-hdRPcAzs+MTxK5VG1thBW18gGTlw6yWBe9YnLB65GLo7q0fO5DWsgomIevV/pXSaWRmD3qi6ka4oSFRTExRiEQ==", - "dependencies": [ - "@types/geojson", - "@types/node", - "denque", - "iconv-lite", - "lru-cache" - ] - }, "merge2@1.4.1": { "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, @@ -776,56 +593,9 @@ "picomatch" ] }, - "mimic-response@3.1.0": { - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" - }, - "minimist@1.2.8": { - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - }, - "mkdirp-classic@0.5.3": { - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "mz@2.7.0": { - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dependencies": [ - "any-promise", - "object-assign", - "thenify-all" - ] - }, "nanoid@3.3.8": { "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==" }, - "napi-build-utils@1.0.2": { - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "node-abi@3.73.0": { - "integrity": "sha512-z8iYzQGBu35ZkTQ9mtR8RqugJZ9RCLn8fv3d7LsgDBzOijGQP3RdKTX4LA7LXw03ZhU5z0l4xfhIMgSES31+cg==", - "dependencies": [ - "semver" - ] - }, - "object-assign@4.1.1": { - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "once@1.4.0": { - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": [ - "wrappy" - ] - }, - "parse5-htmlparser2-tree-adapter@6.0.1": { - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dependencies": [ - "parse5@6.0.1" - ] - }, - "parse5@5.1.1": { - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - }, - "parse5@6.0.1": { - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, "picocolors@1.1.1": { "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, @@ -840,53 +610,9 @@ "source-map-js" ] }, - "prebuild-install@7.1.2": { - "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", - "dependencies": [ - "detect-libc", - "expand-template", - "github-from-package", - "minimist", - "mkdirp-classic", - "napi-build-utils", - "node-abi", - "pump", - "rc", - "simple-get", - "tar-fs", - "tunnel-agent" - ] - }, - "pump@3.0.2": { - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", - "dependencies": [ - "end-of-stream", - "once" - ] - }, "queue-microtask@1.2.3": { "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, - "rc@1.2.8": { - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": [ - "deep-extend", - "ini", - "minimist", - "strip-json-comments" - ] - }, - "readable-stream@3.6.2": { - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": [ - "inherits", - "string_decoder", - "util-deprecate" - ] - }, - "require-directory@2.1.1": { - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - }, "reusify@1.0.4": { "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" }, @@ -922,116 +648,21 @@ "queue-microtask" ] }, - "safe-buffer@5.2.1": { - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safer-buffer@2.1.2": { - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "semver@7.6.3": { - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==" - }, - "simple-concat@1.0.1": { - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" - }, - "simple-get@4.0.1": { - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "dependencies": [ - "decompress-response", - "once", - "simple-concat" - ] - }, "source-map-js@1.2.1": { "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" }, - "string-width@4.2.3": { - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": [ - "emoji-regex", - "is-fullwidth-code-point", - "strip-ansi" - ] - }, - "string_decoder@1.3.0": { - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": [ - "safe-buffer" - ] - }, - "strip-ansi@6.0.1": { - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": [ - "ansi-regex" - ] - }, "strip-comments@2.0.1": { "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==" }, - "strip-json-comments@2.0.1": { - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" - }, - "supports-color@7.2.0": { - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": [ - "has-flag" - ] - }, - "tar-fs@2.1.2": { - "integrity": "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==", - "dependencies": [ - "chownr", - "mkdirp-classic", - "pump", - "tar-stream" - ] - }, - "tar-stream@2.2.0": { - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": [ - "bl", - "end-of-stream", - "fs-constants", - "inherits", - "readable-stream" - ] - }, - "thenify-all@1.6.0": { - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dependencies": [ - "thenify" - ] - }, - "thenify@3.3.1": { - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dependencies": [ - "any-promise" - ] - }, - "tiny-invariant@1.3.3": { - "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" - }, "to-regex-range@5.0.1": { "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": [ "is-number" ] }, - "tunnel-agent@0.6.0": { - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": [ - "safe-buffer" - ] - }, "typescript@5.7.3": { "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==" }, - "undici-types@6.20.0": { - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==" - }, - "util-deprecate@1.0.2": { - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, "vite@5.4.13": { "integrity": "sha512-7zp3N4YSjXOSAFfdBe9pPD3FrO398QlJ/5QpFGm3L8xDP1IxDn1XRxArPw4ZKk5394MM8rcTVPY4y1Hvo62bog==", "dependencies": [ @@ -1040,37 +671,23 @@ "postcss", "rollup" ] - }, - "wrap-ansi@7.0.0": { - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": [ - "ansi-styles", - "string-width", - "strip-ansi" - ] - }, - "wrappy@1.0.2": { - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - }, - "y18n@5.0.8": { - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yargs-parser@20.2.9": { - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" - }, - "yargs@16.2.0": { - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": [ - "cliui", - "escalade", - "get-caller-file", - "require-directory", - "string-width", - "y18n", - "yargs-parser" - ] } }, + "remote": { + "https://deno.land/std@0.203.0/assert/assert.ts": "9a97dad6d98c238938e7540736b826440ad8c1c1e54430ca4c4e623e585607ee", + "https://deno.land/std@0.203.0/assert/assertion_error.ts": "4d0bde9b374dfbcbe8ac23f54f567b77024fb67dbb1906a852d67fe050d42f56", + "https://deno.land/std@0.203.0/async/abortable.ts": "fd682fa46f3b7b16b4606a5ab52a7ce309434b76f820d3221bdfb862719a15d7", + "https://deno.land/std@0.203.0/async/deadline.ts": "58f72a3cc0fcb731b2cc055ba046f4b5be3349ff6bf98f2e793c3b969354aab2", + "https://deno.land/std@0.203.0/async/debounce.ts": "adab11d04ca38d699444ac8a9d9856b4155e8dda2afd07ce78276c01ea5a4332", + "https://deno.land/std@0.203.0/async/deferred.ts": "42790112f36a75a57db4a96d33974a936deb7b04d25c6084a9fa8a49f135def8", + "https://deno.land/std@0.203.0/async/delay.ts": "a6142eb44cdd856b645086af2b811b1fcce08ec06bb7d50969e6a872ee9b8659", + "https://deno.land/std@0.203.0/async/mod.ts": "f04344fa21738e5ad6bea37a6bfffd57c617c2d372bb9f9dcfd118a1b622e576", + "https://deno.land/std@0.203.0/async/mux_async_iterator.ts": "70c7f2ee4e9466161350473ad61cac0b9f115cff4c552eaa7ef9d50c4cbb4cc9", + "https://deno.land/std@0.203.0/async/pool.ts": "47c1841cfa9c036144943d11747ddd44064f5baf8cb7ece25473ba873c6aceb0", + "https://deno.land/std@0.203.0/async/retry.ts": "296fb9c323e1325a69bee14ba947e7da7409a8dd9dd646d70cb51ea0d301f24e", + "https://deno.land/std@0.203.0/async/tee.ts": "47e42d35f622650b02234d43803d0383a89eb4387e1b83b5a40106d18ae36757", + "https://wilsonl.in/minify-html/deno/0.15.0/index.js": "8e7ee5067ca84fb5d5a1f33118cac4998de0b7d80b3f56cc5c6728b84e6bfb70" + }, "workspace": { "dependencies": [ "jsr:@luca/esbuild-deno-loader@~0.11.1", @@ -1101,10 +718,8 @@ "jsr:@std/crypto@^1.0.3", "jsr:@std/dotenv@~0.225.3", "jsr:@std/http@^1.0.12", - "npm:@ryanflorence/sqlite-typegen@0.2", - "npm:better-sqlite3@^11.8.0", - "npm:esbuild@~0.24.2", - "npm:mariadb@^3.4.0" + "npm:@minify-html/node-linux-x64@0.15", + "npm:esbuild@~0.24.2" ] }, "shared": { diff --git a/server/main.ts b/server/main.ts index e601cb2..ac48100 100644 --- a/server/main.ts +++ b/server/main.ts @@ -6,6 +6,7 @@ import authMiddleware from "@src/middleware/auth.ts"; import { ok, ResultFromJSON } from "@shared/utils/result.ts"; import { ResultResponseFromJSON } from "@src/lib/context.ts"; import admin from "@src/lib/admin.ts"; +import UsbipManager from "@shared/utils/usbip.ts"; const router = new HttpRouter(); diff --git a/server/src/lib/admin.ts b/server/src/lib/admin.ts index e4c221f..2980399 100644 --- a/server/src/lib/admin.ts +++ b/server/src/lib/admin.ts @@ -5,6 +5,7 @@ import { AdminPasswordNotSetError, QueryExecutionError } from "@lib/errors.ts"; import { AdminRaw, AdminSessionRaw } from "@lib/db/types/index.ts"; import { generateRandomString, passwd } from "@lib/utils.ts"; import { errAsync, ResultAsync } from "@shared/utils/resultasync.ts"; +import log from "@shared/utils/logger.ts"; const TOKEN_LENGTH = 128; const EXPIRED_TOKENS_DELETION_INTERVAL = 120 * 60 * 1000; @@ -49,7 +50,12 @@ class Admin { password: string, ): ResultAsync { const result = this.getPasswordHash().flattenOption( - () => new AdminPasswordNotSetError("Admin password is not set"), + () => { + log.warn("Tried to verify password when it is not set"); + return new AdminPasswordNotSetError( + "Admin password is not set", + ); + }, ); if (result.isErr()) { @@ -75,8 +81,7 @@ class Admin { this.statements.insertPasswordHash(hash); this.passwordHash = hash; }, - ) - .toAsync(), + ), ); } @@ -121,8 +126,7 @@ class AdminSessions { ); } }, - (error) => - console.error(`failed to clear expired tokens: ${error}`), + () => log.error("Failed to clear expired tokens!"), ); }, EXPIRED_TOKENS_DELETION_INTERVAL); } diff --git a/server/src/lib/context.ts b/server/src/lib/context.ts index 24b79d6..6b22f3e 100644 --- a/server/src/lib/context.ts +++ b/server/src/lib/context.ts @@ -42,6 +42,7 @@ export class Context { private _port?: number; private _cookies?: Record; private _responseHeaders: Headers = new Headers(); + public res: Response = new Response(); constructor( public readonly req: Request, diff --git a/server/src/lib/db/dbWrapper.ts b/server/src/lib/db/dbWrapper.ts index 393433f..d3a8827 100644 --- a/server/src/lib/db/dbWrapper.ts +++ b/server/src/lib/db/dbWrapper.ts @@ -2,6 +2,7 @@ import { Database, RestBindParameters } from "@db/sqlite"; import { err, getMessageFromError, ok, Result } from "@shared/utils/result.ts"; import { QueryExecutionError } from "@lib/errors.ts"; import { fromNullableVal, none, Option, some } from "@shared/utils/option.ts"; +import log from "@shared/utils/logger.ts"; export class DatabaseClient { constructor(private readonly db: Database) {} @@ -11,6 +12,7 @@ export class DatabaseClient { return ok(fn()); } catch (e) { const message = getMessageFromError(e); + log.error(`Failed to execute sql! Error: ${e}`); return err(new QueryExecutionError(message)); } } diff --git a/server/src/lib/db/migrations.ts b/server/src/lib/db/migrations.ts index 93f95a5..c1890f9 100644 --- a/server/src/lib/db/migrations.ts +++ b/server/src/lib/db/migrations.ts @@ -1,4 +1,5 @@ import { Database } from "jsr:@db/sqlite"; +import log from "@shared/utils/logger.ts"; const MIGRATION_TABLE = "_keyborgMigrations"; @@ -39,7 +40,7 @@ export class MigrationManager { public init() { if (!this.doesMigrationTableExist()) { if (this.hasExistingTables()) { - console.error( + log.critical( "Attempting to initialize migrations on a non-empty database.", ); Deno.exit(1); @@ -49,7 +50,7 @@ export class MigrationManager { } if (!this.areMigrationsSequential()) { - console.error("Migrations are not applied in sequential order!"); + log.critical("Migrations are not applied in sequential order!"); Deno.exit(1); } this.applyPendingMigrations(); @@ -182,7 +183,9 @@ export class MigrationManager { try { this.db.exec(sql, params); } catch (e) { - console.error(e); + log.critical( + `Failed to execute sql while applying migrations! Error: ${e}`, + ); Deno.exit(1); } } @@ -194,7 +197,9 @@ export class MigrationManager { try { return this.db.prepare(sql).all(params); } catch (e) { - console.error(e); + log.critical( + `Failed to execute sql while applying migrations! Error: ${e}`, + ); Deno.exit(1); } } @@ -206,7 +211,9 @@ export class MigrationManager { try { return this.db.prepare(sql).get(params); } catch (e) { - console.error(e); + log.critical( + `Failed to execute sql while applying migrations! Error: ${e}`, + ); Deno.exit(1); } } diff --git a/server/src/lib/router.ts b/server/src/lib/router.ts index 5f7480b..6ea4312 100644 --- a/server/src/lib/router.ts +++ b/server/src/lib/router.ts @@ -5,10 +5,9 @@ import { Context } from "@lib/context.ts"; type RequestHandler = ( c: Context, ) => Promise | Response; - export type Middleware = ( c: Context, - next: () => Promise, + next: () => Promise, ) => Promise | Response | undefined; type MethodHandlers = Partial< @@ -100,12 +99,8 @@ class HttpRouter { ): Promise { const c = new Context(req, connInfo, {}); - for (const mw of this.middlewareChain) { - const res = await mw(c); - if (res) { - return res; - } - } + let i = 0; + const mw = this.middlewareChain[i++]; const path = this.pathPreprocessor ? this.pathPreprocessor(c.path) diff --git a/server/src/lib/usbip.ts b/server/src/lib/usbip.ts new file mode 100644 index 0000000..70c29a8 --- /dev/null +++ b/server/src/lib/usbip.ts @@ -0,0 +1,5 @@ +import UsbipManager from "@shared/utils/usbip.ts"; + +const usbip = new UsbipManager(); + +export default usbip; diff --git a/server/src/middleware/rateLimiter.ts b/server/src/middleware/rateLimiter.ts index 3f3aacd..fe9cf72 100644 --- a/server/src/middleware/rateLimiter.ts +++ b/server/src/middleware/rateLimiter.ts @@ -1,4 +1,5 @@ import { Middleware } from "@lib/router.ts"; +import log from "@shared/utils/logger.ts"; const requestCounts: Partial< Record @@ -27,6 +28,7 @@ const rateLimitMiddleware: Middleware = (c) => { } if (c.preferredType.isSome()) { + log.info(`client ${hostname} is rate limeted`); switch (c.preferredType.value) { case "html": { return c.html("429 Too Many Requests", { diff --git a/server/test.tex b/server/test.tex new file mode 100644 index 0000000..92b063a --- /dev/null +++ b/server/test.tex @@ -0,0 +1,3 @@ +quantile + +quntile diff --git a/shared/utils/' b/shared/utils/' new file mode 100644 index 0000000..11fd588 --- /dev/null +++ b/shared/utils/' @@ -0,0 +1,29 @@ +const shellCmd = new Deno.Command("/bin/sh", { + stdin: "piped", + stdout: "piped", + stderr: "piped", +}); + +const shell = shellCmd.spawn(); + +const writer = shell.stdin.getWriter(); +const stdoutR = shell.stdout.pipeThrough(new TextDecoderStream()).getReader(); +const stderrR = shell.stderr.pipeThrough(new TextDecoderStream()).getReader(); + +const encode = new TextEncoder(); +// +//await writer.write(encode.encode("usbip list -l\n")); +// +//const value = await stdoutR.read(); +// +//await stdoutR.cancel(); +// +//console.log(value); + +await writer.write(encode.encode("usbip port\n")); + +while (true) { + const { value, done } = stderrR.read(); +} + +shell.kill("SIGTERM"); diff --git a/shared/utils/2 b/shared/utils/2 new file mode 100644 index 0000000..6017f91 --- /dev/null +++ b/shared/utils/2 @@ -0,0 +1 @@ +error_ diff --git a/shared/utils/2usbip b/shared/utils/2usbip new file mode 100644 index 0000000..f867e1e --- /dev/null +++ b/shared/utils/2usbip @@ -0,0 +1,2 @@ + + 1 list -l diff --git a/shared/utils/logger.ts b/shared/utils/logger.ts index 1721d17..38a5890 100644 --- a/shared/utils/logger.ts +++ b/shared/utils/logger.ts @@ -1,16 +1,16 @@ import * as logger from "jsr:@std/log"; logger.setup({ - handlers: { - console: new logger.ConsoleHandler("DEBUG"), - }, - - loggers: { - default: { - level: "INFO", - handlers: ["console"], + handlers: { + console: new logger.ConsoleHandler("DEBUG"), + }, + + loggers: { + default: { + level: "INFO", + handlers: ["console"], + }, }, - }, }); const log = logger.getLogger("default"); diff --git a/shared/utils/result.ts b/shared/utils/result.ts index d4bf14e..b85b4b0 100644 --- a/shared/utils/result.ts +++ b/shared/utils/result.ts @@ -2,6 +2,8 @@ import { some } from "@shared/utils/option.ts"; import { None, type Option, Some } from "@shared/utils/option.ts"; import { errAsync, okAsync, ResultAsync } from "@shared/utils/resultasync.ts"; +type ResultJSON = { tag: "ok"; value: T } | { tag: "err"; error: E }; + //#region Ok, Err and Result interface IResult { isOk(): this is Ok; @@ -14,8 +16,11 @@ interface IResult { unwrapOrElse(fn: () => U): T | U; match(ok: (value: T) => A, err: (error: E) => B): A | B; map(fn: (value: T) => U): Result; + mapAsync(fn: (value: T) => Promise): ResultAsync; mapErr(fn: (err: E) => U): Result; + mapErrAsync(fn: (err: E) => Promise): ResultAsync; andThen(fn: (value: T) => Result): Result; + andThenAsync(fn: (value: T) => ResultAsync): ResultAsync; flatten(): FlattenResult>; flattenOption(errFn: () => U): Result, U | E>; flattenOptionOr>( @@ -29,6 +34,8 @@ interface IResult { toNullable(): T | null; toAsync(): ResultAsync; void(): Result; + + toJSON(): ResultJSON; } export class Ok implements IResult { @@ -93,6 +100,10 @@ export class Ok implements IResult { return new Ok(mappedValue); } + mapAsync(fn: (value: T) => Promise): ResultAsync { + return ResultAsync.fromSafePromise(fn(this.value)); + } + mapOption(fn: (value: UnwrapOption) => U): Result, E> { if (this.value instanceof None || this.value instanceof Some) { return ok(this.value.map(fn)); @@ -104,10 +115,18 @@ export class Ok implements IResult { return fn(this.value) as Result; } + andThenAsync(fn: (value: T) => ResultAsync): ResultAsync { + return fn(this.value); + } + mapErr(fn: (err: E) => U): Result { return new Ok(this.value); } + mapErrAsync(fn: (err: E) => Promise): ResultAsync { + return okAsync(this.value); + } + flatten(): FlattenResult> { return flattenResult(this); } @@ -149,6 +168,13 @@ export class Ok implements IResult { void(): Result { return ok(); } + + toJSON(): ResultJSON { + return { + tag: "ok", + value: this.value, + }; + } } export class Err implements IResult { @@ -199,10 +225,23 @@ export class Err implements IResult { map(fn: (value: T) => U): Result { return new Err(this.error); } + mapAsync(fn: (value: T) => Promise): ResultAsync { + return errAsync(this.error); + } mapErr(fn: (err: E) => U): Result { const mappedError = fn(this.error); return new Err(mappedError); } + mapErrAsync(fn: (err: E) => Promise): ResultAsync { + return ResultAsync.fromPromise( + new Promise(() => { + throw ""; + }), + () => { + return fn(this.error); + }, + ); + } mapOption(fn: (value: UnwrapOption) => U): Result, E> { return err(this.error); } @@ -236,6 +275,12 @@ export class Err implements IResult { void(): Result { return err(this.error); } + toJSON(): { tag: "ok"; value: T } | { tag: "err"; error: E } { + return { + tag: "err", + error: this.error, + }; + } } export type Result = Ok | Err; @@ -314,20 +359,6 @@ export function flattenResult>( return currentResult as FlattenResult; } -export function ResultFromJSON( - str: string, -): Result { - const result: { value: T } | { error: E } = JSON.parse(str); - - if (obj.value) { - return ok(obj.value); - } - - if (obj.error) { - return err(obj.error); - } -} - export type UnwrapOption = T extends Option ? V : T; export type FlattenResult = R extends Result @@ -337,3 +368,59 @@ export type FlattenResult = R extends Result : never : R : never; + +class FailedToParseResult extends Error { + constructor(json: string) { + super(`Failed to parse ${json} as result`); + } +} + +export function ResultFromJSON( + input: string | unknown, +): Result { + let data: unknown; + + if (typeof input === "string") { + try { + data = JSON.parse(input); + } catch (e) { + return err( + new FailedToParseResult(getMessageFromError(e)), + ); + } + } else { + data = input; + } + + if (typeof data !== "object" || data === null) { + return err( + new FailedToParseResult( + "Expected an object but received type ${typeof data}.", + ), + ); + } + + const resultObj = data as ResultJSON; + if ("tag" in resultObj) { + switch (resultObj.tag) { + case "ok": { + if ("value" in resultObj) { + return ok(resultObj.value as T); + } + break; + } + case "err": { + if ("error" in resultObj) { + return err(resultObj.error as E); + } + break; + } + } + } + + return err( + new FailedToParseResult( + "Object does not contain 'tag' and 'value' or 'error' property", + ), + ); +} diff --git a/shared/utils/resultasync.ts b/shared/utils/resultasync.ts index 77fed31..7530fe6 100644 --- a/shared/utils/resultasync.ts +++ b/shared/utils/resultasync.ts @@ -1,11 +1,11 @@ import { Err, - type UnwrapOption, + FlattenResult, Ok, type Result, - FlattenResult, + type UnwrapOption, } from "@shared/utils/result.ts"; -import { none, None, Option, some, Some } from "@shared/utils/option.ts"; +import { None, none, Option, Some, some } from "@shared/utils/option.ts"; export class ResultAsync implements PromiseLike> { constructor(private readonly _promise: Promise>) { @@ -37,22 +37,33 @@ export class ResultAsync implements PromiseLike> { return new ResultAsync(promiseOfResult); } - static fromThrowable any, E>( + static fromThrowable< + Fn extends (...args: readonly any[]) => Promise, + Em extends ErrorMapper, + >( fn: Fn, - errorMapper?: (e: unknown) => E, - ): (...args: Parameters) => ResultAsync, E> { - return (...args: Parameters): ResultAsync, E> => { - try { - return okAsync(fn(args)); - } catch (e) { - return errAsync(errorMapper ? errorMapper(e) : e); - } + errorMapper?: Em, + ): ( + ...args: Parameters + ) => ResultAsync< + UnwrapPromise>, + ExtractErrorFromMapper + > { + return ( + ...args: Parameters + ): ResultAsync< + UnwrapPromise>, + ExtractErrorFromMapper + > => { + return ResultAsync.fromPromise( + fn(args), + (e) => errorMapper ? errorMapper(e) : e, + ); }; } async unwrap(): Promise { const result = await this._promise; - if (result.isErr()) { throw result.error; } @@ -124,7 +135,23 @@ export class ResultAsync implements PromiseLike> { ); } - andThen(fn: (value: T) => ResultAsync): ResultAsync { + andThen(fn: (value: T) => Result): ResultAsync { + return new ResultAsync( + this._promise.then( + (result: Result): ResultAsync => { + if (result.isErr()) { + return errAsync(result.error); + } + + return fn(result.value).toAsync() as ResultAsync; + }, + ), + ); + } + + andThenAsync( + fn: (value: T) => ResultAsync, + ): ResultAsync { return new ResultAsync( this._promise.then( (result: Result): ResultAsync => { @@ -227,11 +254,19 @@ export function errAsync(err: E): ResultAsync { return new ResultAsync(Promise.resolve(new Err(err))); } -export type FlattenResultAsync = - R extends ResultAsync - ? T extends ResultAsync - ? FlattenResultAsync extends ResultAsync - ? ResultAsync - : never - : R - : never; +export type FlattenResultAsync = R extends ResultAsync + ? T extends ResultAsync + ? FlattenResultAsync extends ResultAsync + ? ResultAsync + : never + : R + : never; + +type UnwrapPromise> = Pr extends Promise + ? U + : never; + +type ErrorMapper = ((e: unknown) => E) | undefined; + +type ExtractErrorFromMapper> = Em extends + (e: unknown) => infer E ? E : unknown; diff --git a/shared/utils/usbip.ts b/shared/utils/usbip.ts new file mode 100644 index 0000000..6122202 --- /dev/null +++ b/shared/utils/usbip.ts @@ -0,0 +1,283 @@ +import { okAsync, ResultAsync } from "@shared/utils/resultasync.ts"; +import { err, getMessageFromError, ok } from "@shared/utils/result.ts"; +import { errAsync } from "@shared/utils/index.ts"; +import log from "@shared/utils/logger.ts"; +import { + fromNullableVal, + none, + type Option, + some, +} from "@shared/utils/option.ts"; + +class CommandExecutionError extends Error { + code = "CommandExecutionError"; + constructor(msg: string) { + super(msg); + } +} + +class DeviceDoesNotExistError extends Error { + code = "DeviceDoesNotExist"; + constructor(msg: string) { + super(msg); + } +} + +class DeviceAlreadyBoundError extends Error { + code = "DeviceAlreadyBound"; + constructor(msg: string) { + super(msg); + } +} + +class DeviceNotBound extends Error { + code = "DeviceNotBound"; + constructor(msg: string) { + super(msg); + } +} + +class UsbipUknownError extends Error { + code = "UsbipUknownError"; + constructor(msg: string) { + super(msg); + } +} + +type UsbipCommonError = DeviceDoesNotExistError | UsbipUknownError; + +class UsbipManager { + private readonly listDeatiledCmd = new Deno.Command("usbip", { + args: ["list", "-l"], + }); + private readonly listParsableCmd = new Deno.Command("usbip", { + args: ["list", "-pl"], + }); + private readonly decoder = new TextDecoder(); + + private readonly usbidRegex = /[0-9abcdef]{4}:[0-9abcdef]{4}/; + private readonly busidRegex = + /(?:[0-9]+(?:\.[0-9]+)*-)*[0-9]+(?:\.[0-9]+)*/; + + private executeCommand( + cmd: Deno.Command, + ): ResultAsync { + const promise = cmd.output(); + + return ResultAsync.fromPromise( + promise, + (e) => new CommandExecutionError(getMessageFromError(e)), + ) + .map(({ stdout, stderr, code }) => + new CommandOutput( + this.decoder.decode(stdout).trim(), + this.decoder.decode(stderr).trim(), + code, + ) + ); + } + + private handleCommonErrors(stderr: string): UsbipCommonError { + if ( + stderr.includes("device with the specified bus ID does not exist") + ) { + return new DeviceDoesNotExistError(stderr); + } + + return new UsbipUknownError(stderr); + } + + private parseDetailedList(stdout: string): Option { + const devices: DeviceDetailed[] = []; + + const deviceEntries = stdout.trim().split("\n\n"); + + for (const deviceEntry of deviceEntries) { + const busid = deviceEntry.match(this.busidRegex)?.shift(); + + if (!busid) { + log.error( + `Failed to parse busid of a device:\n ${deviceEntry}`, + ); + continue; + } + + const usbid = fromNullableVal( + deviceEntry.match(this.usbidRegex)?.shift(), + ); + + const [_, line2] = deviceEntry.split("\n"); + + const [vendorVal, nameVal] = line2 + ? line2.split(" : ").map((s) => s.trim()) + : [undefined, undefined]; + + const vendor = fromNullableVal(vendorVal); + const name = nameVal + ? some( + nameVal.replace( + usbid.isSome() ? usbid.value : this.usbidRegex, + "", + ).replace("()", "") + .trim(), + ) + : none; + + [["usbid", usbid], ["vendor", vendor], ["name", name]].filter((v) => + (v[1] as Option).isNone() + ).map((v) => log.warn(`Failed to parse ${v[0]}:\n ${deviceEntry}`)); + + devices.push({ + busid, + usbid, + vendor, + name, + }); + } + + return devices.length > 0 ? some(devices) : none; + } + + public getDevicesDetailed(): ResultAsync< + Option, + CommandExecutionError | UsbipUknownError + > { + return this.executeCommand(this.listDeatiledCmd).andThen( + ({ stdout, stderr, success }) => { + if (success) { + if (stderr) { + log.warn( + `usbip list -l succeeded but encountered an error: ${stderr}`, + ); + } + return ok(this.parseDetailedList(stdout)); + } + + return err(new UsbipUknownError(stderr)); + }, + ); + } + + private parseParsableList(stdout: string): Option { + const devices: Device[] = []; + + const devicesEntries = stdout.trim().split("\n"); + + for (const deviceEntry of devicesEntries) { + const [busid, usbid] = deviceEntry + .slice(0, -1) + .split("#") + .map((v) => v.split("=")[1].trim() || undefined); + + if (!busid) { + log.error( + `Failed to parse busid of a device:\n ${deviceEntry}`, + ); + continue; + } + + if (!usbid) { + log.warn( + `Failed to parse usbid of a device:\n ${deviceEntry}`, + ); + } + + devices.push({ + busid, + usbid: fromNullableVal(usbid), + }); + } + + return devices.length > 0 ? some(devices) : none; + } + + public getDevices(): ResultAsync< + Option, + CommandExecutionError | UsbipUknownError + > { + return this.executeCommand(this.listParsableCmd).andThenAsync( + ({ stdout, stderr, success }) => { + if (success) { + if (stderr) { + log.warn( + `usbip list -lp succeeded but encountered an error: ${stderr}`, + ); + } + return okAsync(this.parseParsableList(stdout)); + } + return errAsync(new UsbipUknownError(stderr)); + }, + ); + } + + public bindDevice( + busid: string, + ): ResultAsync< + string, + UsbipCommonError | DeviceAlreadyBoundError | CommandExecutionError + > { + const cmd = new Deno.Command("usbip", { args: ["bind", "-b", busid] }); + + return this.executeCommand(cmd).andThen( + ({ stderr, success }) => { + if (success) { + return ok(stderr.trim() || "Device bound successfully"); + } + + if (stderr.includes("is already bound to usbip-host")) { + return err(new DeviceAlreadyBoundError(stderr)); + } + + return err(this.handleCommonErrors(stderr)); + }, + ); + } + + public unbindDevice( + busid: string, + ): ResultAsync< + string, + CommandExecutionError | DeviceNotBound | UsbipCommonError + > { + const cmd = new Deno.Command("usbip", { + args: ["unbind", "-b", busid], + }); + + return this.executeCommand(cmd).andThen(({ stderr, success }) => { + if (success) { + return ok(stderr.trim() || "Device unbound successfully"); + } + + if (stderr.includes("device is not bound to usbip-host driver")) { + return err(new DeviceNotBound(stderr)); + } + + return err(this.handleCommonErrors(stderr)); + }); + } +} + +class CommandOutput { + constructor( + public readonly stdout: string, + public readonly stderr: string, + public readonly code: number, + ) {} + get success(): boolean { + return this.code === 0; + } +} + +interface DeviceDetailed { + busid: string; + usbid: Option; + vendor: Option; + name: Option; +} + +interface Device { + busid: string; + usbid: Option; +} + +export default UsbipManager; diff --git a/shared/utils/usbipTest.ts b/shared/utils/usbipTest.ts new file mode 100644 index 0000000..5652ebb --- /dev/null +++ b/shared/utils/usbipTest.ts @@ -0,0 +1,107 @@ +import { ResultAsync } from "@shared/utils/resultasync.ts"; +import { getMessageFromError } from "@shared/utils/result.ts"; + +const shellCmd = new Deno.Command("/bin/sh", { + stdin: "piped", + stdout: "piped", + stderr: "piped", +}); + +class UsbipController { + private shell = shellCmd.spawn(); + private stdinWriter = this.shell.stdin.getWriter(); + private stdoutReader = this.shell.stdout.pipeThrough( + new TextDecoderStream(), + ).getReader(); + private stderrReader = this.shell.stderr.pipeThrough( + new TextDecoderStream(), + ).getReader(); + private readonly encoder = new TextEncoder(); + private readonly marker = "___FINISHED___"; + + constructor() {} + + run(cmd: string): ResultAsync { + return ResultAsync.fromPromise( + (async () => { + cmd = `${cmd}\necho ${this.marker}\necho ${this.marker} >&2\n`; + + await this.stdinWriter.write(this.encoder.encode( + cmd, + )); + + let outFinished = false, errFinished = false; + let stdout = "", stderr = ""; + + while (!outFinished || !errFinished) { + if (!outFinished) { + const { value } = await this.stdoutReader.read(); + if (!outFinished) { + if ( + value?.includes(this.marker) + ) { + stdout = stdout.trim(); + outFinished = true; + } else { + stdout += value; + } + } + } + if (!errFinished) { + const { value } = await this.stderrReader.read(); + if (!errFinished) { + if ( + value?.includes(this.marker) + ) { + stderr = stderr.trim(); + errFinished = true; + } else { + stderr += value; + } + } + } + } + + return { + stdout: stdout.trim(), + stderr: stderr.trim(), + }; + })(), + (e) => getMessageFromError(e), + ); + } +} + +interface CommandOutput { + stdout: string; + stderr: string; +} + +const usbip = new UsbipController(); + +let a = 0; + +for (let i = 0; i < 100; i++) { + const t = performance.now(); + console.log(await usbip.run("usbip list -l")); + a += performance.now() - t; +} + +console.log(a / 100); + +//await usbip.run("usbip list -l"); +//await usbip.run("usbip list -l"); +//await usbip.run("usbip list -l"); +//await usbip.run("usbip list -l"); + +//new Deno.Command("usbip", { args: ["list", "-l"] }).outputSync(); +//new Deno.Command("usbip", { args: ["list", "-l"] }).outputSync(); +//new Deno.Command("usbip", { args: ["list", "-l"] }).outputSync(); +//new Deno.Command("usbip", { args: ["list", "-l"] }).outputSync(); +//new Deno.Command("usbip", { args: ["list", "-l"] }).outputSync(); + +//const decoder = new TextDecoder(); +// +//const now1 = new Date().getTime(); +// +Deno.exit(0); diff --git a/vendor/deno.land/std@0.203.0/assert/assert.ts b/vendor/deno.land/std@0.203.0/assert/assert.ts new file mode 100644 index 0000000..3f868f4 --- /dev/null +++ b/vendor/deno.land/std@0.203.0/assert/assert.ts @@ -0,0 +1,9 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +import { AssertionError } from "./assertion_error.ts"; + +/** Make an assertion, error will be thrown if `expr` does not have truthy value. */ +export function assert(expr: unknown, msg = ""): asserts expr { + if (!expr) { + throw new AssertionError(msg); + } +} diff --git a/vendor/deno.land/std@0.203.0/assert/assertion_error.ts b/vendor/deno.land/std@0.203.0/assert/assertion_error.ts new file mode 100644 index 0000000..feecc9e --- /dev/null +++ b/vendor/deno.land/std@0.203.0/assert/assertion_error.ts @@ -0,0 +1,7 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +export class AssertionError extends Error { + override name = "AssertionError"; + constructor(message: string) { + super(message); + } +} diff --git a/vendor/deno.land/std@0.203.0/async/abortable.ts b/vendor/deno.land/std@0.203.0/async/abortable.ts new file mode 100644 index 0000000..e008ed7 --- /dev/null +++ b/vendor/deno.land/std@0.203.0/async/abortable.ts @@ -0,0 +1,151 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { deferred } from "./deferred.ts"; + +/** + * Make Promise abortable with the given signal. + * + * @example + * ```typescript + * import { abortable } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; + * import { delay } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; + * + * const p = delay(1000); + * const c = new AbortController(); + * setTimeout(() => c.abort(), 100); + * + * // Below throws `DOMException` after 100 ms + * await abortable(p, c.signal); + * ``` + */ +export function abortable(p: Promise, signal: AbortSignal): Promise; +/** + * Make AsyncIterable abortable with the given signal. + * + * @example + * ```typescript + * import { abortable } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; + * import { delay } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; + * + * const p = async function* () { + * yield "Hello"; + * await delay(1000); + * yield "World"; + * }; + * const c = new AbortController(); + * setTimeout(() => c.abort(), 100); + * + * // Below throws `DOMException` after 100 ms + * // and items become `["Hello"]` + * const items: string[] = []; + * for await (const item of abortable(p(), c.signal)) { + * items.push(item); + * } + * ``` + */ +export function abortable( + p: AsyncIterable, + signal: AbortSignal, +): AsyncGenerator; +export function abortable( + p: Promise | AsyncIterable, + signal: AbortSignal, +): Promise | AsyncIterable { + if (p instanceof Promise) { + return abortablePromise(p, signal); + } else { + return abortableAsyncIterable(p, signal); + } +} + +/** + * Make Promise abortable with the given signal. + * + * @example + * ```typescript + * import { abortablePromise } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; + * + * const request = fetch("https://example.com"); + * + * const c = new AbortController(); + * setTimeout(() => c.abort(), 100); + * + * const p = abortablePromise(request, c.signal); + * + * // The below throws if the request didn't resolve in 100ms + * await p; + * ``` + */ +export function abortablePromise( + p: Promise, + signal: AbortSignal, +): Promise { + if (signal.aborted) { + return Promise.reject(createAbortError(signal.reason)); + } + const waiter = deferred(); + const abort = () => waiter.reject(createAbortError(signal.reason)); + signal.addEventListener("abort", abort, { once: true }); + return Promise.race([ + waiter, + p.finally(() => { + signal.removeEventListener("abort", abort); + }), + ]); +} + +/** + * Make AsyncIterable abortable with the given signal. + * + * @example + * ```typescript + * import { abortableAsyncIterable } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; + * import { delay } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; + * + * const p = async function* () { + * yield "Hello"; + * await delay(1000); + * yield "World"; + * }; + * const c = new AbortController(); + * setTimeout(() => c.abort(), 100); + * + * // Below throws `DOMException` after 100 ms + * // and items become `["Hello"]` + * const items: string[] = []; + * for await (const item of abortableAsyncIterable(p(), c.signal)) { + * items.push(item); + * } + * ``` + */ +export async function* abortableAsyncIterable( + p: AsyncIterable, + signal: AbortSignal, +): AsyncGenerator { + if (signal.aborted) { + throw createAbortError(signal.reason); + } + const waiter = deferred(); + const abort = () => waiter.reject(createAbortError(signal.reason)); + signal.addEventListener("abort", abort, { once: true }); + + const it = p[Symbol.asyncIterator](); + while (true) { + const { done, value } = await Promise.race([waiter, it.next()]); + if (done) { + signal.removeEventListener("abort", abort); + return; + } + yield value; + } +} + +// This `reason` comes from `AbortSignal` thus must be `any`. +// deno-lint-ignore no-explicit-any +function createAbortError(reason?: any): DOMException { + return new DOMException( + reason ? `Aborted: ${reason}` : "Aborted", + "AbortError", + ); +} diff --git a/vendor/deno.land/std@0.203.0/async/deadline.ts b/vendor/deno.land/std@0.203.0/async/deadline.ts new file mode 100644 index 0000000..536ee6d --- /dev/null +++ b/vendor/deno.land/std@0.203.0/async/deadline.ts @@ -0,0 +1,48 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { delay } from "./delay.ts"; + +export interface DeadlineOptions { + /** Signal used to abort the deadline. */ + signal?: AbortSignal; +} + +export class DeadlineError extends Error { + constructor() { + super("Deadline"); + this.name = this.constructor.name; + } +} + +/** + * Create a promise which will be rejected with {@linkcode DeadlineError} when a given delay is exceeded. + * + * NOTE: Prefer to use `AbortSignal.timeout` instead for the APIs accept `AbortSignal`. + * + * @example + * ```typescript + * import { deadline } from "https://deno.land/std@$STD_VERSION/async/deadline.ts"; + * import { delay } from "https://deno.land/std@$STD_VERSION/async/delay.ts"; + * + * const delayedPromise = delay(1000); + * // Below throws `DeadlineError` after 10 ms + * const result = await deadline(delayedPromise, 10); + * ``` + */ +export function deadline( + p: Promise, + ms: number, + options: DeadlineOptions = {}, +): Promise { + const controller = new AbortController(); + const { signal } = options; + if (signal?.aborted) { + return Promise.reject(new DeadlineError()); + } + signal?.addEventListener("abort", () => controller.abort(signal.reason)); + const d = delay(ms, { signal: controller.signal }) + .catch(() => {}) // Do NOTHING on abort. + .then(() => Promise.reject(new DeadlineError())); + return Promise.race([p.finally(() => controller.abort()), d]); +} diff --git a/vendor/deno.land/std@0.203.0/async/debounce.ts b/vendor/deno.land/std@0.203.0/async/debounce.ts new file mode 100644 index 0000000..7cb81cb --- /dev/null +++ b/vendor/deno.land/std@0.203.0/async/debounce.ts @@ -0,0 +1,79 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * A debounced function that will be delayed by a given `wait` + * time in milliseconds. If the method is called again before + * the timeout expires, the previous call will be aborted. + */ +export interface DebouncedFunction> { + (...args: T): void; + /** Clears the debounce timeout and omits calling the debounced function. */ + clear(): void; + /** Clears the debounce timeout and calls the debounced function immediately. */ + flush(): void; + /** Returns a boolean whether a debounce call is pending or not. */ + readonly pending: boolean; +} + +/** + * Creates a debounced function that delays the given `func` + * by a given `wait` time in milliseconds. If the method is called + * again before the timeout expires, the previous call will be + * aborted. + * + * @example + * ``` + * import { debounce } from "https://deno.land/std@$STD_VERSION/async/debounce.ts"; + * + * const log = debounce( + * (event: Deno.FsEvent) => + * console.log("[%s] %s", event.kind, event.paths[0]), + * 200, + * ); + * + * for await (const event of Deno.watchFs("./")) { + * log(event); + * } + * // wait 200ms ... + * // output: Function debounced after 200ms with baz + * ``` + * + * @param fn The function to debounce. + * @param wait The time in milliseconds to delay the function. + */ +// deno-lint-ignore no-explicit-any +export function debounce>( + fn: (this: DebouncedFunction, ...args: T) => void, + wait: number, +): DebouncedFunction { + let timeout: number | null = null; + let flush: (() => void) | null = null; + + const debounced: DebouncedFunction = ((...args: T) => { + debounced.clear(); + flush = () => { + debounced.clear(); + fn.call(debounced, ...args); + }; + timeout = setTimeout(flush, wait); + }) as DebouncedFunction; + + debounced.clear = () => { + if (typeof timeout === "number") { + clearTimeout(timeout); + timeout = null; + flush = null; + } + }; + + debounced.flush = () => { + flush?.(); + }; + + Object.defineProperty(debounced, "pending", { + get: () => typeof timeout === "number", + }); + + return debounced; +} diff --git a/vendor/deno.land/std@0.203.0/async/deferred.ts b/vendor/deno.land/std@0.203.0/async/deferred.ts new file mode 100644 index 0000000..cd6c0aa --- /dev/null +++ b/vendor/deno.land/std@0.203.0/async/deferred.ts @@ -0,0 +1,48 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +// TODO(ry) It'd be better to make Deferred a class that inherits from +// Promise, rather than an interface. This is possible in ES2016, however +// typescript produces broken code when targeting ES5 code. +// See https://github.com/Microsoft/TypeScript/issues/15202 +// At the time of writing, the github issue is closed but the problem remains. +export interface Deferred extends Promise { + readonly state: "pending" | "fulfilled" | "rejected"; + resolve(value?: T | PromiseLike): void; + // deno-lint-ignore no-explicit-any + reject(reason?: any): void; +} + +/** + * Creates a Promise with the `reject` and `resolve` functions placed as methods + * on the promise object itself. + * + * @example + * ```typescript + * import { deferred } from "https://deno.land/std@$STD_VERSION/async/deferred.ts"; + * + * const p = deferred(); + * // ... + * p.resolve(42); + * ``` + */ +export function deferred(): Deferred { + let methods; + let state = "pending"; + const promise = new Promise((resolve, reject) => { + methods = { + async resolve(value: T | PromiseLike) { + await value; + state = "fulfilled"; + resolve(value); + }, + // deno-lint-ignore no-explicit-any + reject(reason?: any) { + state = "rejected"; + reject(reason); + }, + }; + }); + Object.defineProperty(promise, "state", { get: () => state }); + return Object.assign(promise, methods) as Deferred; +} diff --git a/vendor/deno.land/std@0.203.0/async/delay.ts b/vendor/deno.land/std@0.203.0/async/delay.ts new file mode 100644 index 0000000..57606f6 --- /dev/null +++ b/vendor/deno.land/std@0.203.0/async/delay.ts @@ -0,0 +1,65 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export interface DelayOptions { + /** Signal used to abort the delay. */ + signal?: AbortSignal; + /** Indicates whether the process should continue to run as long as the timer exists. + * + * @default {true} + */ + persistent?: boolean; +} + +/** + * Resolve a Promise after a given amount of milliseconds. + * + * @example + * + * ```typescript + * import { delay } from "https://deno.land/std@$STD_VERSION/async/delay.ts"; + * + * // ... + * const delayedPromise = delay(100); + * const result = await delayedPromise; + * // ... + * ``` + * + * To allow the process to continue to run as long as the timer exists. Requires + * `--unstable` flag. + * + * ```typescript + * import { delay } from "https://deno.land/std@$STD_VERSION/async/delay.ts"; + * + * // ... + * await delay(100, { persistent: false }); + * // ... + * ``` + */ +export function delay(ms: number, options: DelayOptions = {}): Promise { + const { signal, persistent } = options; + if (signal?.aborted) return Promise.reject(signal.reason); + return new Promise((resolve, reject) => { + const abort = () => { + clearTimeout(i); + reject(signal?.reason); + }; + const done = () => { + signal?.removeEventListener("abort", abort); + resolve(); + }; + const i = setTimeout(done, ms); + signal?.addEventListener("abort", abort, { once: true }); + if (persistent === false) { + try { + // @ts-ignore For browser compatibility + Deno.unrefTimer(i); + } catch (error) { + if (!(error instanceof ReferenceError)) { + throw error; + } + console.error("`persistent` option is only available in Deno"); + } + } + }); +} diff --git a/vendor/deno.land/std@0.203.0/async/mod.ts b/vendor/deno.land/std@0.203.0/async/mod.ts new file mode 100644 index 0000000..bfd6883 --- /dev/null +++ b/vendor/deno.land/std@0.203.0/async/mod.ts @@ -0,0 +1,18 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. + +/** + * Provide help with asynchronous tasks like delays, debouncing, deferring, or + * pooling. + * + * @module + */ + +export * from "./abortable.ts"; +export * from "./deadline.ts"; +export * from "./debounce.ts"; +export * from "./deferred.ts"; +export * from "./delay.ts"; +export * from "./mux_async_iterator.ts"; +export * from "./pool.ts"; +export * from "./tee.ts"; +export * from "./retry.ts"; diff --git a/vendor/deno.land/std@0.203.0/async/mux_async_iterator.ts b/vendor/deno.land/std@0.203.0/async/mux_async_iterator.ts new file mode 100644 index 0000000..81e2899 --- /dev/null +++ b/vendor/deno.land/std@0.203.0/async/mux_async_iterator.ts @@ -0,0 +1,97 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { Deferred, deferred } from "./deferred.ts"; + +interface TaggedYieldedValue { + iterator: AsyncIterator; + value: T; +} + +/** + * The MuxAsyncIterator class multiplexes multiple async iterators into a single + * stream. It currently makes an assumption that the final result (the value + * returned and not yielded from the iterator) does not matter; if there is any + * result, it is discarded. + * + * @example + * ```typescript + * import { MuxAsyncIterator } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; + * + * async function* gen123(): AsyncIterableIterator { + * yield 1; + * yield 2; + * yield 3; + * } + * + * async function* gen456(): AsyncIterableIterator { + * yield 4; + * yield 5; + * yield 6; + * } + * + * const mux = new MuxAsyncIterator(); + * mux.add(gen123()); + * mux.add(gen456()); + * for await (const value of mux) { + * // ... + * } + * // .. + * ``` + */ +export class MuxAsyncIterator implements AsyncIterable { + #iteratorCount = 0; + #yields: Array> = []; + // deno-lint-ignore no-explicit-any + #throws: any[] = []; + #signal: Deferred = deferred(); + + add(iterable: AsyncIterable) { + ++this.#iteratorCount; + this.#callIteratorNext(iterable[Symbol.asyncIterator]()); + } + + async #callIteratorNext( + iterator: AsyncIterator, + ) { + try { + const { value, done } = await iterator.next(); + if (done) { + --this.#iteratorCount; + } else { + this.#yields.push({ iterator, value }); + } + } catch (e) { + this.#throws.push(e); + } + this.#signal.resolve(); + } + + async *iterate(): AsyncIterableIterator { + while (this.#iteratorCount > 0) { + // Sleep until any of the wrapped iterators yields. + await this.#signal; + + // Note that while we're looping over `yields`, new items may be added. + for (let i = 0; i < this.#yields.length; i++) { + const { iterator, value } = this.#yields[i]; + yield value; + this.#callIteratorNext(iterator); + } + + if (this.#throws.length) { + for (const e of this.#throws) { + throw e; + } + this.#throws.length = 0; + } + // Clear the `yields` list and reset the `signal` promise. + this.#yields.length = 0; + this.#signal = deferred(); + } + } + + [Symbol.asyncIterator](): AsyncIterator { + return this.iterate(); + } +} diff --git a/vendor/deno.land/std@0.203.0/async/pool.ts b/vendor/deno.land/std@0.203.0/async/pool.ts new file mode 100644 index 0000000..db62b75 --- /dev/null +++ b/vendor/deno.land/std@0.203.0/async/pool.ts @@ -0,0 +1,108 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export const ERROR_WHILE_MAPPING_MESSAGE = "Threw while mapping."; + +/** + * pooledMap transforms values from an (async) iterable into another async + * iterable. The transforms are done concurrently, with a max concurrency + * defined by the poolLimit. + * + * If an error is thrown from `iterableFn`, no new transformations will begin. + * All currently executing transformations are allowed to finish and still + * yielded on success. After that, the rejections among them are gathered and + * thrown by the iterator in an `AggregateError`. + * + * @example + * ```typescript + * import { pooledMap } from "https://deno.land/std@$STD_VERSION/async/pool.ts"; + * + * const results = pooledMap( + * 2, + * [1, 2, 3], + * (i) => new Promise((r) => setTimeout(() => r(i), 1000)), + * ); + * + * for await (const value of results) { + * // ... + * } + * ``` + * + * @param poolLimit The maximum count of items being processed concurrently. + * @param array The input array for mapping. + * @param iteratorFn The function to call for every item of the array. + */ +export function pooledMap( + poolLimit: number, + array: Iterable | AsyncIterable, + iteratorFn: (data: T) => Promise, +): AsyncIterableIterator { + // Create the async iterable that is returned from this function. + const res = new TransformStream, R>({ + async transform( + p: Promise, + controller: TransformStreamDefaultController, + ) { + try { + const s = await p; + controller.enqueue(s); + } catch (e) { + if ( + e instanceof AggregateError && + e.message === ERROR_WHILE_MAPPING_MESSAGE + ) { + controller.error(e as unknown); + } + } + }, + }); + // Start processing items from the iterator + (async () => { + const writer = res.writable.getWriter(); + const executing: Array> = []; + try { + for await (const item of array) { + const p = Promise.resolve().then(() => iteratorFn(item)); + // Only write on success. If we `writer.write()` a rejected promise, + // that will end the iteration. We don't want that yet. Instead let it + // fail the race, taking us to the catch block where all currently + // executing jobs are allowed to finish and all rejections among them + // can be reported together. + writer.write(p); + const e: Promise = p.then(() => + executing.splice(executing.indexOf(e), 1) + ); + executing.push(e); + if (executing.length >= poolLimit) { + await Promise.race(executing); + } + } + // Wait until all ongoing events have processed, then close the writer. + await Promise.all(executing); + writer.close(); + } catch { + const errors = []; + for (const result of await Promise.allSettled(executing)) { + if (result.status === "rejected") { + errors.push(result.reason); + } + } + writer.write(Promise.reject( + new AggregateError(errors, ERROR_WHILE_MAPPING_MESSAGE), + )).catch(() => {}); + } + })(); + // Feature test until browser coverage is adequate + return Symbol.asyncIterator in res.readable && + typeof res.readable[Symbol.asyncIterator] === "function" + ? (res.readable[Symbol.asyncIterator] as () => AsyncIterableIterator)() + : (async function* () { + const reader = res.readable.getReader(); + while (true) { + const { done, value } = await reader.read(); + if (done) break; + yield value; + } + reader.releaseLock(); + })(); +} diff --git a/vendor/deno.land/std@0.203.0/async/retry.ts b/vendor/deno.land/std@0.203.0/async/retry.ts new file mode 100644 index 0000000..d7c581a --- /dev/null +++ b/vendor/deno.land/std@0.203.0/async/retry.ts @@ -0,0 +1,129 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assert } from "../assert/assert.ts"; + +export class RetryError extends Error { + constructor(cause: unknown, attempts: number) { + super(`Retrying exceeded the maxAttempts (${attempts}).`); + this.name = "RetryError"; + this.cause = cause; + } +} + +export interface RetryOptions { + /** How much to backoff after each retry. This is `2` by default. */ + multiplier?: number; + /** The maximum milliseconds between attempts. This is `60000` by default. */ + maxTimeout?: number; + /** The maximum amount of attempts until failure. This is `5` by default. */ + maxAttempts?: number; + /** The initial and minimum amount of milliseconds between attempts. This is `1000` by default. */ + minTimeout?: number; + /** Amount of jitter to introduce to the time between attempts. This is `1` for full jitter by default. */ + jitter?: number; +} + +const defaultRetryOptions: Required = { + multiplier: 2, + maxTimeout: 60000, + maxAttempts: 5, + minTimeout: 1000, + jitter: 1, +}; + +/** + * Calls the given (possibly asynchronous) function up to `maxAttempts` times. + * Retries as long as the given function throws. + * If the attempts are exhausted, throws an `RetryError` with `cause` set to the inner exception. + * + * The backoff is calculated by multiplying `minTimeout` with `multiplier` to the power of the current attempt counter (starting at 0 up to `maxAttempts - 1`). It is capped at `maxTimeout` however. + * How long the actual delay is, depends on `jitter`. + * + * When `jitter` is the default value of `1`, waits between two attempts for a randomized amount between 0 and the backoff time. + * With the default options the maximal delay will be `15s = 1s + 2s + 4s + 8s`. If all five attempts are exhausted the mean delay will be `9.5s = ½(4s + 15s)`. + * + * When `jitter` is `0`, waits the full backoff time. + * + * @example + * ```typescript + * import { retry } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; + * const req = async () => { + * // some function that throws sometimes + * }; + * + * // Below resolves to the first non-error result of `req` + * const retryPromise = await retry(req, { + * multiplier: 2, + * maxTimeout: 60000, + * maxAttempts: 5, + * minTimeout: 100, + * jitter: 1, + * }); + * ``` + * + * @example + * ```typescript + * import { retry } from "https://deno.land/std@$STD_VERSION/async/mod.ts"; + * const req = async () => { + * // some function that throws sometimes + * }; + * + * // Make sure we wait at least 1 minute, but at most 2 minutes + * const retryPromise = await retry(req, { + * multiplier: 2.34, + * maxTimeout: 80000, + * maxAttempts: 7, + * minTimeout: 1000, + * jitter: 0.5, + * }); + * ``` + */ +export async function retry( + fn: (() => Promise) | (() => T), + opts?: RetryOptions, +) { + const options: Required = { + ...defaultRetryOptions, + ...opts, + }; + + assert(options.maxTimeout >= 0, "maxTimeout is less than 0"); + assert( + options.minTimeout <= options.maxTimeout, + "minTimeout is greater than maxTimeout", + ); + assert(options.jitter <= 1, "jitter is greater than 1"); + + let attempt = 0; + while (true) { + try { + return await fn(); + } catch (error) { + if (attempt + 1 >= options.maxAttempts) { + throw new RetryError(error, options.maxAttempts); + } + + const timeout = _exponentialBackoffWithJitter( + options.maxTimeout, + options.minTimeout, + attempt, + options.multiplier, + options.jitter, + ); + await new Promise((r) => setTimeout(r, timeout)); + } + attempt++; + } +} + +export function _exponentialBackoffWithJitter( + cap: number, + base: number, + attempt: number, + multiplier: number, + jitter: number, +) { + const exp = Math.min(cap, base * multiplier ** attempt); + return (1 - jitter * Math.random()) * exp; +} diff --git a/vendor/deno.land/std@0.203.0/async/tee.ts b/vendor/deno.land/std@0.203.0/async/tee.ts new file mode 100644 index 0000000..25003ba --- /dev/null +++ b/vendor/deno.land/std@0.203.0/async/tee.ts @@ -0,0 +1,100 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +// Utility for representing n-tuple +type Tuple = N extends N + ? number extends N ? T[] : TupleOf + : never; +type TupleOf = R["length"] extends N + ? R + : TupleOf; + +interface QueueNode { + value: T; + next: QueueNode | undefined; +} + +class Queue { + #source: AsyncIterator; + #queue: QueueNode; + head: QueueNode; + + done: boolean; + + constructor(iterable: AsyncIterable) { + this.#source = iterable[Symbol.asyncIterator](); + this.#queue = { + value: undefined!, + next: undefined, + }; + this.head = this.#queue; + this.done = false; + } + + async next() { + const result = await this.#source.next(); + if (!result.done) { + const nextNode: QueueNode = { + value: result.value, + next: undefined, + }; + this.#queue.next = nextNode; + this.#queue = nextNode; + } else { + this.done = true; + } + } +} + +/** + * Branches the given async iterable into the n branches. + * + * @example + * ```ts + * import { tee } from "https://deno.land/std@$STD_VERSION/async/tee.ts"; + * + * const gen = async function* gen() { + * yield 1; + * yield 2; + * yield 3; + * }; + * + * const [branch1, branch2] = tee(gen()); + * + * for await (const n of branch1) { + * console.log(n); // => 1, 2, 3 + * } + * + * for await (const n of branch2) { + * console.log(n); // => 1, 2, 3 + * } + * ``` + */ +export function tee( + iterable: AsyncIterable, + n: N = 2 as N, +): Tuple, N> { + const queue = new Queue(iterable); + + async function* generator(): AsyncGenerator { + let buffer = queue.head; + while (true) { + if (buffer.next) { + buffer = buffer.next; + yield buffer.value; + } else if (queue.done) { + return; + } else { + await queue.next(); + } + } + } + + const branches = Array.from({ length: n }).map( + () => generator(), + ) as Tuple< + AsyncIterable, + N + >; + return branches; +} diff --git a/vendor/jsr.io/@db/sqlite/0.12.0/deno.json b/vendor/jsr.io/@db/sqlite/0.12.0/deno.json new file mode 100644 index 0000000..c8be83b --- /dev/null +++ b/vendor/jsr.io/@db/sqlite/0.12.0/deno.json @@ -0,0 +1,49 @@ +{ + "name": "@db/sqlite", + "version": "0.12.0", + "github": "https://github.com/denodrivers/sqlite3", + + "exports": "./mod.ts", + + "exclude": [ + "sqlite", + "scripts" + ], + + "tasks": { + "test": "deno test --unstable-ffi -A test/test.ts", + "build": "deno run -A scripts/build.ts", + "bench-deno": "deno run -A --unstable-ffi bench/bench_deno.js 50 1000000", + "bench-deno-ffi": "deno run -A --unstable-ffi bench/bench_deno_ffi.js 50 1000000", + "bench-deno-wasm": "deno run -A --unstable-ffi bench/bench_deno_wasm.js 50 1000000", + "bench-node": "node bench/bench_node.js 50 1000000", + "bench-bun": "bun run bench/bench_bun.js 50 1000000", + "bench-bun-ffi": "bun run bench/bench_bun_ffi.js 50 1000000", + "bench-c": "./bench/bench 50 1000000", + "bench-python": "python ./bench/bench_python.py", + "bench:northwind": "deno bench -A --unstable-ffi bench/northwind/deno.js", + "bench-wasm:northwind": "deno run -A --unstable-ffi bench/northwind/deno_wasm.js", + "bench-node:northwind": "node bench/northwind/node.mjs", + "bench-bun:northwind": "bun run bench/northwind/bun.js" + }, + + "fmt": { + "exclude": [ + "sqlite" + ] + }, + + "lint": { + "rules": { + "exclude": [ + "camelcase", + "no-explicit-any" + ], + "include": [ + "explicit-function-return-type", + "eqeqeq", + "explicit-module-boundary-types" + ] + } + } +} diff --git a/vendor/jsr.io/@db/sqlite/0.12.0/deps.ts b/vendor/jsr.io/@db/sqlite/0.12.0/deps.ts new file mode 100644 index 0000000..f94c8c4 --- /dev/null +++ b/vendor/jsr.io/@db/sqlite/0.12.0/deps.ts @@ -0,0 +1,2 @@ +export { fromFileUrl } from "jsr:@std/path@0.217"; +export { dlopen } from "jsr:@denosaurs/plug@1"; diff --git a/vendor/jsr.io/@db/sqlite/0.12.0/mod.ts b/vendor/jsr.io/@db/sqlite/0.12.0/mod.ts new file mode 100644 index 0000000..469ae5b --- /dev/null +++ b/vendor/jsr.io/@db/sqlite/0.12.0/mod.ts @@ -0,0 +1,18 @@ +export { + type AggregateFunctionOptions, + Database, + type DatabaseOpenOptions, + type FunctionOptions, + isComplete, + SQLITE_SOURCEID, + SQLITE_VERSION, + type Transaction, +} from "./src/database.ts"; +export { type BlobOpenOptions, SQLBlob } from "./src/blob.ts"; +export { + type BindParameters, + type BindValue, + type RestBindParameters, + Statement, +} from "./src/statement.ts"; +export { SqliteError } from "./src/util.ts"; diff --git a/vendor/jsr.io/@db/sqlite/0.12.0/src/blob.ts b/vendor/jsr.io/@db/sqlite/0.12.0/src/blob.ts new file mode 100644 index 0000000..b01d65d --- /dev/null +++ b/vendor/jsr.io/@db/sqlite/0.12.0/src/blob.ts @@ -0,0 +1,149 @@ +import type { Database } from "./database.ts"; +import ffi from "./ffi.ts"; +import { toCString, unwrap } from "./util.ts"; + +const { + sqlite3_blob_open, + sqlite3_blob_bytes, + sqlite3_blob_close, + sqlite3_blob_read, + sqlite3_blob_write, +} = ffi; + +/** Various options that can be configured when opening a Blob via `Database#openBlob`. */ +export interface BlobOpenOptions { + /** Whether to open Blob in readonly mode. True by default. */ + readonly?: boolean; + /** Database to open Blob from, "main" by default. */ + db?: string; + /** Table the Blob is in */ + table: string; + /** Column name of the Blob Field */ + column: string; + /** Row ID of which column to select */ + row: number; +} + +/** + * Enumerates SQLite3 Blob opened for streamed I/O. + * + * BLOB columns still return a `Uint8Array` of the data. + * You can instead open this from `Database.openBlob()`. + * + * @see https://www.sqlite.org/c3ref/blob_open.html + */ +export class SQLBlob { + #handle: Deno.PointerValue; + + constructor(db: Database, options: BlobOpenOptions) { + options = Object.assign({ + readonly: true, + db: "main", + }, options); + const pHandle = new BigUint64Array(1); + unwrap(sqlite3_blob_open( + db.unsafeHandle, + toCString(options.db ?? "main"), + toCString(options.table), + toCString(options.column), + BigInt(options.row), + options.readonly === false ? 1 : 0, + pHandle, + )); + this.#handle = Deno.UnsafePointer.create(pHandle[0]); + } + + /** Byte size of the Blob */ + get byteLength(): number { + return sqlite3_blob_bytes(this.#handle); + } + + /** Read from the Blob at given offset into a buffer (Uint8Array) */ + readSync(offset: number, p: Uint8Array): void { + unwrap(sqlite3_blob_read(this.#handle, p, p.byteLength, offset)); + } + + /** Write a buffer (Uint8Array) at given offset in the Blob */ + writeSync(offset: number, p: Uint8Array): void { + unwrap(sqlite3_blob_write(this.#handle, p, p.byteLength, offset)); + } + + /** Close the Blob. It **must** be called to prevent leaks. */ + close(): void { + unwrap(sqlite3_blob_close(this.#handle)); + } + + /** Obtains Web Stream for reading the Blob */ + get readable(): ReadableStream { + const length = this.byteLength; + let offset = 0; + return new ReadableStream({ + type: "bytes", + pull: (ctx) => { + try { + const byob = ctx.byobRequest; + if (byob) { + const toRead = Math.min( + length - offset, + byob.view!.byteLength, + ); + this.readSync( + offset, + (byob.view as Uint8Array).subarray(0, toRead), + ); + offset += toRead; + byob.respond(toRead); + } else { + const toRead = Math.min( + length - offset, + ctx.desiredSize || 1024 * 16, + ); + if (toRead === 0) { + ctx.close(); + return; + } + const buffer = new Uint8Array(toRead); + this.readSync(offset, buffer); + offset += toRead; + ctx.enqueue(buffer); + } + } catch (e) { + ctx.error(e); + ctx.byobRequest?.respond(0); + } + }, + }); + } + + /** Obtains Web Stream for writing to the Blob */ + get writable(): WritableStream { + const length = this.byteLength; + let offset = 0; + return new WritableStream({ + write: (chunk, ctx) => { + if (offset + chunk.byteLength > length) { + ctx.error(new Error("Write exceeds blob length")); + return; + } + this.writeSync(offset, chunk); + offset += chunk.byteLength; + }, + }); + } + + *[Symbol.iterator](): IterableIterator { + const length = this.byteLength; + let offset = 0; + while (offset < length) { + const toRead = Math.min(length - offset, 1024 * 16); + const buffer = new Uint8Array(toRead); + this.readSync(offset, buffer); + offset += toRead; + yield buffer; + } + } + + [Symbol.for("Deno.customInspect")](): string { + return `SQLite3.Blob(0x${this.byteLength.toString(16)})`; + } +} diff --git a/vendor/jsr.io/@db/sqlite/0.12.0/src/constants.ts b/vendor/jsr.io/@db/sqlite/0.12.0/src/constants.ts new file mode 100644 index 0000000..aa67db7 --- /dev/null +++ b/vendor/jsr.io/@db/sqlite/0.12.0/src/constants.ts @@ -0,0 +1,67 @@ +// Result Codes +export const SQLITE3_OK = 0; +export const SQLITE3_ERROR = 1; +export const SQLITE3_INTERNAL = 2; +export const SQLITE3_PERM = 3; +export const SQLITE3_ABORT = 4; +export const SQLITE3_BUSY = 5; +export const SQLITE3_LOCKED = 6; +export const SQLITE3_NOMEM = 7; +export const SQLITE3_READONLY = 8; +export const SQLITE3_INTERRUPT = 9; +export const SQLITE3_IOERR = 10; +export const SQLITE3_CORRUPT = 11; +export const SQLITE3_NOTFOUND = 12; +export const SQLITE3_FULL = 13; +export const SQLITE3_CANTOPEN = 14; +export const SQLITE3_PROTOCOL = 15; +export const SQLITE3_EMPTY = 16; +export const SQLITE3_SCHEMA = 17; +export const SQLITE3_TOOBIG = 18; +export const SQLITE3_CONSTRAINT = 19; +export const SQLITE3_MISMATCH = 20; +export const SQLITE3_MISUSE = 21; +export const SQLITE3_NOLFS = 22; +export const SQLITE3_AUTH = 23; +export const SQLITE3_FORMAT = 24; +export const SQLITE3_RANGE = 25; +export const SQLITE3_NOTADB = 26; +export const SQLITE3_NOTICE = 27; +export const SQLITE3_WARNING = 28; +export const SQLITE3_ROW = 100; +export const SQLITE3_DONE = 101; + +// Open Flags +export const SQLITE3_OPEN_READONLY = 0x00000001; +export const SQLITE3_OPEN_READWRITE = 0x00000002; +export const SQLITE3_OPEN_CREATE = 0x00000004; +export const SQLITE3_OPEN_DELETEONCLOSE = 0x00000008; +export const SQLITE3_OPEN_EXCLUSIVE = 0x00000010; +export const SQLITE3_OPEN_AUTOPROXY = 0x00000020; +export const SQLITE3_OPEN_URI = 0x00000040; +export const SQLITE3_OPEN_MEMORY = 0x00000080; +export const SQLITE3_OPEN_MAIN_DB = 0x00000100; +export const SQLITE3_OPEN_TEMP_DB = 0x00000200; +export const SQLITE3_OPEN_TRANSIENT_DB = 0x00000400; +export const SQLITE3_OPEN_MAIN_JOURNAL = 0x00000800; +export const SQLITE3_OPEN_TEMP_JOURNAL = 0x00001000; +export const SQLITE3_OPEN_SUBJOURNAL = 0x00002000; +export const SQLITE3_OPEN_SUPER_JOURNAL = 0x00004000; +export const SQLITE3_OPEN_NONMUTEX = 0x00008000; +export const SQLITE3_OPEN_FULLMUTEX = 0x00010000; +export const SQLITE3_OPEN_SHAREDCACHE = 0x00020000; +export const SQLITE3_OPEN_PRIVATECACHE = 0x00040000; +export const SQLITE3_OPEN_WAL = 0x00080000; +export const SQLITE3_OPEN_NOFOLLOW = 0x01000000; + +// Prepare Flags +export const SQLITE3_PREPARE_PERSISTENT = 0x00000001; +export const SQLITE3_PREPARE_NORMALIZE = 0x00000002; +export const SQLITE3_PREPARE_NO_VTAB = 0x00000004; + +// Fundamental Datatypes +export const SQLITE_INTEGER = 1; +export const SQLITE_FLOAT = 2; +export const SQLITE_TEXT = 3; +export const SQLITE_BLOB = 4; +export const SQLITE_NULL = 5; diff --git a/vendor/jsr.io/@db/sqlite/0.12.0/src/database.ts b/vendor/jsr.io/@db/sqlite/0.12.0/src/database.ts new file mode 100644 index 0000000..f47f053 --- /dev/null +++ b/vendor/jsr.io/@db/sqlite/0.12.0/src/database.ts @@ -0,0 +1,884 @@ +import ffi from "./ffi.ts"; +import { fromFileUrl } from "../deps.ts"; +import { + SQLITE3_OPEN_CREATE, + SQLITE3_OPEN_MEMORY, + SQLITE3_OPEN_READONLY, + SQLITE3_OPEN_READWRITE, + SQLITE_BLOB, + SQLITE_FLOAT, + SQLITE_INTEGER, + SQLITE_NULL, + SQLITE_TEXT, +} from "./constants.ts"; +import { readCstr, toCString, unwrap } from "./util.ts"; +import { + type RestBindParameters, + Statement, + STATEMENTS_TO_DB, +} from "./statement.ts"; +import { type BlobOpenOptions, SQLBlob } from "./blob.ts"; + +/** Various options that can be configured when opening Database connection. */ +export interface DatabaseOpenOptions { + /** Whether to open database only in read-only mode. By default, this is false. */ + readonly?: boolean; + /** Whether to create a new database file at specified path if one does not exist already. By default this is true. */ + create?: boolean; + /** Raw SQLite C API flags. Specifying this ignores all other options. */ + flags?: number; + /** Opens an in-memory database. */ + memory?: boolean; + /** Whether to support BigInt columns. False by default, integers larger than 32 bit will be inaccurate. */ + int64?: boolean; + /** Apply agressive optimizations that are not possible with concurrent clients. */ + unsafeConcurrency?: boolean; + /** Enable or disable extension loading */ + enableLoadExtension?: boolean; +} + +/** Transaction function created using `Database#transaction`. */ +export type Transaction void> = + & ((...args: Parameters) => ReturnType) + & { + /** BEGIN */ + default: Transaction; + /** BEGIN DEFERRED */ + deferred: Transaction; + /** BEGIN IMMEDIATE */ + immediate: Transaction; + /** BEGIN EXCLUSIVE */ + exclusive: Transaction; + database: Database; + }; + +/** + * Options for user-defined functions. + * + * @link https://www.sqlite.org/c3ref/c_deterministic.html + */ +export interface FunctionOptions { + varargs?: boolean; + deterministic?: boolean; + directOnly?: boolean; + innocuous?: boolean; + subtype?: boolean; +} + +/** + * Options for user-defined aggregate functions. + */ +export interface AggregateFunctionOptions extends FunctionOptions { + start: any | (() => any); + step: (aggregate: any, ...args: any[]) => void; + final?: (aggregate: any) => any; +} + +const { + sqlite3_open_v2, + sqlite3_close_v2, + sqlite3_changes, + sqlite3_total_changes, + sqlite3_last_insert_rowid, + sqlite3_get_autocommit, + sqlite3_exec, + sqlite3_free, + sqlite3_libversion, + sqlite3_sourceid, + sqlite3_complete, + sqlite3_finalize, + sqlite3_result_blob, + sqlite3_result_double, + sqlite3_result_error, + sqlite3_result_int64, + sqlite3_result_null, + sqlite3_result_text, + sqlite3_value_blob, + sqlite3_value_bytes, + sqlite3_value_double, + sqlite3_value_int64, + sqlite3_value_text, + sqlite3_value_type, + sqlite3_create_function, + sqlite3_result_int, + sqlite3_aggregate_context, + sqlite3_enable_load_extension, + sqlite3_load_extension, + sqlite3_backup_init, + sqlite3_backup_step, + sqlite3_backup_finish, + sqlite3_errcode, +} = ffi; + +/** SQLite version string */ +export const SQLITE_VERSION: string = readCstr(sqlite3_libversion()!); +/** SQLite source ID string */ +export const SQLITE_SOURCEID: string = readCstr(sqlite3_sourceid()!); + +/** + * Whether the given SQL statement is complete. + * + * @param statement SQL statement string + */ +export function isComplete(statement: string): boolean { + return Boolean(sqlite3_complete(toCString(statement))); +} + +const BIG_MAX = BigInt(Number.MAX_SAFE_INTEGER); + +/** + * Represents a SQLite3 database connection. + * + * Example: + * ```ts + * // Open a database from file, creates if doesn't exist. + * const db = new Database("myfile.db"); + * + * // Open an in-memory database. + * const db = new Database(":memory:"); + * + * // Open a read-only database. + * const db = new Database("myfile.db", { readonly: true }); + * + * // Or open using File URL + * const db = new Database(new URL("./myfile.db", import.meta.url)); + * ``` + */ +export class Database { + #path: string; + #handle: Deno.PointerValue; + #open = true; + #enableLoadExtension = false; + + /** Whether to support BigInt columns. False by default, integers larger than 32 bit will be inaccurate. */ + int64: boolean; + + unsafeConcurrency: boolean; + + /** Whether DB connection is open */ + get open(): boolean { + return this.#open; + } + + /** Unsafe Raw (pointer) to the sqlite object */ + get unsafeHandle(): Deno.PointerValue { + return this.#handle; + } + + /** Path of the database file. */ + get path(): string { + return this.#path; + } + + /** Number of rows changed by the last executed statement. */ + get changes(): number { + return sqlite3_changes(this.#handle); + } + + /** Number of rows changed since the database connection was opened. */ + get totalChanges(): number { + return sqlite3_total_changes(this.#handle); + } + + /** Gets last inserted Row ID */ + get lastInsertRowId(): number { + return Number(sqlite3_last_insert_rowid(this.#handle)); + } + + /** Whether autocommit is enabled. Enabled by default, can be disabled using BEGIN statement. */ + get autocommit(): boolean { + return sqlite3_get_autocommit(this.#handle) === 1; + } + + /** Whether DB is in mid of a transaction */ + get inTransaction(): boolean { + return this.#open && !this.autocommit; + } + + get enableLoadExtension(): boolean { + return this.#enableLoadExtension; + } + + set enableLoadExtension(enabled: boolean) { + if (sqlite3_enable_load_extension === null) { + throw new Error( + "Extension loading is not supported by the shared library that was used.", + ); + } + const result = sqlite3_enable_load_extension(this.#handle, Number(enabled)); + unwrap(result, this.#handle); + this.#enableLoadExtension = enabled; + } + + constructor(path: string | URL, options: DatabaseOpenOptions = {}) { + this.#path = path instanceof URL ? fromFileUrl(path) : path; + let flags = 0; + this.int64 = options.int64 ?? false; + this.unsafeConcurrency = options.unsafeConcurrency ?? false; + if (options.flags !== undefined) { + flags = options.flags; + } else { + if (options.memory) { + flags |= SQLITE3_OPEN_MEMORY; + } + + if (options.readonly ?? false) { + flags |= SQLITE3_OPEN_READONLY; + } else { + flags |= SQLITE3_OPEN_READWRITE; + } + + if ((options.create ?? true) && !options.readonly) { + flags |= SQLITE3_OPEN_CREATE; + } + } + + const pHandle = new BigUint64Array(1); + const result = sqlite3_open_v2(toCString(this.#path), pHandle, flags, null); + this.#handle = Deno.UnsafePointer.create(pHandle[0]); + if (result !== 0) sqlite3_close_v2(this.#handle); + unwrap(result); + + if (options.enableLoadExtension) { + this.enableLoadExtension = options.enableLoadExtension; + } + } + + /** + * Creates a new Prepared Statement from the given SQL statement. + * + * Example: + * ```ts + * const stmt = db.prepare("SELECT * FROM mytable WHERE id = ?"); + * + * for (const row of stmt.all(1)) { + * console.log(row); + * } + * ``` + * + * Bind parameters can be either provided as an array of values, or as an object + * mapping the parameter name to the value. + * + * Example: + * ```ts + * const stmt = db.prepare("SELECT * FROM mytable WHERE id = ?"); + * const row = stmt.get(1); + * + * // or + * + * const stmt = db.prepare("SELECT * FROM mytable WHERE id = :id"); + * const row = stmt.get({ id: 1 }); + * ``` + * + * Statements are automatically freed once GC catches them, however + * you can also manually free using `finalize` method. + * + * @param sql SQL statement string + * @returns Statement object + */ + prepare(sql: string): Statement { + return new Statement(this, sql); + } + + /** + * Open a Blob for incremental I/O. + * + * Make sure to close the blob after you are done with it, + * otherwise you will have memory leaks. + */ + openBlob(options: BlobOpenOptions): SQLBlob { + return new SQLBlob(this, options); + } + + /** + * Simply executes the SQL statement (supports multiple statements separated by semicolon). + * Returns the number of changes made by last statement. + * + * Example: + * ```ts + * // Create table + * db.exec("create table users (id integer not null, username varchar(20) not null)"); + * + * // Inserts + * db.exec("insert into users (id, username) values(?, ?)", id, username); + * + * // Insert with named parameters + * db.exec("insert into users (id, username) values(:id, :username)", { id, username }); + * + * // Pragma statements + * db.exec("pragma journal_mode = WAL"); + * db.exec("pragma synchronous = normal"); + * db.exec("pragma temp_store = memory"); + * ``` + * + * Under the hood, it uses `sqlite3_exec` if no parameters are given to bind + * with the SQL statement, a prepared statement otherwise. + */ + exec(sql: string, ...params: RestBindParameters): number { + if (params.length === 0) { + const pErr = new BigUint64Array(1); + sqlite3_exec( + this.#handle, + toCString(sql), + null, + null, + new Uint8Array(pErr.buffer), + ); + const errPtr = Deno.UnsafePointer.create(pErr[0]); + if (errPtr !== null) { + const err = readCstr(errPtr); + sqlite3_free(errPtr); + throw new Error(err); + } + return sqlite3_changes(this.#handle); + } + + const stmt = this.prepare(sql); + stmt.run(...params); + return sqlite3_changes(this.#handle); + } + + /** Alias for `exec`. */ + run(sql: string, ...params: RestBindParameters): number { + return this.exec(sql, ...params); + } + + /** Safely execute SQL with parameters using a tagged template */ + sql = Record>( + strings: TemplateStringsArray, + ...parameters: RestBindParameters + ): T[] { + const sql = strings.join("?"); + const stmt = this.prepare(sql); + return stmt.all(...parameters); + } + + /** + * Wraps a callback function in a transaction. + * + * - When function is called, the transaction is started. + * - When function returns, the transaction is committed. + * - When function throws an error, the transaction is rolled back. + * + * Example: + * ```ts + * const stmt = db.prepare("insert into users (id, username) values(?, ?)"); + * + * interface User { + * id: number; + * username: string; + * } + * + * const insertUsers = db.transaction((data: User[]) => { + * for (const user of data) { + * stmt.run(user); + * } + * }); + * + * insertUsers([ + * { id: 1, username: "alice" }, + * { id: 2, username: "bob" }, + * ]); + * + * // May also use `insertUsers.deferred`, `immediate`, or `exclusive`. + * // They corresspond to using `BEGIN DEFERRED`, `BEGIN IMMEDIATE`, and `BEGIN EXCLUSIVE`. + * // For eg. + * + * insertUsers.deferred([ + * { id: 1, username: "alice" }, + * { id: 2, username: "bob" }, + * ]); + * ``` + */ + transaction, ...args: any[]) => void>( + fn: T, + ): Transaction { + // Based on https://github.com/WiseLibs/better-sqlite3/blob/master/lib/methods/transaction.js + const controller = getController(this); + + // Each version of the transaction function has these same properties + const properties = { + default: { value: wrapTransaction(fn, this, controller.default) }, + deferred: { value: wrapTransaction(fn, this, controller.deferred) }, + immediate: { value: wrapTransaction(fn, this, controller.immediate) }, + exclusive: { value: wrapTransaction(fn, this, controller.exclusive) }, + database: { value: this, enumerable: true }, + }; + + Object.defineProperties(properties.default.value, properties); + Object.defineProperties(properties.deferred.value, properties); + Object.defineProperties(properties.immediate.value, properties); + Object.defineProperties(properties.exclusive.value, properties); + + // Return the default version of the transaction function + return properties.default.value as Transaction; + } + + #callbacks = new Set(); + + /** + * Creates a new user-defined function. + * + * Example: + * ```ts + * db.function("add", (a: number, b: number) => a + b); + * db.prepare("select add(1, 2)").value<[number]>()!; // [3] + * ``` + */ + function( + name: string, + fn: CallableFunction, + options?: FunctionOptions, + ): void { + if (sqlite3_create_function === null) { + throw new Error( + "User-defined functions are not supported by the shared library that was used.", + ); + } + + const cb = new Deno.UnsafeCallback( + { + parameters: ["pointer", "i32", "pointer"], + result: "void", + } as const, + (ctx, nArgs, pArgs) => { + const argptr = new Deno.UnsafePointerView(pArgs!); + const args: any[] = []; + for (let i = 0; i < nArgs; i++) { + const arg = Deno.UnsafePointer.create( + argptr.getBigUint64(i * 8), + ); + const type = sqlite3_value_type(arg); + switch (type) { + case SQLITE_INTEGER: { + const value = sqlite3_value_int64(arg); + if (value < -BIG_MAX || value > BIG_MAX) { + args.push(value); + } else { + args.push(Number(value)); + } + break; + } + case SQLITE_FLOAT: + args.push(sqlite3_value_double(arg)); + break; + case SQLITE_TEXT: + args.push( + new TextDecoder().decode( + new Uint8Array( + Deno.UnsafePointerView.getArrayBuffer( + sqlite3_value_text(arg)!, + sqlite3_value_bytes(arg), + ), + ), + ), + ); + break; + case SQLITE_BLOB: + args.push( + new Uint8Array( + Deno.UnsafePointerView.getArrayBuffer( + sqlite3_value_blob(arg)!, + sqlite3_value_bytes(arg), + ), + ), + ); + break; + case SQLITE_NULL: + args.push(null); + break; + default: + throw new Error(`Unknown type: ${type}`); + } + } + + let result: any; + try { + result = fn(...args); + } catch (err) { + const buf = new TextEncoder().encode(err.message); + sqlite3_result_error(ctx, buf, buf.byteLength); + return; + } + + if (result === undefined || result === null) { + sqlite3_result_null(ctx); + } else if (typeof result === "boolean") { + sqlite3_result_int(ctx, result ? 1 : 0); + } else if (typeof result === "number") { + if (Number.isSafeInteger(result)) { + sqlite3_result_int64(ctx, BigInt(result)); + } else sqlite3_result_double(ctx, result); + } else if (typeof result === "bigint") { + sqlite3_result_int64(ctx, result); + } else if (typeof result === "string") { + const buffer = new TextEncoder().encode(result); + sqlite3_result_text(ctx, buffer, buffer.byteLength, 0n); + } else if (result instanceof Uint8Array) { + sqlite3_result_blob(ctx, result, result.length, -1n); + } else { + const buffer = new TextEncoder().encode( + `Invalid return value: ${Deno.inspect(result)}`, + ); + sqlite3_result_error(ctx, buffer, buffer.byteLength); + } + }, + ); + + let flags = 1; + + if (options?.deterministic) { + flags |= 0x000000800; + } + + if (options?.directOnly) { + flags |= 0x000080000; + } + + if (options?.subtype) { + flags |= 0x000100000; + } + + if (options?.directOnly) { + flags |= 0x000200000; + } + + const err = sqlite3_create_function( + this.#handle, + toCString(name), + options?.varargs ? -1 : fn.length, + flags, + null, + cb.pointer, + null, + null, + ); + + unwrap(err, this.#handle); + + this.#callbacks.add(cb as Deno.UnsafeCallback); + } + + /** + * Creates a new user-defined aggregate function. + */ + aggregate(name: string, options: AggregateFunctionOptions): void { + if ( + sqlite3_aggregate_context === null || sqlite3_create_function === null + ) { + throw new Error( + "User-defined functions are not supported by the shared library that was used.", + ); + } + + const contexts = new Map(); + + const cb = new Deno.UnsafeCallback( + { + parameters: ["pointer", "i32", "pointer"], + result: "void", + } as const, + (ctx, nArgs, pArgs) => { + const aggrCtx = sqlite3_aggregate_context(ctx, 8); + const aggrPtr = Deno.UnsafePointer.value(aggrCtx); + let aggregate; + if (contexts.has(aggrPtr)) { + aggregate = contexts.get(aggrPtr); + } else { + aggregate = typeof options.start === "function" + ? options.start() + : options.start; + contexts.set(aggrPtr, aggregate); + } + const argptr = new Deno.UnsafePointerView(pArgs!); + const args: any[] = []; + for (let i = 0; i < nArgs; i++) { + const arg = Deno.UnsafePointer.create( + argptr.getBigUint64(i * 8), + ); + const type = sqlite3_value_type(arg); + switch (type) { + case SQLITE_INTEGER: { + const value = sqlite3_value_int64(arg); + if (value < -BIG_MAX || value > BIG_MAX) { + args.push(value); + } else { + args.push(Number(value)); + } + break; + } + case SQLITE_FLOAT: + args.push(sqlite3_value_double(arg)); + break; + case SQLITE_TEXT: + args.push( + new TextDecoder().decode( + new Uint8Array( + Deno.UnsafePointerView.getArrayBuffer( + sqlite3_value_text(arg)!, + sqlite3_value_bytes(arg), + ), + ), + ), + ); + break; + case SQLITE_BLOB: + args.push( + new Uint8Array( + Deno.UnsafePointerView.getArrayBuffer( + sqlite3_value_blob(arg)!, + sqlite3_value_bytes(arg), + ), + ), + ); + break; + case SQLITE_NULL: + args.push(null); + break; + default: + throw new Error(`Unknown type: ${type}`); + } + } + + let result: any; + try { + result = options.step(aggregate, ...args); + } catch (err) { + const buf = new TextEncoder().encode(err.message); + sqlite3_result_error(ctx, buf, buf.byteLength); + return; + } + + contexts.set(aggrPtr, result); + }, + ); + + const cbFinal = new Deno.UnsafeCallback( + { + parameters: ["pointer"], + result: "void", + } as const, + (ctx) => { + const aggrCtx = sqlite3_aggregate_context(ctx, 0); + const aggrPtr = Deno.UnsafePointer.value(aggrCtx); + const aggregate = contexts.get(aggrPtr); + contexts.delete(aggrPtr); + let result: any; + try { + result = options.final ? options.final(aggregate) : aggregate; + } catch (err) { + const buf = new TextEncoder().encode(err.message); + sqlite3_result_error(ctx, buf, buf.byteLength); + return; + } + + if (result === undefined || result === null) { + sqlite3_result_null(ctx); + } else if (typeof result === "boolean") { + sqlite3_result_int(ctx, result ? 1 : 0); + } else if (typeof result === "number") { + if (Number.isSafeInteger(result)) { + sqlite3_result_int64(ctx, BigInt(result)); + } else sqlite3_result_double(ctx, result); + } else if (typeof result === "bigint") { + sqlite3_result_int64(ctx, result); + } else if (typeof result === "string") { + const buffer = new TextEncoder().encode(result); + sqlite3_result_text(ctx, buffer, buffer.byteLength, 0n); + } else if (result instanceof Uint8Array) { + sqlite3_result_blob(ctx, result, result.length, -1n); + } else { + const buffer = new TextEncoder().encode( + `Invalid return value: ${Deno.inspect(result)}`, + ); + sqlite3_result_error(ctx, buffer, buffer.byteLength); + } + }, + ); + + let flags = 1; + + if (options?.deterministic) { + flags |= 0x000000800; + } + + if (options?.directOnly) { + flags |= 0x000080000; + } + + if (options?.subtype) { + flags |= 0x000100000; + } + + if (options?.directOnly) { + flags |= 0x000200000; + } + + const err = sqlite3_create_function( + this.#handle, + toCString(name), + options?.varargs ? -1 : options.step.length - 1, + flags, + null, + null, + cb.pointer, + cbFinal.pointer, + ); + + unwrap(err, this.#handle); + + this.#callbacks.add(cb as Deno.UnsafeCallback); + this.#callbacks.add(cbFinal as Deno.UnsafeCallback); + } + + /** + * Loads an SQLite extension library from the named file. + */ + loadExtension(file: string, entryPoint?: string): void { + if (sqlite3_load_extension === null) { + throw new Error( + "Extension loading is not supported by the shared library that was used.", + ); + } + + if (!this.enableLoadExtension) { + throw new Error("Extension loading is not enabled"); + } + + const pzErrMsg = new BigUint64Array(1); + + const result = sqlite3_load_extension( + this.#handle, + toCString(file), + entryPoint ? toCString(entryPoint) : null, + pzErrMsg, + ); + + const pzErrPtr = Deno.UnsafePointer.create( + pzErrMsg[0], + ); + if (pzErrPtr !== null) { + const pzErr = readCstr(pzErrPtr); + sqlite3_free(pzErrPtr); + throw new Error(pzErr); + } + + unwrap(result, this.#handle); + } + + /** + * Closes the database connection. + * + * Calling this method more than once is no-op. + */ + close(): void { + if (!this.#open) return; + for (const [stmt, db] of STATEMENTS_TO_DB) { + if (db === this.#handle) { + sqlite3_finalize(stmt); + STATEMENTS_TO_DB.delete(stmt); + } + } + for (const cb of this.#callbacks) { + cb.close(); + } + unwrap(sqlite3_close_v2(this.#handle)); + this.#open = false; + } + + /** + * @param dest The destination database connection. + * @param name Destination database name. "main" for main database, "temp" for temporary database, or the name specified after the AS keyword in an ATTACH statement for an attached database. + * @param pages The number of pages to copy. If it is negative, all remaining pages are copied (default). + */ + backup(dest: Database, name = "main", pages = -1): void { + const backup = sqlite3_backup_init( + dest.#handle, + toCString(name), + this.#handle, + toCString("main"), + ); + if (backup) { + unwrap(sqlite3_backup_step(backup, pages)); + unwrap(sqlite3_backup_finish(backup)); + } else { + unwrap(sqlite3_errcode(dest.#handle), dest.#handle); + } + } + + [Symbol.for("Deno.customInspect")](): string { + return `SQLite3.Database { path: ${this.path} }`; + } +} + +const controllers = new WeakMap(); + +// Return the database's cached transaction controller, or create a new one +const getController = (db: Database) => { + let controller = controllers.get(db); + if (!controller) { + const shared = { + commit: db.prepare("COMMIT"), + rollback: db.prepare("ROLLBACK"), + savepoint: db.prepare("SAVEPOINT `\t_bs3.\t`"), + release: db.prepare("RELEASE `\t_bs3.\t`"), + rollbackTo: db.prepare("ROLLBACK TO `\t_bs3.\t`"), + }; + + controllers.set( + db, + controller = { + default: Object.assign( + { begin: db.prepare("BEGIN") }, + shared, + ), + deferred: Object.assign( + { begin: db.prepare("BEGIN DEFERRED") }, + shared, + ), + immediate: Object.assign( + { begin: db.prepare("BEGIN IMMEDIATE") }, + shared, + ), + exclusive: Object.assign( + { begin: db.prepare("BEGIN EXCLUSIVE") }, + shared, + ), + }, + ); + } + return controller; +}; + +// Return a new transaction function by wrapping the given function +const wrapTransaction = void>( + fn: T, + db: Database, + { begin, commit, rollback, savepoint, release, rollbackTo }: any, +) => + function sqliteTransaction(...args: Parameters): ReturnType { + const { apply } = Function.prototype; + let before, after, undo; + if (db.inTransaction) { + before = savepoint; + after = release; + undo = rollbackTo; + } else { + before = begin; + after = commit; + undo = rollback; + } + before.run(); + try { + // @ts-ignore An outer value of 'this' is shadowed by this container. + const result = apply.call(fn, this, args); + after.run(); + return result; + } catch (ex) { + if (!db.autocommit) { + undo.run(); + if (undo !== rollback) after.run(); + } + throw ex; + } + }; diff --git a/vendor/jsr.io/@db/sqlite/0.12.0/src/ffi.ts b/vendor/jsr.io/@db/sqlite/0.12.0/src/ffi.ts new file mode 100644 index 0000000..f28757e --- /dev/null +++ b/vendor/jsr.io/@db/sqlite/0.12.0/src/ffi.ts @@ -0,0 +1,641 @@ +import meta from "../deno.json" with { type: "json" }; +import { dlopen } from "../deps.ts"; + +const symbols = { + sqlite3_open_v2: { + parameters: [ + "buffer", // const char *filename + "buffer", // sqlite3 **ppDb + "i32", // int flags + "pointer", // const char *zVfs + ], + result: "i32", + }, + + sqlite3_close_v2: { + parameters: [ + "pointer", // sqlite3 *db + ], + result: "i32", + }, + + sqlite3_changes: { + parameters: [ + "pointer", // sqlite3 *db + ], + result: "i32", + }, + + sqlite3_total_changes: { + parameters: [ + "pointer", // sqlite3 *db + ], + result: "i32", + }, + + sqlite3_last_insert_rowid: { + parameters: [ + "pointer", // sqlite3 *db + ], + result: "i32", + }, + + sqlite3_get_autocommit: { + parameters: [ + "pointer", // sqlite3 *db + ], + result: "i32", + }, + + sqlite3_prepare_v2: { + parameters: [ + "pointer", // sqlite3 *db + "buffer", // const char *zSql + "i32", // int nByte + "buffer", // sqlite3_stmt **ppStmt + "pointer", // const char **pzTail + ], + result: "i32", + }, + + sqlite3_reset: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + ], + result: "i32", + }, + + sqlite3_clear_bindings: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + ], + result: "i32", + }, + + sqlite3_step: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + ], + result: "i32", + }, + + sqlite3_column_count: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + ], + result: "i32", + }, + + sqlite3_column_type: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "i32", + }, + + sqlite3_column_text: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "pointer", + }, + sqlite3_column_value: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "pointer", + }, + + sqlite3_finalize: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + ], + result: "i32", + }, + + sqlite3_exec: { + parameters: [ + "pointer", // sqlite3 *db + "buffer", // const char *sql + "pointer", // sqlite3_callback callback + "pointer", // void *arg + "buffer", // char **errmsg + ], + result: "i32", + }, + + sqlite3_free: { + parameters: [ + "pointer", // void *p + ], + result: "void", + }, + + sqlite3_column_int: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "i32", + }, + + sqlite3_column_double: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "f64", + }, + + sqlite3_column_blob: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "pointer", + }, + + sqlite3_column_bytes: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "i32", + }, + + sqlite3_column_name: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "pointer", + }, + + sqlite3_column_decltype: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "u64", + }, + + sqlite3_bind_parameter_index: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "buffer", // const char *zName + ], + result: "i32", + }, + + sqlite3_bind_text: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + "buffer", // const char *zData + "i32", // int nData + "pointer", // void (*xDel)(void*) + ], + result: "i32", + }, + + sqlite3_bind_blob: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + "buffer", // const void *zData + "i32", // int nData + "pointer", // void (*xDel)(void*) + ], + result: "i32", + }, + + sqlite3_bind_double: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + "f64", // double rValue + ], + result: "i32", + }, + + sqlite3_bind_int: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + "i32", // int iValue + ], + result: "i32", + }, + + sqlite3_bind_int64: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + "i64", // i64 iValue + ], + result: "i32", + }, + + sqlite3_bind_null: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "i32", + }, + + sqlite3_expanded_sql: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + ], + result: "pointer", + }, + + sqlite3_bind_parameter_count: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + ], + result: "i32", + }, + + sqlite3_complete: { + parameters: [ + "buffer", // const char *sql + ], + result: "i32", + }, + + sqlite3_sourceid: { + parameters: [], + result: "pointer", + }, + + sqlite3_libversion: { + parameters: [], + result: "pointer", + }, + + sqlite3_blob_open: { + parameters: [ + "pointer", /* sqlite3 *db */ + "buffer", /* const char *zDb */ + "buffer", /* const char *zTable */ + "buffer", /* const char *zColumn */ + "i64", /* sqlite3_int64 iRow */ + "i32", /* int flags */ + "buffer", /* sqlite3_blob **ppBlob */ + ], + result: "i32", + }, + + sqlite3_blob_read: { + parameters: [ + "pointer", /* sqlite3_blob *blob */ + "buffer", /* void *Z */ + "i32", /* int N */ + "i32", /* int iOffset */ + ], + result: "i32", + }, + + sqlite3_blob_write: { + parameters: [ + "pointer", /* sqlite3_blob *blob */ + "buffer", /* const void *z */ + "i32", /* int n */ + "i32", /* int iOffset */ + ], + result: "i32", + }, + + sqlite3_blob_bytes: { + parameters: ["pointer" /* sqlite3_blob *blob */], + result: "i32", + }, + + sqlite3_blob_close: { + parameters: ["pointer" /* sqlite3_blob *blob */], + result: "i32", + }, + + sqlite3_sql: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + ], + result: "pointer", + }, + + sqlite3_stmt_readonly: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + ], + result: "i32", + }, + + sqlite3_bind_parameter_name: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "pointer", + }, + + sqlite3_errcode: { + parameters: [ + "pointer", // sqlite3 *db + ], + result: "i32", + }, + + sqlite3_errmsg: { + parameters: [ + "pointer", // sqlite3 *db + ], + result: "pointer", + }, + + sqlite3_errstr: { + parameters: [ + "i32", // int rc + ], + result: "pointer", + }, + + sqlite3_column_int64: { + parameters: [ + "pointer", // sqlite3_stmt *pStmt + "i32", // int iCol + ], + result: "i64", + }, + + sqlite3_backup_init: { + parameters: [ + "pointer", // sqlite3 *pDest + "buffer", // const char *zDestName + "pointer", // sqlite3 *pSource + "buffer", // const char *zSourceName + ], + result: "pointer", + }, + + sqlite3_backup_step: { + parameters: [ + "pointer", // sqlite3_backup *p + "i32", // int nPage + ], + result: "i32", + }, + + sqlite3_backup_finish: { + parameters: [ + "pointer", // sqlite3_backup *p + ], + result: "i32", + }, + + sqlite3_backup_remaining: { + parameters: [ + "pointer", // sqlite3_backup *p + ], + result: "i32", + }, + + sqlite3_backup_pagecount: { + parameters: [ + "pointer", // sqlite3_backup *p + ], + result: "i32", + }, + + sqlite3_create_function: { + parameters: [ + "pointer", // sqlite3 *db + "buffer", // const char *zFunctionName + "i32", // int nArg + "i32", // int eTextRep + "pointer", // void *pApp + "pointer", // void (*xFunc)(sqlite3_context*,int,sqlite3_value**) + "pointer", // void (*xStep)(sqlite3_context*,int,sqlite3_value**) + "pointer", // void (*xFinal)(sqlite3_context*) + ], + result: "i32", + optional: true, + }, + + sqlite3_result_blob: { + parameters: [ + "pointer", // sqlite3_context *p + "buffer", // const void *z + "i32", // int n + "isize", // void (*xDel)(void*) + ], + result: "void", + }, + + sqlite3_result_double: { + parameters: [ + "pointer", // sqlite3_context *p + "f64", // double rVal + ], + result: "void", + }, + + sqlite3_result_error: { + parameters: [ + "pointer", // sqlite3_context *p + "buffer", // const char *z + "i32", // int n + ], + result: "void", + }, + + sqlite3_result_int: { + parameters: [ + "pointer", // sqlite3_context *p + "i32", // int iVal + ], + result: "void", + }, + + sqlite3_result_int64: { + parameters: [ + "pointer", // sqlite3_context *p + "i64", // sqlite3_int64 iVal + ], + result: "void", + }, + + sqlite3_result_null: { + parameters: [ + "pointer", // sqlite3_context *p + ], + result: "void", + }, + + sqlite3_result_text: { + parameters: [ + "pointer", // sqlite3_context *p + "buffer", // const char *z + "i32", // int n + "isize", // void (*xDel)(void*) + ], + result: "void", + }, + + sqlite3_value_type: { + parameters: [ + "pointer", // sqlite3_value *pVal + ], + result: "i32", + }, + sqlite3_value_subtype: { + parameters: [ + "pointer", // sqlite3_value *pVal + ], + result: "i32", + }, + + sqlite3_value_blob: { + parameters: [ + "pointer", // sqlite3_value *pVal + ], + result: "pointer", + }, + + sqlite3_value_double: { + parameters: [ + "pointer", // sqlite3_value *pVal + ], + result: "f64", + }, + + sqlite3_value_int: { + parameters: [ + "pointer", // sqlite3_value *pVal + ], + result: "i32", + }, + + sqlite3_value_int64: { + parameters: [ + "pointer", // sqlite3_value *pVal + ], + result: "i64", + }, + + sqlite3_value_text: { + parameters: [ + "pointer", // sqlite3_value *pVal + ], + result: "pointer", + }, + + sqlite3_value_bytes: { + parameters: [ + "pointer", // sqlite3_value *pVal + ], + result: "i32", + }, + + sqlite3_aggregate_context: { + parameters: [ + "pointer", // sqlite3_context *p + "i32", // int nBytes + ], + result: "pointer", + optional: true, + }, + + sqlite3_enable_load_extension: { + parameters: [ + "pointer", // sqlite3 *db + "i32", // int onoff + ], + result: "i32", + optional: true, + }, + + sqlite3_load_extension: { + parameters: [ + "pointer", // sqlite3 *db + "buffer", // const char *zFile + "buffer", // const char *zProc + "buffer", // const char **pzErrMsg + ], + result: "i32", + optional: true, + }, + + sqlite3_initialize: { + parameters: [], + result: "i32", + }, +} as const satisfies Deno.ForeignLibraryInterface; + +let lib: Deno.DynamicLibrary["symbols"]; + +function tryGetEnv(key: string): string | undefined { + try { + return Deno.env.get(key); + } catch (e) { + if (e instanceof Deno.errors.PermissionDenied) { + return undefined; + } + throw e; + } +} + +try { + const customPath = tryGetEnv("DENO_SQLITE_PATH"); + const sqliteLocal = tryGetEnv("DENO_SQLITE_LOCAL"); + + if (sqliteLocal === "1") { + lib = Deno.dlopen( + new URL( + `../build/${Deno.build.os === "windows" ? "" : "lib"}sqlite3${ + Deno.build.arch !== "x86_64" ? `_${Deno.build.arch}` : "" + }.${ + Deno.build.os === "windows" + ? "dll" + : Deno.build.os === "darwin" + ? "dylib" + : "so" + }`, + import.meta.url, + ), + symbols, + ).symbols; + } else if (customPath) { + lib = Deno.dlopen(customPath, symbols).symbols; + } else { + lib = ( + await dlopen( + { + name: "sqlite3", + url: `${meta.github}/releases/download/${meta.version}/`, + suffixes: { + aarch64: "_aarch64", + }, + }, + symbols, + ) + ).symbols; + } +} catch (e) { + if (e instanceof Deno.errors.PermissionDenied) { + throw e; + } + + throw new Error("Failed to load SQLite3 Dynamic Library", { cause: e }); +} + +const init = lib.sqlite3_initialize(); +if (init !== 0) { + throw new Error(`Failed to initialize SQLite3: ${init}`); +} + +export default lib; diff --git a/vendor/jsr.io/@db/sqlite/0.12.0/src/statement.ts b/vendor/jsr.io/@db/sqlite/0.12.0/src/statement.ts new file mode 100644 index 0000000..1d33c7c --- /dev/null +++ b/vendor/jsr.io/@db/sqlite/0.12.0/src/statement.ts @@ -0,0 +1,727 @@ +import type { Database } from "./database.ts"; +import { readCstr, toCString, unwrap } from "./util.ts"; +import ffi from "./ffi.ts"; +import { + SQLITE3_DONE, + SQLITE3_ROW, + SQLITE_BLOB, + SQLITE_FLOAT, + SQLITE_INTEGER, + SQLITE_TEXT, +} from "./constants.ts"; + +const { + sqlite3_prepare_v2, + sqlite3_reset, + sqlite3_clear_bindings, + sqlite3_step, + sqlite3_column_count, + sqlite3_column_type, + sqlite3_column_value, + sqlite3_value_subtype, + sqlite3_column_text, + sqlite3_finalize, + sqlite3_column_int64, + sqlite3_column_double, + sqlite3_column_blob, + sqlite3_column_bytes, + sqlite3_column_name, + sqlite3_expanded_sql, + sqlite3_bind_parameter_count, + sqlite3_bind_int, + sqlite3_bind_int64, + sqlite3_bind_text, + sqlite3_bind_blob, + sqlite3_bind_double, + sqlite3_bind_parameter_index, + sqlite3_sql, + sqlite3_stmt_readonly, + sqlite3_bind_parameter_name, + sqlite3_changes, + sqlite3_column_int, +} = ffi; + +/** Types that can be possibly serialized as SQLite bind values */ +export type BindValue = + | number + | string + | symbol + | bigint + | boolean + | null + | undefined + | Date + | Uint8Array + | BindValue[] + | { [key: string]: BindValue }; + +export type BindParameters = BindValue[] | Record; +export type RestBindParameters = BindValue[] | [BindParameters]; + +/** Maps sqlite_stmt* pointers to sqlite* db pointers. */ +export const STATEMENTS_TO_DB = new Map(); + +const emptyStringBuffer = new Uint8Array(1); + +const statementFinalizer = new FinalizationRegistry( + (ptr: Deno.PointerValue) => { + if (STATEMENTS_TO_DB.has(ptr)) { + sqlite3_finalize(ptr); + STATEMENTS_TO_DB.delete(ptr); + } + }, +); + +// https://github.com/sqlite/sqlite/blob/195611d8e6fc0bba559a49e91e6ceb42e4bdd6ba/src/json.c#L125-L126 +const JSON_SUBTYPE = 74; + +const BIG_MAX = BigInt(Number.MAX_SAFE_INTEGER); + +function getColumn(handle: Deno.PointerValue, i: number, int64: boolean): any { + const ty = sqlite3_column_type(handle, i); + + if (ty === SQLITE_INTEGER && !int64) return sqlite3_column_int(handle, i); + + switch (ty) { + case SQLITE_TEXT: { + const ptr = sqlite3_column_text(handle, i); + if (ptr === null) return null; + const text = readCstr(ptr, 0); + const value = sqlite3_column_value(handle, i); + const subtype = sqlite3_value_subtype(value); + if (subtype === JSON_SUBTYPE) { + try { + return JSON.parse(text); + } catch (_error) { + return text; + } + } + return text; + } + + case SQLITE_INTEGER: { + const val = sqlite3_column_int64(handle, i); + if (val < -BIG_MAX || val > BIG_MAX) { + return val; + } + return Number(val); + } + + case SQLITE_FLOAT: { + return sqlite3_column_double(handle, i); + } + + case SQLITE_BLOB: { + const ptr = sqlite3_column_blob(handle, i); + + if (ptr === null) { + return new Uint8Array(); + } + + const bytes = sqlite3_column_bytes(handle, i); + return new Uint8Array( + Deno.UnsafePointerView.getArrayBuffer(ptr, bytes).slice(0), + ); + } + + default: { + return null; + } + } +} + +/** + * Represents a prepared statement. + * + * See `Database#prepare` for more information. + */ +export class Statement { + #handle: Deno.PointerValue; + #finalizerToken: { handle: Deno.PointerValue }; + #bound = false; + #hasNoArgs = false; + #unsafeConcurrency; + + /** + * Whether the query might call into JavaScript or not. + * + * Must enable if the query makes use of user defined functions, + * otherwise there can be V8 crashes. + * + * Off by default. Causes performance degradation. + */ + callback = false; + + /** Unsafe Raw (pointer) to the sqlite object */ + get unsafeHandle(): Deno.PointerValue { + return this.#handle; + } + + /** SQL string including bindings */ + get expandedSql(): string { + return readCstr(sqlite3_expanded_sql(this.#handle)!); + } + + /** The SQL string that we passed when creating statement */ + get sql(): string { + return readCstr(sqlite3_sql(this.#handle)!); + } + + /** Whether this statement doesn't make any direct changes to the DB */ + get readonly(): boolean { + return sqlite3_stmt_readonly(this.#handle) !== 0; + } + + /** Simply run the query without retrieving any output there may be. */ + run(...args: RestBindParameters): number { + return this.#runWithArgs(...args); + } + + /** + * Run the query and return the resulting rows where rows are array of columns. + */ + values(...args: RestBindParameters): T[] { + return this.#valuesWithArgs(...args); + } + + /** + * Run the query and return the resulting rows where rows are objects + * mapping column name to their corresponding values. + */ + all>( + ...args: RestBindParameters + ): T[] { + return this.#allWithArgs(...args); + } + + #bindParameterCount: number; + + /** Number of parameters (to be) bound */ + get bindParameterCount(): number { + return this.#bindParameterCount; + } + + constructor(public db: Database, sql: string) { + const pHandle = new BigUint64Array(1); + unwrap( + sqlite3_prepare_v2( + db.unsafeHandle, + toCString(sql), + sql.length, + pHandle, + null, + ), + db.unsafeHandle, + ); + this.#handle = Deno.UnsafePointer.create(pHandle[0]); + STATEMENTS_TO_DB.set(this.#handle, db.unsafeHandle); + this.#unsafeConcurrency = db.unsafeConcurrency; + this.#finalizerToken = { handle: this.#handle }; + statementFinalizer.register(this, this.#handle, this.#finalizerToken); + + if ( + (this.#bindParameterCount = sqlite3_bind_parameter_count( + this.#handle, + )) === 0 + ) { + this.#hasNoArgs = true; + this.all = this.#allNoArgs; + this.values = this.#valuesNoArgs; + this.run = this.#runNoArgs; + this.value = this.#valueNoArgs; + this.get = this.#getNoArgs; + } + } + + /** Shorthand for `this.callback = true`. Enables calling user defined functions. */ + enableCallback(): this { + this.callback = true; + return this; + } + + /** Get bind parameter name by index */ + bindParameterName(i: number): string { + return readCstr(sqlite3_bind_parameter_name(this.#handle, i)!); + } + + /** Get bind parameter index by name */ + bindParameterIndex(name: string): number { + if (name[0] !== ":" && name[0] !== "@" && name[0] !== "$") { + name = ":" + name; + } + return sqlite3_bind_parameter_index(this.#handle, toCString(name)); + } + + #begin(): void { + sqlite3_reset(this.#handle); + if (!this.#bound && !this.#hasNoArgs) { + sqlite3_clear_bindings(this.#handle); + this.#bindRefs.clear(); + } + } + + #bindRefs: Set = new Set(); + + #bind(i: number, param: BindValue): void { + switch (typeof param) { + case "number": { + if (Number.isInteger(param)) { + if ( + Number.isSafeInteger(param) && param >= -(2 ** 31) && + param < 2 ** 31 + ) { + unwrap(sqlite3_bind_int(this.#handle, i + 1, param)); + } else { + unwrap(sqlite3_bind_int64(this.#handle, i + 1, BigInt(param))); + } + } else { + unwrap(sqlite3_bind_double(this.#handle, i + 1, param)); + } + break; + } + case "string": { + if (param === "") { + // Empty string is encoded as empty buffer in Deno. And as of + // right now (Deno 1.29.1), ffi layer converts it to NULL pointer, + // which causes sqlite3_bind_text to bind the NULL value instead + // of an empty string. As a workaround let's use a special + // non-empty buffer, but specify zero length. + unwrap( + sqlite3_bind_text(this.#handle, i + 1, emptyStringBuffer, 0, null), + ); + } else { + const str = new TextEncoder().encode(param); + this.#bindRefs.add(str); + unwrap( + sqlite3_bind_text(this.#handle, i + 1, str, str.byteLength, null), + ); + } + break; + } + case "object": { + if (param === null) { + // pass + } else if (param instanceof Uint8Array) { + this.#bindRefs.add(param); + unwrap( + sqlite3_bind_blob( + this.#handle, + i + 1, + param.byteLength === 0 ? emptyStringBuffer : param, + param.byteLength, + null, + ), + ); + } else if (param instanceof Date) { + const cstring = toCString(param.toISOString()); + this.#bindRefs.add(cstring); + unwrap( + sqlite3_bind_text( + this.#handle, + i + 1, + cstring, + -1, + null, + ), + ); + } else { + const cstring = toCString(JSON.stringify(param)); + this.#bindRefs.add(cstring); + unwrap( + sqlite3_bind_text( + this.#handle, + i + 1, + cstring, + -1, + null, + ), + ); + } + break; + } + + case "bigint": { + unwrap(sqlite3_bind_int64(this.#handle, i + 1, param)); + break; + } + + case "boolean": + unwrap(sqlite3_bind_int( + this.#handle, + i + 1, + param ? 1 : 0, + )); + break; + default: { + throw new Error(`Value of unsupported type: ${Deno.inspect(param)}`); + } + } + } + + /** + * Bind parameters to the statement. This method can only be called once + * to set the parameters to be same throughout the statement. You cannot + * change the parameters after this method is called. + * + * This method is merely just for optimization to avoid binding parameters + * each time in prepared statement. + */ + bind(...params: RestBindParameters): this { + this.#bindAll(params); + this.#bound = true; + return this; + } + + #bindAll(params: RestBindParameters | BindParameters): void { + if (this.#bound) throw new Error("Statement already bound to values"); + if ( + typeof params[0] === "object" && params[0] !== null && + !(params[0] instanceof Uint8Array) && !(params[0] instanceof Date) + ) { + params = params[0]; + } + if (Array.isArray(params)) { + for (let i = 0; i < params.length; i++) { + this.#bind(i, (params as BindValue[])[i]); + } + } else { + for (const [name, param] of Object.entries(params)) { + const i = this.bindParameterIndex(name); + if (i === 0) { + throw new Error(`No such parameter "${name}"`); + } + this.#bind(i - 1, param as BindValue); + } + } + } + + #runNoArgs(): number { + const handle = this.#handle; + this.#begin(); + const status = sqlite3_step(handle); + if (status !== SQLITE3_ROW && status !== SQLITE3_DONE) { + unwrap(status, this.db.unsafeHandle); + } + sqlite3_reset(handle); + return sqlite3_changes(this.db.unsafeHandle); + } + + #runWithArgs(...params: RestBindParameters): number { + const handle = this.#handle; + this.#begin(); + this.#bindAll(params); + const status = sqlite3_step(handle); + if (!this.#hasNoArgs && !this.#bound && params.length) { + this.#bindRefs.clear(); + } + if (status !== SQLITE3_ROW && status !== SQLITE3_DONE) { + unwrap(status, this.db.unsafeHandle); + } + sqlite3_reset(handle); + return sqlite3_changes(this.db.unsafeHandle); + } + + #valuesNoArgs>(): T[] { + const handle = this.#handle; + this.#begin(); + const columnCount = sqlite3_column_count(handle); + const result: T[] = []; + const getRowArray = new Function( + "getColumn", + ` + return function(h) { + return [${ + Array.from({ length: columnCount }).map((_, i) => + `getColumn(h, ${i}, ${this.db.int64})` + ) + .join(", ") + }]; + }; + `, + )(getColumn); + let status = sqlite3_step(handle); + while (status === SQLITE3_ROW) { + result.push(getRowArray(handle)); + status = sqlite3_step(handle); + } + if (status !== SQLITE3_DONE) { + unwrap(status, this.db.unsafeHandle); + } + sqlite3_reset(handle); + return result as T[]; + } + + #valuesWithArgs>( + ...params: RestBindParameters + ): T[] { + const handle = this.#handle; + this.#begin(); + this.#bindAll(params); + const columnCount = sqlite3_column_count(handle); + const result: T[] = []; + const getRowArray = new Function( + "getColumn", + ` + return function(h) { + return [${ + Array.from({ length: columnCount }).map((_, i) => + `getColumn(h, ${i}, ${this.db.int64})` + ) + .join(", ") + }]; + }; + `, + )(getColumn); + let status = sqlite3_step(handle); + while (status === SQLITE3_ROW) { + result.push(getRowArray(handle)); + status = sqlite3_step(handle); + } + if (!this.#hasNoArgs && !this.#bound && params.length) { + this.#bindRefs.clear(); + } + if (status !== SQLITE3_DONE) { + unwrap(status, this.db.unsafeHandle); + } + sqlite3_reset(handle); + return result as T[]; + } + + #rowObjectFn: ((h: Deno.PointerValue) => any) | undefined; + + getRowObject(): (h: Deno.PointerValue) => any { + if (!this.#rowObjectFn || !this.#unsafeConcurrency) { + const columnNames = this.columnNames(); + const getRowObject = new Function( + "getColumn", + ` + return function(h) { + return { + ${ + columnNames.map((name, i) => + `"${name}": getColumn(h, ${i}, ${this.db.int64})` + ).join(",\n") + } + }; + }; + `, + )(getColumn); + this.#rowObjectFn = getRowObject; + } + return this.#rowObjectFn!; + } + + #allNoArgs(): T[] { + const handle = this.#handle; + this.#begin(); + const getRowObject = this.getRowObject(); + const result: T[] = []; + let status = sqlite3_step(handle); + while (status === SQLITE3_ROW) { + result.push(getRowObject(handle)); + status = sqlite3_step(handle); + } + if (status !== SQLITE3_DONE) { + unwrap(status, this.db.unsafeHandle); + } + sqlite3_reset(handle); + return result as T[]; + } + + #allWithArgs( + ...params: RestBindParameters + ): T[] { + const handle = this.#handle; + this.#begin(); + this.#bindAll(params); + const getRowObject = this.getRowObject(); + const result: T[] = []; + let status = sqlite3_step(handle); + while (status === SQLITE3_ROW) { + result.push(getRowObject(handle)); + status = sqlite3_step(handle); + } + if (!this.#hasNoArgs && !this.#bound && params.length) { + this.#bindRefs.clear(); + } + if (status !== SQLITE3_DONE) { + unwrap(status, this.db.unsafeHandle); + } + sqlite3_reset(handle); + return result as T[]; + } + + /** Fetch only first row as an array, if any. */ + value>( + ...params: RestBindParameters + ): T | undefined { + const handle = this.#handle; + const int64 = this.db.int64; + const arr = new Array(sqlite3_column_count(handle)); + sqlite3_reset(handle); + if (!this.#hasNoArgs && !this.#bound) { + sqlite3_clear_bindings(handle); + this.#bindRefs.clear(); + if (params.length) { + this.#bindAll(params); + } + } + + const status = sqlite3_step(handle); + + if (!this.#hasNoArgs && !this.#bound && params.length) { + this.#bindRefs.clear(); + } + + if (status === SQLITE3_ROW) { + for (let i = 0; i < arr.length; i++) { + arr[i] = getColumn(handle, i, int64); + } + sqlite3_reset(this.#handle); + return arr as T; + } else if (status === SQLITE3_DONE) { + return; + } else { + unwrap(status, this.db.unsafeHandle); + } + } + + #valueNoArgs>(): T | undefined { + const handle = this.#handle; + const int64 = this.db.int64; + const cc = sqlite3_column_count(handle); + const arr = new Array(cc); + sqlite3_reset(handle); + const status = sqlite3_step(handle); + if (status === SQLITE3_ROW) { + for (let i = 0; i < cc; i++) { + arr[i] = getColumn(handle, i, int64); + } + sqlite3_reset(this.#handle); + return arr as T; + } else if (status === SQLITE3_DONE) { + return; + } else { + unwrap(status, this.db.unsafeHandle); + } + } + + #columnNames: string[] | undefined; + #rowObject: Record = {}; + + columnNames(): string[] { + if (!this.#columnNames || !this.#unsafeConcurrency) { + const columnCount = sqlite3_column_count(this.#handle); + const columnNames = new Array(columnCount); + for (let i = 0; i < columnCount; i++) { + columnNames[i] = readCstr(sqlite3_column_name(this.#handle, i)!); + } + this.#columnNames = columnNames; + this.#rowObject = {}; + for (const name of columnNames) { + this.#rowObject![name] = undefined; + } + } + return this.#columnNames!; + } + + /** Fetch only first row as an object, if any. */ + get( + ...params: RestBindParameters + ): T | undefined { + const handle = this.#handle; + const int64 = this.db.int64; + + const columnNames = this.columnNames(); + + const row: Record = {}; + sqlite3_reset(handle); + if (!this.#hasNoArgs && !this.#bound) { + sqlite3_clear_bindings(handle); + this.#bindRefs.clear(); + if (params.length) { + this.#bindAll(params); + } + } + + const status = sqlite3_step(handle); + + if (!this.#hasNoArgs && !this.#bound && params.length) { + this.#bindRefs.clear(); + } + + if (status === SQLITE3_ROW) { + for (let i = 0; i < columnNames.length; i++) { + row[columnNames[i]] = getColumn(handle, i, int64); + } + sqlite3_reset(this.#handle); + return row as T; + } else if (status === SQLITE3_DONE) { + return; + } else { + unwrap(status, this.db.unsafeHandle); + } + } + + #getNoArgs(): T | undefined { + const handle = this.#handle; + const int64 = this.db.int64; + const columnNames = this.columnNames(); + const row: Record = this.#rowObject; + sqlite3_reset(handle); + const status = sqlite3_step(handle); + if (status === SQLITE3_ROW) { + for (let i = 0; i < columnNames?.length; i++) { + row[columnNames[i]] = getColumn(handle, i, int64); + } + sqlite3_reset(handle); + return row as T; + } else if (status === SQLITE3_DONE) { + return; + } else { + unwrap(status, this.db.unsafeHandle); + } + } + + /** Free up the statement object. */ + finalize(): void { + if (!STATEMENTS_TO_DB.has(this.#handle)) return; + this.#bindRefs.clear(); + statementFinalizer.unregister(this.#finalizerToken); + STATEMENTS_TO_DB.delete(this.#handle); + unwrap(sqlite3_finalize(this.#handle)); + } + + /** Coerces the statement to a string, which in this case is expanded SQL. */ + toString(): string { + return readCstr(sqlite3_expanded_sql(this.#handle)!); + } + + /** Iterate over resultant rows from query. */ + *iter(...params: RestBindParameters): IterableIterator { + this.#begin(); + this.#bindAll(params); + const getRowObject = this.getRowObject(); + let status = sqlite3_step(this.#handle); + while (status === SQLITE3_ROW) { + yield getRowObject(this.#handle); + status = sqlite3_step(this.#handle); + } + if (status !== SQLITE3_DONE) { + unwrap(status, this.db.unsafeHandle); + } + sqlite3_reset(this.#handle); + } + + [Symbol.iterator](): IterableIterator { + return this.iter(); + } + + [Symbol.dispose](): void { + this.finalize(); + } + + [Symbol.for("Deno.customInspect")](): string { + return `Statement { ${this.expandedSql} }`; + } +} diff --git a/vendor/jsr.io/@db/sqlite/0.12.0/src/util.ts b/vendor/jsr.io/@db/sqlite/0.12.0/src/util.ts new file mode 100644 index 0000000..ba12694 --- /dev/null +++ b/vendor/jsr.io/@db/sqlite/0.12.0/src/util.ts @@ -0,0 +1,48 @@ +import { SQLITE3_DONE, SQLITE3_MISUSE, SQLITE3_OK } from "./constants.ts"; +import ffi from "./ffi.ts"; + +const { + sqlite3_errmsg, + sqlite3_errstr, +} = ffi; + +export const encoder = new TextEncoder(); + +export function toCString(str: string): Uint8Array { + return encoder.encode(str + "\0"); +} + +export function isObject(value: unknown): boolean { + return typeof value === "object" && value !== null; +} + +export class SqliteError extends Error { + name = "SqliteError"; + + constructor( + public code: number = 1, + message: string = "Unknown Error", + ) { + super(`${code}: ${message}`); + } +} + +export function unwrap(code: number, db?: Deno.PointerValue): void { + if (code === SQLITE3_OK || code === SQLITE3_DONE) return; + if (code === SQLITE3_MISUSE) { + throw new SqliteError(code, "SQLite3 API misuse"); + } else if (db !== undefined) { + const errmsg = sqlite3_errmsg(db); + if (errmsg === null) throw new SqliteError(code); + throw new Error(Deno.UnsafePointerView.getCString(errmsg)); + } else { + throw new SqliteError( + code, + Deno.UnsafePointerView.getCString(sqlite3_errstr(code)!), + ); + } +} + +export const buf = Deno.UnsafePointerView.getArrayBuffer; + +export const readCstr = Deno.UnsafePointerView.getCString; diff --git a/vendor/jsr.io/@db/sqlite/0.12.0_meta.json b/vendor/jsr.io/@db/sqlite/0.12.0_meta.json new file mode 100644 index 0000000..bd931f8 --- /dev/null +++ b/vendor/jsr.io/@db/sqlite/0.12.0_meta.json @@ -0,0 +1,532 @@ +{ + "manifest": { + "/src/statement.ts": { + "size": 19811, + "checksum": "sha256-e8ccde898aef47c7a2514953aca5359a44a285bc3dc0de5819d66f891f477be1" + }, + "/src/ffi.ts": { + "size": 12263, + "checksum": "sha256-795b598eeae4d12f182e7bcdab524b74b0f01d6deae7f4d8ce63f25c06a46154" + }, + "/bench/northwind/deno.js": { + "size": 993, + "checksum": "sha256-8009f531181554cc0b7e00f2e0a32f00aa5debad08347bc0c340959034155b0c" + }, + "/src/util.ts": { + "size": 1252, + "checksum": "sha256-c6604183d2ec5fb17fa0a018572ed5f2317b319dbd7bf48d88a5d06ff25b2cc3" + }, + "/bench/northwind/deno_old.js": { + "size": 845, + "checksum": "sha256-2c739731eff0b14572b71480fea6daa1a7233733998a9b2fbe82457116d25c08" + }, + "/.gitmodules": { + "size": 76, + "checksum": "sha256-5f8d6b06ad75304ae8f1cac12dee879165b7a49f4e5a716b06f5ff1ddcee0418" + }, + "/src/constants.ts": { + "size": 2478, + "checksum": "sha256-85fd27aa6e199093f25f5f437052e16fd0e0870b96ca9b24a98e04ddc8b7d006" + }, + "/.github/FUNDING.yml": { + "size": 23, + "checksum": "sha256-bb4e0cedf30e330abf572013ee6220f4928273d8cc8dd90242b5b6888d4c8e6a" + }, + "/bench/northwind/deno_wasm.js": { + "size": 1028, + "checksum": "sha256-f91a88e2eb8b6e10b4ca9a86eb8f36453792d4ef075ccbf7a756e701fab20ff0" + }, + "/test/test.ts": { + "size": 14434, + "checksum": "sha256-6ef55635b1143b7dbf121eb9d3458a91537334f058f6d57c603bc413e72caa17" + }, + "/bench/northwind/node.mjs": { + "size": 1091, + "checksum": "sha256-cd3759ab841b5f0c1c0406dfd5c169f63a535f748b0a2a11fe25822e6bc12db8" + }, + "/bench/makefile": { + "size": 79, + "checksum": "sha256-58559ec25fcf986ce9250db85784722e622332ab854611428d7c717abd896b7b" + }, + "/bench/northwind/bun.js": { + "size": 968, + "checksum": "sha256-9433ae459a7acbd9f78c7d37ba0ff8fd247186f3aed0c6a64a6073be24ca9a52" + }, + "/LICENSE": { + "size": 11543, + "checksum": "sha256-23583fa34c041cdeb82b28bb117d8697cd5c212effff70efb831f173c0c68b66" + }, + "/mod.ts": { + "size": 432, + "checksum": "sha256-3169f246c0eddd6ed82862758f4109f167b7ba5538236240fbb26a129f1bc16c" + }, + "/bench/bench.js": { + "size": 3409, + "checksum": "sha256-f54929af49c5c1d5825ba3689064161717315e35df25117daf0167da672a3f72" + }, + "/bench/bench_python.py": { + "size": 666, + "checksum": "sha256-c85d12f7a1d88e54418b58fcb20b1c9628dd721997d74bfdcce4e38194bd5293" + }, + "/bench/bench_node.js": { + "size": 740, + "checksum": "sha256-2524a7f6c2c9350c5a8ab1a05df9977075350f97a9cad2640b9bd51da43e897e" + }, + "/bench/bench_deno_ffi.js": { + "size": 1826, + "checksum": "sha256-53c02fc0ae9bd7b84b5d06220d0a6fff9d0daac1abf117d1dc30a2ded46f23e2" + }, + "/bench/download.sh": { + "size": 375, + "checksum": "sha256-07c52368f7a13765303430ec1797bcb098dcc66482191219bb154ea07441928a" + }, + "/bench/bench_bun.js": { + "size": 828, + "checksum": "sha256-03a7c603a5c55b21b3f6febeaf5061f245875be47ba76dbd474024ac4a926105" + }, + "/bench/bench.c": { + "size": 1359, + "checksum": "sha256-275247e3bcd62935376369940abc8617787113b31d76911a1431b65650ef2547" + }, + "/test/deps.ts": { + "size": 66, + "checksum": "sha256-5da2bf33a7a61aa2680f1aba05b07f1a687a682d7b8f4f8a8a1481ee6163260a" + }, + "/bench/bench_deno.js": { + "size": 729, + "checksum": "sha256-2ca30ec55aac5b48bfc4bca27305c7171a111743783dc138f45a56827dae46f7" + }, + "/src/blob.ts": { + "size": 4161, + "checksum": "sha256-330886fae9714e4a612786f44d8117d65f91e778cf3f40de59b34879fc7ca9ab" + }, + "/package.json": { + "size": 1093, + "checksum": "sha256-062ecb8336c9921ba20523b172fe4fcd0547bcb885b482fe3089ee6d84b7a177" + }, + "/src/database.ts": { + "size": 25465, + "checksum": "sha256-4d380d7f0e5a2cf74635a9fcd2b4e27373533f2816cde5357067e51fd22ad8d0" + }, + "/deno.json": { + "size": 1415, + "checksum": "sha256-b03d6de05f953886662ea987212539af8456a91352684c84af2188520449d42a" + }, + "/.github/workflows/ci.yml": { + "size": 2949, + "checksum": "sha256-9d5758dae05df104fcc5252808b6b23347aa588ac8a833624a064205dffe57e3" + }, + "/.github/workflows/publish.yml": { + "size": 238, + "checksum": "sha256-8b6aee1b0b7b5c7a50623ce94e54b936219ea23e319c5d448551ce1d8691ff12" + }, + "/bench/bench_bun_ffi.js": { + "size": 3100, + "checksum": "sha256-62ce7a93d735becb71188cb642d5ed07f9860631ccd8aed2d5b5e58770b4cc25" + }, + "/README.md": { + "size": 2679, + "checksum": "sha256-769ae29ef3e5235160b53a7d1e2a3746bbdc1c8a0c6d715e721a262040ef7941" + }, + "/bench/bench_deno_wasm.js": { + "size": 818, + "checksum": "sha256-90e7cb8198452efb5bd1a14e720a77ea3bac76be38249406ad8208d9cbe12b03" + }, + "/doc.md": { + "size": 12287, + "checksum": "sha256-5052824d485ec61794dca20fe904900f48f47dab096b3282b9eba86ac0015a26" + }, + "/bench/results.png": { + "size": 42888, + "checksum": "sha256-b6fd903c2f4977e2ad89ccc22988495eb21bb51b6876665ad22b02d24266d16a" + }, + "/deps.ts": { + "size": 99, + "checksum": "sha256-d2f23a4489d27ed7ba1f601b86a85ff488a87603e4be7a15f3ea15154fc288ec" + } + }, + "moduleGraph2": { + "/src/util.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 0, + 57 + ], + [ + 0, + 73 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./ffi.ts", + "specifierRange": [ + [ + 1, + 16 + ], + [ + 1, + 26 + ] + ] + } + ] + }, + "/deps.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "jsr:@std/path@0.217", + "specifierRange": [ + [ + 0, + 28 + ], + [ + 0, + 49 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "jsr:@denosaurs/plug@1", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 46 + ] + ] + } + ] + }, + "/src/database.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./ffi.ts", + "specifierRange": [ + [ + 0, + 16 + ], + [ + 0, + 26 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../deps.ts", + "specifierRange": [ + [ + 1, + 28 + ], + [ + 1, + 40 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 12, + 7 + ], + [ + 12, + 23 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./util.ts", + "specifierRange": [ + [ + 13, + 44 + ], + [ + 13, + 55 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./statement.ts", + "specifierRange": [ + [ + 18, + 7 + ], + [ + 18, + 23 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./blob.ts", + "specifierRange": [ + [ + 19, + 46 + ], + [ + 19, + 57 + ] + ] + } + ] + }, + "/src/blob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./database.ts", + "specifierRange": [ + [ + 0, + 30 + ], + [ + 0, + 45 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./ffi.ts", + "specifierRange": [ + [ + 1, + 16 + ], + [ + 1, + 26 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./util.ts", + "specifierRange": [ + [ + 2, + 34 + ], + [ + 2, + 45 + ] + ] + } + ] + }, + "/src/statement.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./database.ts", + "specifierRange": [ + [ + 0, + 30 + ], + [ + 0, + 45 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./util.ts", + "specifierRange": [ + [ + 1, + 44 + ], + [ + 1, + 55 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./ffi.ts", + "specifierRange": [ + [ + 2, + 16 + ], + [ + 2, + 26 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 10, + 7 + ], + [ + 10, + 23 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./src/database.ts", + "specifierRange": [ + [ + 9, + 7 + ], + [ + 9, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./src/blob.ts", + "specifierRange": [ + [ + 10, + 46 + ], + [ + 10, + 61 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./src/statement.ts", + "specifierRange": [ + [ + 16, + 7 + ], + [ + 16, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./src/util.ts", + "specifierRange": [ + [ + 17, + 28 + ], + [ + 17, + 43 + ] + ] + } + ] + }, + "/src/constants.ts": {}, + "/src/ffi.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../deno.json", + "specifierRange": [ + [ + 0, + 17 + ], + [ + 0, + 31 + ] + ], + "importAttributes": { + "known": { + "type": "json" + } + } + }, + { + "type": "static", + "kind": "import", + "specifier": "../deps.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 35 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@db/sqlite/meta.json b/vendor/jsr.io/@db/sqlite/meta.json new file mode 100644 index 0000000..0fdb2e7 --- /dev/null +++ b/vendor/jsr.io/@db/sqlite/meta.json @@ -0,0 +1,10 @@ +{ + "scope": "db", + "name": "sqlite", + "latest": "0.12.0", + "versions": { + "0.11.0": {}, + "0.12.0": {}, + "0.11.1": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@denosaurs/plug/1.0.6/download.ts b/vendor/jsr.io/@denosaurs/plug/1.0.6/download.ts new file mode 100644 index 0000000..6e8aa62 --- /dev/null +++ b/vendor/jsr.io/@denosaurs/plug/1.0.6/download.ts @@ -0,0 +1,322 @@ +/** + * This module contains the common types used in plug. + * + * @module + */ + +import { + dirname, + extname, + fromFileUrl, + join, + normalize, + resolve, +} from "jsr:@std/path@^0.221.0"; +import { ensureDir } from "jsr:@std/fs@^0.221.0"; +import { green } from "jsr:@std/fmt@^0.221.0/colors"; +import type { + ArchRecord, + CacheLocation, + FetchOptions, + NestedCrossRecord, + OsRecord, +} from "./types.ts"; +import { + cacheDir, + denoCacheDir, + isFile, + stringToURL, + urlToFilename, +} from "./util.ts"; + +/** + * A list of all possible system architectures. + * + * This should match the {@link Deno.build.arch} type. + */ +export const ALL_ARCHS: (typeof Deno.build.arch)[] = [ + "x86_64", + "aarch64", +]; + +/** + * A list of all possible system operating systems. + * + * This should match the {@link Deno.build.os} type. + */ +export const ALL_OSS: (typeof Deno.build.os)[] = [ + "darwin", + "linux", + "android", + "windows", + "freebsd", + "netbsd", + "aix", + "solaris", + "illumos", +]; + +/** + * The default file extensions for dynamic libraries in the different operating + * systems. + */ +export const defaultExtensions: OsRecord = { + darwin: "dylib", + linux: "so", + windows: "dll", + freebsd: "so", + netbsd: "so", + aix: "so", + solaris: "so", + illumos: "so", + android: "so", +}; + +/** + * The default file prefixes for dynamic libraries in the different operating + * systems. + */ +export const defaultPrefixes: OsRecord = { + darwin: "lib", + linux: "lib", + netbsd: "lib", + freebsd: "lib", + aix: "lib", + solaris: "lib", + illumos: "lib", + windows: "", + android: "lib", +}; + +function getCrossOption(record?: NestedCrossRecord): T | undefined { + if (record === undefined) { + return; + } + + if (ALL_OSS.some((os) => os in record)) { + const subrecord = (record as OsRecord)[Deno.build.os]; + + if ( + subrecord && + typeof subrecord === "object" && + ALL_ARCHS.some((arch) => arch in subrecord) + ) { + return (subrecord as ArchRecord)[Deno.build.arch]; + } else { + return subrecord as T; + } + } + + if (ALL_ARCHS.some((arch) => arch in record)) { + const subrecord = (record as ArchRecord)[Deno.build.arch]; + + if ( + subrecord && + typeof subrecord === "object" && + ALL_OSS.some((os) => os in subrecord) + ) { + return (subrecord as OsRecord)[Deno.build.os]; + } else { + return subrecord as T; + } + } +} + +/** + * Creates a cross-platform url for the specified options + * + * @param options See {@link FetchOptions} + * @returns A fully specified url to the specified file + */ +export function createDownloadURL(options: FetchOptions): URL { + if (typeof options === "string" || options instanceof URL) { + options = { url: options }; + } + + // Initialize default options + options.extensions ??= defaultExtensions; + options.prefixes ??= defaultPrefixes; + + // Clean extensions to not contain a leading dot + for (const key in options.extensions) { + const os = key as typeof Deno.build.os; + if (options.extensions[os] !== undefined) { + options.extensions[os] = options.extensions[os].replace(/\.?(.+)/, "$1"); + } + } + + // Get the os-specific url + let url: URL; + if (options.url instanceof URL) { + url = options.url; + } else if (typeof options.url === "string") { + url = stringToURL(options.url); + } else { + const tmpUrl = getCrossOption(options.url); + if (tmpUrl === undefined) { + throw new TypeError( + `An URL for the "${Deno.build.os}-${Deno.build.arch}" target was not provided.`, + ); + } + + if (typeof tmpUrl === "string") { + url = stringToURL(tmpUrl); + } else { + url = tmpUrl; + } + } + + // Assemble automatic cross-platform named urls here + if ( + "name" in options && + !Object.values(options.extensions).includes(extname(url.pathname)) + ) { + if (!url.pathname.endsWith("/")) { + url.pathname = `${url.pathname}/`; + } + + const prefix = getCrossOption(options.prefixes) ?? ""; + const suffix = getCrossOption(options.suffixes) ?? ""; + const extension = options.extensions[Deno.build.os]; + + if (options.name === undefined) { + throw new TypeError( + `Expected the "name" property for an automatically assembled URL.`, + ); + } + + const filename = `${prefix}${options.name}${suffix}.${extension}`; + + url = new URL(filename, url); + } + + return url; +} + +/** + * Return the path to the cache location along with ensuring its existance + * + * @param location See the {@link CacheLocation} type + * @returns The cache location path + */ +export async function ensureCacheLocation( + location: CacheLocation = "deno", +): Promise { + if (location === "deno") { + const dir = denoCacheDir(); + + if (dir === undefined) { + throw new Error( + "Could not get the deno cache directory, try using another CacheLocation in the plug options.", + ); + } + + location = join(dir, "plug"); + } else if (location === "cache") { + const dir = cacheDir(); + + if (dir === undefined) { + throw new Error( + "Could not get the cache directory, try using another CacheLocation in the plug options.", + ); + } + + location = join(dir, "plug"); + } else if (location === "cwd") { + location = join(Deno.cwd(), "plug"); + } else if (location === "tmp") { + location = await Deno.makeTempDir({ prefix: "plug" }); + } else if (typeof location === "string" && location.startsWith("file://")) { + location = fromFileUrl(location); + } else if (location instanceof URL) { + if (location?.protocol !== "file:") { + throw new TypeError( + "Cannot use any other protocol than file:// for an URL cache location.", + ); + } + + location = fromFileUrl(location); + } + + location = resolve(normalize(location)); + + await ensureDir(location); + + return location; +} + +/** + * Downloads a file using the specified {@link FetchOptions} + * + * @param options See {@link FetchOptions} + * @returns The path to the downloaded file in its cached location + */ +export async function download(options: FetchOptions): Promise { + const location = + (typeof options === "object" && "location" in options + ? options.location + : undefined) ?? "deno"; + const setting = + (typeof options === "object" && "cache" in options + ? options.cache + : undefined) ?? "use"; + const url = createDownloadURL(options); + const directory = await ensureCacheLocation(location); + const cacheBasePath = join(directory, await urlToFilename(url)); + const cacheFilePath = `${cacheBasePath}${extname(url.pathname)}`; + const cacheMetaPath = `${cacheBasePath}.metadata.json`; + const cached = setting === "use" + ? await isFile(cacheFilePath) + : setting === "only" || setting !== "reloadAll"; + + await ensureDir(dirname(cacheBasePath)); + + if (!cached) { + const meta = { url }; + switch (url.protocol) { + case "http:": + case "https:": { + console.log(`${green("Downloading")} ${url}`); + const response = await fetch(url.toString()); + + if (!response.ok) { + if (response.status === 404) { + throw new Error(`Could not find ${url}`); + } else { + throw new Deno.errors.Http( + `${response.status} ${response.statusText}`, + ); + } + } + + await Deno.writeFile( + cacheFilePath, + new Uint8Array(await response.arrayBuffer()), + ); + break; + } + + case "file:": { + console.log(`${green("Copying")} ${url}`); + await Deno.copyFile(fromFileUrl(url), cacheFilePath); + if (Deno.build.os !== "windows") { + await Deno.chmod(cacheFilePath, 0o644); + } + break; + } + + default: { + throw new TypeError( + `Cannot fetch to cache using the "${url.protocol}" protocol`, + ); + } + } + await Deno.writeTextFile(cacheMetaPath, JSON.stringify(meta)); + } + + if (!(await isFile(cacheFilePath))) { + throw new Error(`Could not find "${url}" in cache.`); + } + + return cacheFilePath; +} diff --git a/vendor/jsr.io/@denosaurs/plug/1.0.6/mod.ts b/vendor/jsr.io/@denosaurs/plug/1.0.6/mod.ts new file mode 100644 index 0000000..9386d7b --- /dev/null +++ b/vendor/jsr.io/@denosaurs/plug/1.0.6/mod.ts @@ -0,0 +1,159 @@ +/** + * Plug is a drop in extension for using remote dynamic libraries in deno. It + * automatically handles caching and loading with minimal overhead. It can + * automatically create the URL for your cross-operating-system, cross-architecture + * libraries if you so wish using a simple configuration which deviates from + * the standard URL/string path input. + * + * @example + * ```ts + * import { dlopen } from "@denosaurs/plug"; + * + * // Drop-in replacement for `Deno.dlopen` which fetches the following depending + * // on operating system: + * // * darwin: "https://example.com/some/path/libexample.dylib" + * // * windows: "https://example.com/some/path/example.dll" + * // * linux: "https://example.com/some/path/libexample.so" + * const library = await dlopen("https://example.com/some/path/", { + * noop: { parameters: [], result: "void" }, + * }); + * + * library.symbols.noop(); + * ``` + * + * @example + * ```ts + * import { dlopen, FetchOptions } from "@denosaurs/plug"; + * + * // If you want plug to guess your binary names + * const options: FetchOptions = { + * name: "example", + * url: "https://example.com/some/path/", + * // Becomes: + * // darwin: "https://example.com/some/path/libexample.dylib" + * // windows: "https://example.com/some/path/example.dll" + * // linux: "https://example.com/some/path/libexample.so" + * }; + * + * const library = await dlopen(options, { + * noop: { parameters: [], result: "void" }, + * }); + * + * library.symbols.noop(); + * ``` + * + * @example + * ```ts + * import { dlopen, FetchOptions } from "@denosaurs/plug"; + * + * // Also you can specify the path for certain architecture + * const options: FetchOptions = { + * name: "example", + * url: { + * darwin: { + * aarch64: `https://example.com/some/path/libexample.aarch64.dylib`, + * x86_64: `https://example.com/some/path/libexample.x86_64.dylib`, + * }, + * windows: `https://example.com/some/path/example.dll`, + * linux: `https://example.com/some/path/libexample.so`, + * }, + * }; + * + * await dlopen(options, {}); + * ``` + * + * @example + * ```ts + * import { dlopen, FetchOptions } from "@denosaurs/plug"; + * + * // Or even configure plug to automatically guess the binary names for you, + * // even when there are special rules for naming on specific architectures + * const options: FetchOptions = { + * name: "test", + * url: "https://example.com/some/path/", + * suffixes: { + * darwin: { + * aarch64: ".aarch64", + * x86_64: ".x86_64", + * }, + * }, + * // Becomes: + * // darwin-aarch64: "https://example.com/some/path/libexample.aarch64.dylib" + * // darwin-x86_64: "https://example.com/some/path/libexample.x86_64.dylib" + * }; + * + * await dlopen(options, {}); + * ``` + * + * @module + */ + +import { download } from "./download.ts"; +import type { FetchOptions } from "./types.ts"; + +export type { + ArchRecord, + CacheLocation, + CacheOptions, + CacheSetting, + CrossOptions, + FetchOptions, + NamedOptions, + NestedCrossRecord, + OsRecord, + URLOptions, +} from "./types.ts"; +export { download } from "./download.ts"; + +/* Magic types from deno which help implement better FFI type checking */ +type Cast = A extends B ? A : B; +type Const = Cast< + T, + | (T extends string | number | bigint | boolean ? T : never) + | { [K in keyof T]: Const } + | [] +>; + +/** + * Opens a dynamic library and registers symbols, compatible with + * {@link Deno.dlopen} yet with extended functionality allowing you to use + * remote (or local) binaries, automatically building the binary name and + * controlling the caching policy. + * + * @example + * ```ts + * import { dlopen, FetchOptions } from "@denosaurs/plug"; + * + * // Configure plug to automatically guess the binary names for you, even when + * // there for example are special rules for naming on specific architectures + * const options: FetchOptions = { + * name: "test", + * url: "https://example.com/some/path/", + * suffixes: { + * darwin: { + * aarch64: ".aarch64", + * x86_64: ".x86_64", + * }, + * }, + * // Becomes: + * // darwin-aarch64: "https://example.com/some/path/libexample.aarch64.dylib" + * // darwin-x86_64: "https://example.com/some/path/libexample.x86_64.dylib" + * }; + * + * await dlopen(options, {}); + * ``` + * + * @param options See {@link FetchOptions} + * @param symbols A record extending {@link Deno.ForeignLibraryInterface} + * @returns An opened {@link Deno.DynamicLibrary} + */ +export async function dlopen( + options: FetchOptions, + symbols: Const, +): Promise> { + if (Deno.dlopen === undefined) { + throw new Error("`--unstable-ffi` is required"); + } + // deno-lint-ignore no-explicit-any + return Deno.dlopen(await download(options), symbols as any); +} diff --git a/vendor/jsr.io/@denosaurs/plug/1.0.6/types.ts b/vendor/jsr.io/@denosaurs/plug/1.0.6/types.ts new file mode 100644 index 0000000..c64945f --- /dev/null +++ b/vendor/jsr.io/@denosaurs/plug/1.0.6/types.ts @@ -0,0 +1,152 @@ +/** + * This module contains the common types used in plug. + * + * @module + */ + +/** + * A record keyed by possible operating system identifiers + */ +export type OsRecord = { [os in typeof Deno.build.os]: T }; +/** + * A record keyed by possible system architecture identifiers + */ +export type ArchRecord = { [os in typeof Deno.build.arch]: T }; +/** + * An optionally nested record of either an {@link OsRecord} or + * {@link ArchRecord} containing either the generic T or the opposite record + * type from the parent. That way we can query for the record entry of a target + * keyed by both an architecture and operating system in the ordered entered in + * this record. + */ +export type NestedCrossRecord = Partial< + | OsRecord>> + | ArchRecord>> +>; + +/** + * Where the plug cache is stored: + * + * | Option | Description | + * | ------- | ----------------------------------------------------------------------------------------- | + * | `deno` | The location of the default deno cache, this is the default option. | + * | `cwd` | A `plug` folder in the current working directory. | + * | `cache` | A `plug` folder in default cache directory for the current os. | + * | `tmp` | A temporary `plug` prefixed folder in the default temporary directory for the current os. | + * | string | A file path pointing to the folder where the plug cache should be stored. | + * | URL | A file protocol URL pointing to the folder where the plug cache should be stored. | + */ +export type CacheLocation = "deno" | "cwd" | "cache" | "tmp" | string | URL; + +/** A setting that determines how the cache is handled for remote dependencies. + * + * | Option | Description | + * | ----------- | ------------------------------------------------------------------------------------------------------------ | + * | `use` | The cache will be used, meaning existing remote files will not be reloaded, this is the default option. | + * | `only` | Only the cache will be re-used, and any remote files not in the cache will error. | + * | `reloadAll` | Any cached modules will be ignored and their values will be fetched. | + */ +export type CacheSetting = "use" | "only" | "reloadAll"; + +/** + * Options for controlling how plug caches files + */ +export interface CacheOptions { + /** + * The location where plug should cache the fetched file + */ + location?: CacheLocation; + /** + * The cache policy plug should use, see {@link CacheSetting} + */ + cache?: CacheSetting; +} + +/** + * Options for using a single url as the source for either creating a + * {@link NamedOptions named url} or using it simply as is if the platforms + * extension is specified or no name is specified. + */ +export interface URLOptions { + /** + * The url to either a dynamic library or its directory if {@link NamedOptions named} + */ + url: string | URL; +} + +/** + * Options for fetching cross-platform urls. + */ +export interface CrossOptions { + /** + * See {@link NestedCrossRecord}, basically a record optionally keyed by + * either or operating-system and architecture letting us get the correct + * url for fetching the right file for the platform. + */ + url: NestedCrossRecord; +} + +/** + * Options used for automatically assembling an os and arch specific file name + */ +export interface NamedOptions { + /** + * The base name of the library. + * + * ``` + * libplug.x86_64.dll + * ^^^^ + * ``` + */ + name: string; + + /** + * A {@link OsRecord} containing the extensions for the respective + * operating-systems. By default this is `.so` for linux, freebsd, netbsd, aix, solaris and illumos, `.dylib` for darwin + * and `.dll` for windows. + * + * ``` + * libplug.x86_64.dll + * ^^^ + * ``` + */ + extensions?: OsRecord; + /** + * A {@link NestedCrossRecord} containing the prefixes for the respective + * operating-systems and architectures. By default this is `lib` for all + * architectures on linux, darwin, freebsd, netbsd, aix, solaris and illumos and empty for windows. + * + * ``` + * libplug.x86_64.dll + * ^^^ + * ``` + */ + prefixes?: NestedCrossRecord; + /** + * A {@link NestedCrossRecord} containing the suffixes for the respective + * operating-systems and architectures. By default this is empty for all + * architectures and operating-systems. An idea would be to use this to + * automatically select the suffix for the correct architecture. + * + * ``` + * libplug.x86_64.dll + * ^^^^^^^ + * ``` + */ + suffixes?: NestedCrossRecord; +} + +/** + * Options for fetching files (usually being dynamic libraries, but could + * possibly also be other dependencies) using plug. This can be either a + * string or an URL. All urls in plug can be either local or remote. If it is + * not an string or URL it can be some combination of the following options: + * + * * {@link URLOptions} or {@link CrossOptions} for controlling the source url + * * {@link NamedOptions} for automatically creating cross-platform binary names + * * {@link CacheOptions} for controlling the cache behaviour + */ +export type FetchOptions = + | string + | URL + | ((((URLOptions | CrossOptions) & Partial)) & CacheOptions); diff --git a/vendor/jsr.io/@denosaurs/plug/1.0.6/util.ts b/vendor/jsr.io/@denosaurs/plug/1.0.6/util.ts new file mode 100644 index 0000000..ed51c7e --- /dev/null +++ b/vendor/jsr.io/@denosaurs/plug/1.0.6/util.ts @@ -0,0 +1,161 @@ +/** + * This file contains useful utility functions used by plug. + * + * @module + */ + +import { isAbsolute, join, normalize, resolve, toFileUrl } from "jsr:@std/path@^0.221.0"; +import { encodeHex } from "jsr:@std/encoding@^0.221.0/hex"; + +const encoder = new TextEncoder(); + +function baseUrlToFilename(url: URL): string { + const out = []; + const protocol = url.protocol.replace(":", ""); + out.push(protocol); + + switch (protocol) { + case "http": + case "https": { + const host = url.hostname; + const hostPort = url.port; + out.push(hostPort ? `${host}_PORT${hostPort}` : host); + break; + } + case "file": + case "data": + case "blob": + break; + default: + throw new TypeError( + `Don't know how to create cache name for protocol: ${protocol}`, + ); + } + + return join(...out); +} + +/** + * Transforms a string into a URL. + * + * @private + */ +export function stringToURL(url: string): URL { + // deno-fmt-ignore + return url.startsWith("file://") + || url.startsWith("http://") + || url.startsWith("https://") + ? new URL(url) + : toFileUrl(resolve(url)); +} + +/** + * SHA-256 hashes a string. Used internally to hash URLs for cache filenames. + * + * @private + */ +export async function hash(value: string): Promise { + return encodeHex( + new Uint8Array( + await crypto.subtle.digest("SHA-256", encoder.encode(value)), + ), + ); +} + +/** + * Transforms a URL into a filename for the cache. + * + * @private + */ +export async function urlToFilename(url: URL): Promise { + const cacheFilename = baseUrlToFilename(url); + const hashedFilename = await hash(url.pathname + url.search); + return join(cacheFilename, hashedFilename); +} + +/** + * Checks if a file exists. + * + * @private + */ +export async function isFile(filePath: string): Promise { + try { + const stats = await Deno.lstat(filePath); + return stats.isFile; + } catch (err) { + if (err instanceof Deno.errors.NotFound) { + return false; + } + throw err; + } +} + +// The rest of is based on code from denoland/deno_cache by the Deno authors +// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license. + +/** + * @returns The home directory of the user. + */ +export function homeDir(): string | undefined { + switch (Deno.build.os) { + case "windows": + return Deno.env.get("USERPROFILE"); + case "linux": + case "darwin": + case "freebsd": + case "netbsd": + case "aix": + case "solaris": + case "illumos": + return Deno.env.get("HOME"); + default: + throw Error("unreachable"); + } +} + +/** + * @returns The cache directory of the user. + */ +export function cacheDir(): string | undefined { + if (Deno.build.os === "darwin") { + const home = homeDir(); + if (home) { + return join(home, "Library/Caches"); + } + } else if (Deno.build.os === "windows") { + return Deno.env.get("LOCALAPPDATA"); + } else { + const cacheHome = Deno.env.get("XDG_CACHE_HOME"); + if (cacheHome) { + return cacheHome; + } else { + const home = homeDir(); + if (home) { + return join(home, ".cache"); + } + } + } +} + +/** + * @returns The cache directory for Deno. + */ +export function denoCacheDir(): string | undefined { + const dd = Deno.env.get("DENO_DIR"); + let root; + if (dd) { + root = normalize(isAbsolute(dd) ? dd : join(Deno.cwd(), dd)); + } else { + const cd = cacheDir(); + if (cd) { + root = join(cd, "deno"); + } else { + const hd = homeDir(); + if (hd) { + root = join(hd, ".deno"); + } + } + } + + return root; +} diff --git a/vendor/jsr.io/@denosaurs/plug/1.0.6_meta.json b/vendor/jsr.io/@denosaurs/plug/1.0.6_meta.json new file mode 100644 index 0000000..3f05bfe --- /dev/null +++ b/vendor/jsr.io/@denosaurs/plug/1.0.6_meta.json @@ -0,0 +1,246 @@ +{ + "manifest": { + "/download_test.ts": { + "size": 9300, + "checksum": "sha256-9dbe825f543096cc20b1f6cc70d1f239fcad6444f25f8e95ccadfb95a421beb0" + }, + "/README.md": { + "size": 4633, + "checksum": "sha256-2d58d95ce1e2614dd3e74cb9e55566f5f03dfcd621ccaa181557426083fff73a" + }, + "/mod.ts": { + "size": 4760, + "checksum": "sha256-15c683abe87ed5df6cdccd5ff45ff46438ef68b825729f8463a6c8b605a9d19b" + }, + "/.github/workflows/publish.yml": { + "size": 267, + "checksum": "sha256-a3f12d6833d9a43bc8453e63c95610a950538191899852bddadd2cf31c071ad7" + }, + "/LICENSE": { + "size": 1080, + "checksum": "sha256-0546a91da726c46e6d54a352c707ca46e4a47924d13518fa3140c4f71bb4f3e3" + }, + "/.github/FUNDING.yml": { + "size": 45, + "checksum": "sha256-f7d5bd53b9a6add2d05771a6edeb3192701e92fb60c0725cbd861ebadd5e4181" + }, + "/deno.json": { + "size": 417, + "checksum": "sha256-79aeb6b285543f6c96f3900359467d80aaeb8d89a1a820aa2e847a8e701dd34e" + }, + "/util.ts": { + "size": 3562, + "checksum": "sha256-91fb019b500ee81c5cb50754dd598abdab15bc22c80610790d9fe05eed8f948e" + }, + "/.editorconfig": { + "size": 99, + "checksum": "sha256-561e2d9d8035e8b9861e31b3934557da651481d95dfd8992e12dbbee03c285c2" + }, + "/download.ts": { + "size": 8041, + "checksum": "sha256-a0dc7084ed428cd95d66840176c9c4318a3a70270fc92a4ada5530adc7f52860" + }, + "/types.ts": { + "size": 5585, + "checksum": "sha256-944a7abaded38515f0b06a4499d462c99d1c018ced7b33c2ee32607224e4e039" + }, + "/test_import_map.json": { + "size": 472, + "checksum": "sha256-3db76688daeb0658d136afa66271844953a56b82bac9e786c6337b6ac7e899a2" + }, + "/.github/workflows/checks.yml": { + "size": 566, + "checksum": "sha256-c9dbd47a446d6756355521e9d98cde8168854e915996b345b4a050605c15a56a" + }, + "/util_test.ts": { + "size": 11546, + "checksum": "sha256-fcc4302200b7608be814957e147ca4b4fe162551404050939fc5f37cf7fd1753" + } + }, + "moduleGraph1": { + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./download.ts", + "specifierRange": [ + [ + 90, + 25 + ], + [ + 90, + 40 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 91, + 34 + ], + [ + 91, + 46 + ] + ] + }, + { + "type": "static", + "kind": "exportType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 104, + 7 + ], + [ + 104, + 19 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./download.ts", + "specifierRange": [ + [ + 105, + 25 + ], + [ + 105, + 40 + ] + ] + } + ] + }, + "/download.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^0.221.0", + "specifierRange": [ + [ + 13, + 7 + ], + [ + 13, + 31 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/fs@^0.221.0", + "specifierRange": [ + [ + 14, + 26 + ], + [ + 14, + 48 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/fmt@^0.221.0/colors", + "specifierRange": [ + [ + 15, + 22 + ], + [ + 15, + 52 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 22, + 7 + ], + [ + 22, + 19 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./util.ts", + "specifierRange": [ + [ + 29, + 7 + ], + [ + 29, + 18 + ] + ] + } + ] + }, + "/util.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^0.221.0", + "specifierRange": [ + [ + 6, + 64 + ], + [ + 6, + 88 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/encoding@^0.221.0/hex", + "specifierRange": [ + [ + 7, + 26 + ], + [ + 7, + 58 + ] + ] + } + ] + }, + "/types.ts": {} + }, + "exports": { + ".": "./mod.ts", + "./types": "./types.ts", + "./download": "./download.ts", + "./util": "./util.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@denosaurs/plug/meta.json b/vendor/jsr.io/@denosaurs/plug/meta.json new file mode 100644 index 0000000..c0ef7b5 --- /dev/null +++ b/vendor/jsr.io/@denosaurs/plug/meta.json @@ -0,0 +1,11 @@ +{ + "scope": "denosaurs", + "name": "plug", + "latest": "1.0.6", + "versions": { + "1.0.4": {}, + "1.0.5": {}, + "1.0.6": {}, + "1.0.3": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0/src/compile-string.ts b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/compile-string.ts new file mode 100644 index 0000000..cf49626 --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/compile-string.ts @@ -0,0 +1,131 @@ +/* TYPES */ + +import type { Options } from "./config.ts"; +import type { AstObject } from "./parse.ts"; +import type { Eta } from "./core.ts"; + +/* END TYPES */ + +/** + * Compiles a template string to a function string. Most often users just use `compile()`, which calls `compileToString` and creates a new function using the result + */ + +export function compileToString( + this: Eta, + str: string, + options?: Partial, +): string { + const config = this.config; + const isAsync = options && options.async; + + const compileBody = this.compileBody; + + const buffer: Array = this.parse.call(this, str); + + // note: when the include function passes through options, the only parameter that matters is the filepath parameter + let res = `${config.functionHeader} +let include = (template, data) => this.render(template, data, options); +let includeAsync = (template, data) => this.renderAsync(template, data, options); + +let __eta = {res: "", e: this.config.escapeFunction, f: this.config.filterFunction${ + config.debug + ? ', line: 1, templateStr: "' + + str.replace(/\\|"/g, "\\$&").replace(/\r\n|\n|\r/g, "\\n") + + '"' + : "" + }}; + +function layout(path, data) { + __eta.layout = path; + __eta.layoutData = data; +}${config.debug ? "try {" : ""}${ + config.useWith ? "with(" + config.varName + "||{}){" : "" + } + +${compileBody.call(this, buffer)} +if (__eta.layout) { + __eta.res = ${ + isAsync ? "await includeAsync" : "include" + } (__eta.layout, {...${config.varName}, body: __eta.res, ...__eta.layoutData}); +} +${config.useWith ? "}" : ""}${ + config.debug + ? "} catch (e) { this.RuntimeErr(e, __eta.templateStr, __eta.line, options.filepath) }" + : "" + } +return __eta.res; +`; + + if (config.plugins) { + for (let i = 0; i < config.plugins.length; i++) { + const plugin = config.plugins[i]; + if (plugin.processFnString) { + res = plugin.processFnString(res, config); + } + } + } + + return res; +} + +/** + * Loops through the AST generated by `parse` and transform each item into JS calls + * + * **Example** + * + * ```js + * let templateAST = ['Hi ', { val: 'it.name', t: 'i' }] + * compileBody.call(Eta, templateAST) + * // => "__eta.res+='Hi '\n__eta.res+=__eta.e(it.name)\n" + * ``` + */ + +export function compileBody(this: Eta, buff: Array): string { + const config = this.config; + + let i = 0; + const buffLength = buff.length; + let returnStr = ""; + + for (i; i < buffLength; i++) { + const currentBlock = buff[i]; + if (typeof currentBlock === "string") { + const str = currentBlock; + + // we know string exists + returnStr += "__eta.res+='" + str + "'\n"; + } else { + const type = currentBlock.t; // "r", "e", or "i" + let content = currentBlock.val || ""; + + if (config.debug) returnStr += "__eta.line=" + currentBlock.lineNo + "\n"; + + if (type === "r") { + // raw + + if (config.autoFilter) { + content = "__eta.f(" + content + ")"; + } + + returnStr += "__eta.res+=" + content + "\n"; + } else if (type === "i") { + // interpolate + + if (config.autoFilter) { + content = "__eta.f(" + content + ")"; + } + + if (config.autoEscape) { + content = "__eta.e(" + content + ")"; + } + + returnStr += "__eta.res+=" + content + "\n"; + } else if (type === "e") { + // execute + returnStr += content + "\n"; + } + } + } + + return returnStr; +} diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0/src/compile.ts b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/compile.ts new file mode 100644 index 0000000..339f917 --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/compile.ts @@ -0,0 +1,59 @@ +import { EtaParseError } from "./err.ts"; + +/* TYPES */ +import type { Eta } from "./core.ts"; +import type { EtaConfig, Options } from "./config.ts"; + +export type TemplateFunction = ( + this: Eta, + data?: object, + options?: Partial, +) => string; +/* END TYPES */ + +/* istanbul ignore next */ +const AsyncFunction = async function () {}.constructor; // eslint-disable-line @typescript-eslint/no-empty-function + +/** + * Takes a template string and returns a template function that can be called with (data, config) + * + * @param str - The template string + * @param config - A custom configuration object (optional) + */ + +export function compile( + this: Eta, + str: string, + options?: Partial, +): TemplateFunction { + const config: EtaConfig = this.config; + + /* ASYNC HANDLING */ + // code gratefully taken from https://github.com/mde/ejs and adapted + const ctor = options && options.async + ? (AsyncFunction as FunctionConstructor) + : Function; + /* END ASYNC HANDLING */ + + try { + return new ctor( + config.varName, + "options", + this.compileToString.call(this, str, options), + ) as TemplateFunction; // eslint-disable-line no-new-func + } catch (e) { + if (e instanceof SyntaxError) { + throw new EtaParseError( + "Bad template syntax\n\n" + + e.message + + "\n" + + Array(e.message.length + 1).join("=") + + "\n" + + this.compileToString.call(this, str, options) + + "\n", // This will put an extra newline before the callstack for extra readability + ); + } else { + throw e; + } + } +} diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0/src/config.ts b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/config.ts new file mode 100644 index 0000000..bce8d48 --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/config.ts @@ -0,0 +1,110 @@ +import { XMLEscape } from "./utils.ts"; + +/* TYPES */ + +type trimConfig = "nl" | "slurp" | false; + +export interface Options { + /** Compile to async function */ + async?: boolean; + + /** Absolute path to template file */ + filepath?: string; +} + +export interface EtaConfig { + /** Whether or not to automatically XML-escape interpolations. Default true */ + autoEscape: boolean; + + /** Apply a filter function defined on the class to every interpolation or raw interpolation */ + autoFilter: boolean; + + /** Configure automatic whitespace trimming. Default `[false, 'nl']` */ + autoTrim: trimConfig | [trimConfig, trimConfig]; + + /** Whether or not to cache templates if `name` or `filename` is passed */ + cache: boolean; + + /** Holds cache of resolved filepaths. Set to `false` to disable. */ + cacheFilepaths: boolean; + + /** Whether to pretty-format error messages (introduces runtime penalties) */ + debug: boolean; + + /** Function to XML-sanitize interpolations */ + escapeFunction: (str: unknown) => string; + + /** Function applied to all interpolations when autoFilter is true */ + filterFunction: (val: unknown) => string; + + /** Raw JS code inserted in the template function. Useful for declaring global variables for user templates */ + functionHeader: string; + + /** Parsing options */ + parse: { + /** Which prefix to use for evaluation. Default `""`, does not support `"-"` or `"_"` */ + exec: string; + + /** Which prefix to use for interpolation. Default `"="`, does not support `"-"` or `"_"` */ + interpolate: string; + + /** Which prefix to use for raw interpolation. Default `"~"`, does not support `"-"` or `"_"` */ + raw: string; + }; + + /** Array of plugins */ + plugins: Array< + { + processFnString?: Function; + processAST?: Function; + processTemplate?: Function; + } + >; + + /** Remove all safe-to-remove whitespace */ + rmWhitespace: boolean; + + /** Delimiters: by default `['<%', '%>']` */ + tags: [string, string]; + + /** Make data available on the global object instead of varName */ + useWith: boolean; + + /** Name of the data object. Default `it` */ + varName: string; + + /** Directory that contains templates */ + views?: string; + + /** Control template file extension defaults. Default `.eta` */ + defaultExtension?: string; +} + +/* END TYPES */ + +/** Eta's base (global) configuration */ +const defaultConfig: EtaConfig = { + autoEscape: true, + autoFilter: false, + autoTrim: [false, "nl"], + cache: false, + cacheFilepaths: true, + debug: false, + escapeFunction: XMLEscape, + // default filter function (not used unless enables) just stringifies the input + filterFunction: (val) => String(val), + functionHeader: "", + parse: { + exec: "", + interpolate: "=", + raw: "~", + }, + plugins: [], + rmWhitespace: false, + tags: ["<%", "%>"], + useWith: false, + varName: "it", + defaultExtension: ".eta", +}; + +export { defaultConfig }; diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0/src/core.ts b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/core.ts new file mode 100644 index 0000000..1d6b0f4 --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/core.ts @@ -0,0 +1,89 @@ +import { Cacher } from "./storage.ts"; +import { compile } from "./compile.ts"; +import { compileBody, compileToString } from "./compile-string.ts"; +import { defaultConfig } from "./config.ts"; +import { parse } from "./parse.ts"; +import { + render, + renderAsync, + renderString, + renderStringAsync, +} from "./render.ts"; +import { EtaError, RuntimeErr } from "./err.ts"; +import { TemplateFunction } from "./compile.ts"; + +/* TYPES */ +import type { EtaConfig, Options } from "./config.ts"; +/* END TYPES */ + +export class Eta { + constructor(customConfig?: Partial) { + if (customConfig) { + this.config = { ...defaultConfig, ...customConfig }; + } else { + this.config = { ...defaultConfig }; + } + } + + config: EtaConfig; + + RuntimeErr = RuntimeErr; + + compile = compile; + compileToString = compileToString; + compileBody = compileBody; + parse = parse; + render = render; + renderAsync = renderAsync; + renderString = renderString; + renderStringAsync = renderStringAsync; + + filepathCache: Record = {}; + templatesSync: Cacher = new Cacher({}); + templatesAsync: Cacher = new Cacher({}); + + // resolvePath takes a relative path from the "views" directory + resolvePath: + | null + | ((this: Eta, template: string, options?: Partial) => string) = + null; + readFile: null | ((this: Eta, path: string) => string) = null; + + // METHODS + + configure(customConfig: Partial) { + this.config = { ...this.config, ...customConfig }; + } + + withConfig(customConfig: Partial): this & { config: EtaConfig } { + return { ...this, config: { ...this.config, ...customConfig } }; + } + + loadTemplate( + name: string, + template: string | TemplateFunction, // template string or template function + options?: { async: boolean }, + ): void { + if (typeof template === "string") { + const templates = options && options.async + ? this.templatesAsync + : this.templatesSync; + + templates.define(name, this.compile(template, options)); + } else { + let templates = this.templatesSync; + + if ( + template.constructor.name === "AsyncFunction" || + (options && options.async) + ) { + templates = this.templatesAsync; + } + + templates.define(name, template); + } + } +} + +// for instance checking against thrown errors +export { EtaError }; diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0/src/err.ts b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/err.ts new file mode 100644 index 0000000..5f03158 --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/err.ts @@ -0,0 +1,91 @@ +export class EtaError extends Error { + constructor(message: string) { + super(message); + this.name = "Eta Error"; + } +} + +export class EtaParseError extends EtaError { + constructor(message: string) { + super(message); + this.name = "EtaParser Error"; + } +} + +export class EtaRuntimeError extends EtaError { + constructor(message: string) { + super(message); + this.name = "EtaRuntime Error"; + } +} + +export class EtaFileResolutionError extends EtaError { + constructor(message: string) { + super(message); + this.name = "EtaFileResolution Error"; + } +} + +export class EtaNameResolutionError extends EtaError { + constructor(message: string) { + super(message); + this.name = "EtaNameResolution Error"; + } +} + +/** + * Throws an EtaError with a nicely formatted error and message showing where in the template the error occurred. + */ + +export function ParseErr(message: string, str: string, indx: number): never { + const whitespace = str.slice(0, indx).split(/\n/); + + const lineNo = whitespace.length; + const colNo = whitespace[lineNo - 1].length + 1; + message += " at line " + + lineNo + + " col " + + colNo + + ":\n\n" + + " " + + str.split(/\n/)[lineNo - 1] + + "\n" + + " " + + Array(colNo).join(" ") + + "^"; + throw new EtaParseError(message); +} + +export function RuntimeErr( + originalError: Error, + str: string, + lineNo: number, + path: string, +): never { + // code gratefully taken from https://github.com/mde/ejs and adapted + + const lines = str.split("\n"); + const start = Math.max(lineNo - 3, 0); + const end = Math.min(lines.length, lineNo + 3); + const filename = path; + // Error context + const context = lines + .slice(start, end) + .map(function (line, i) { + const curr = i + start + 1; + return (curr == lineNo ? " >> " : " ") + curr + "| " + line; + }) + .join("\n"); + + const header = filename + ? filename + ":" + lineNo + "\n" + : "line " + lineNo + "\n"; + + const err = new EtaRuntimeError( + header + context + "\n\n" + originalError.message, + ); + + err.name = originalError.name; // the original name (e.g. ReferenceError) may be useful + + throw err; +} diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0/src/file-handling.ts b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/file-handling.ts new file mode 100644 index 0000000..4615bd2 --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/file-handling.ts @@ -0,0 +1,95 @@ +import { EtaFileResolutionError } from "./err.ts"; + +import * as path from "node:path"; + +import * as fs from "node:fs"; + +/* TYPES */ +import type { Eta as EtaCore } from "./core.ts"; +import type { Options } from "./config.ts"; +/* END TYPES */ + +export function readFile(this: EtaCore, path: string): string { + let res = ""; + + try { + res = fs.readFileSync(path, "utf8"); + // eslint-disable-line @typescript-eslint/no-explicit-any + } catch (err: any) { + if (err?.code === "ENOENT") { + throw new EtaFileResolutionError(`Could not find template: ${path}`); + } else { + throw err; + } + } + + return res; +} + +export function resolvePath( + this: EtaCore, + templatePath: string, + options?: Partial, +): string { + let resolvedFilePath = ""; + + const views = this.config.views; + + if (!views) { + throw new EtaFileResolutionError("Views directory is not defined"); + } + + const baseFilePath = options && options.filepath; + const defaultExtension = this.config.defaultExtension === undefined + ? ".eta" + : this.config.defaultExtension; + + // how we index cached template paths + const cacheIndex = JSON.stringify({ + filename: baseFilePath, // filename of the template which called includeFile() + path: templatePath, + views: this.config.views, + }); + + templatePath += path.extname(templatePath) ? "" : defaultExtension; + + // if the file was included from another template + if (baseFilePath) { + // check the cache + + if (this.config.cacheFilepaths && this.filepathCache[cacheIndex]) { + return this.filepathCache[cacheIndex]; + } + + const absolutePathTest = absolutePathRegExp.exec(templatePath); + + if (absolutePathTest && absolutePathTest.length) { + const formattedPath = templatePath.replace(/^\/*|^\\*/, ""); + resolvedFilePath = path.join(views, formattedPath); + } else { + resolvedFilePath = path.join(path.dirname(baseFilePath), templatePath); + } + } else { + resolvedFilePath = path.join(views, templatePath); + } + + if (dirIsChild(views, resolvedFilePath)) { + // add resolved path to the cache + if (baseFilePath && this.config.cacheFilepaths) { + this.filepathCache[cacheIndex] = resolvedFilePath; + } + + return resolvedFilePath; + } else { + throw new EtaFileResolutionError( + `Template '${templatePath}' is not in the views directory`, + ); + } +} + +function dirIsChild(parent: string, dir: string) { + const relative = path.relative(parent, dir); + return relative && !relative.startsWith("..") && !path.isAbsolute(relative); +} + +const absolutePathRegExp = /^\\|^\//; diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0/src/index.ts b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/index.ts new file mode 100644 index 0000000..6472456 --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/index.ts @@ -0,0 +1,16 @@ +import { Eta as EtaCore } from "./core.ts"; +import { readFile, resolvePath } from "./file-handling.ts"; +export { + EtaError, + EtaFileResolutionError, + EtaNameResolutionError, + EtaParseError, + EtaRuntimeError, +} from "./err.ts"; +export { type EtaConfig, type Options } from "./config.ts"; + +export class Eta extends EtaCore { + readFile = readFile; + + resolvePath = resolvePath; +} diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0/src/parse.ts b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/parse.ts new file mode 100644 index 0000000..28835ef --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/parse.ts @@ -0,0 +1,215 @@ +import { ParseErr } from "./err.ts"; +import { trimWS } from "./utils.ts"; + +/* TYPES */ + +import type { Eta } from "./core.ts"; + +export type TagType = "r" | "e" | "i" | ""; + +export interface TemplateObject { + t: TagType; + val: string; + lineNo?: number; +} + +export type AstObject = string | TemplateObject; + +/* END TYPES */ + +const templateLitReg = + /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g; + +const singleQuoteReg = /'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g; + +const doubleQuoteReg = /"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g; + +/** Escape special regular expression characters inside a string */ + +function escapeRegExp(string: string) { + // From MDN + return string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string +} + +function getLineNo(str: string, index: number) { + return str.slice(0, index).split("\n").length; +} + +export function parse(this: Eta, str: string): Array { + const config = this.config; + + let buffer: Array = []; + let trimLeftOfNextStr: string | false = false; + let lastIndex = 0; + const parseOptions = config.parse; + + if (config.plugins) { + for (let i = 0; i < config.plugins.length; i++) { + const plugin = config.plugins[i]; + if (plugin.processTemplate) { + str = plugin.processTemplate(str, config); + } + } + } + + /* Adding for EJS compatibility */ + if (config.rmWhitespace) { + // Code taken directly from EJS + // Have to use two separate replaces here as `^` and `$` operators don't + // work well with `\r` and empty lines don't work well with the `m` flag. + // Essentially, this replaces the whitespace at the beginning and end of + // each line and removes multiple newlines. + str = str.replace(/[\r\n]+/g, "\n").replace(/^\s+|\s+$/gm, ""); + } + /* End rmWhitespace option */ + + templateLitReg.lastIndex = 0; + singleQuoteReg.lastIndex = 0; + doubleQuoteReg.lastIndex = 0; + + function pushString(strng: string, shouldTrimRightOfString?: string | false) { + if (strng) { + // if string is truthy it must be of type 'string' + + strng = trimWS( + strng, + config, + trimLeftOfNextStr, // this will only be false on the first str, the next ones will be null or undefined + shouldTrimRightOfString, + ); + + if (strng) { + // replace \ with \\, ' with \' + // we're going to convert all CRLF to LF so it doesn't take more than one replace + + strng = strng.replace(/\\|'/g, "\\$&").replace(/\r\n|\n|\r/g, "\\n"); + + buffer.push(strng); + } + } + } + + const prefixes = [ + parseOptions.exec, + parseOptions.interpolate, + parseOptions.raw, + ].reduce(function ( + accumulator, + prefix, + ) { + if (accumulator && prefix) { + return accumulator + "|" + escapeRegExp(prefix); + } else if (prefix) { + // accumulator is falsy + return escapeRegExp(prefix); + } else { + // prefix and accumulator are both falsy + return accumulator; + } + }, ""); + + const parseOpenReg = new RegExp( + escapeRegExp(config.tags[0]) + "(-|_)?\\s*(" + prefixes + ")?\\s*", + "g", + ); + + const parseCloseReg = new RegExp( + "'|\"|`|\\/\\*|(\\s*(-|_)?" + escapeRegExp(config.tags[1]) + ")", + "g", + ); + + let m; + + while ((m = parseOpenReg.exec(str))) { + const precedingString = str.slice(lastIndex, m.index); + + lastIndex = m[0].length + m.index; + + const wsLeft = m[1]; + const prefix = m[2] || ""; // by default either ~, =, or empty + + pushString(precedingString, wsLeft); + + parseCloseReg.lastIndex = lastIndex; + let closeTag; + let currentObj: AstObject | false = false; + + while ((closeTag = parseCloseReg.exec(str))) { + if (closeTag[1]) { + const content = str.slice(lastIndex, closeTag.index); + + parseOpenReg.lastIndex = lastIndex = parseCloseReg.lastIndex; + + trimLeftOfNextStr = closeTag[2]; + + const currentType: TagType = prefix === parseOptions.exec + ? "e" + : prefix === parseOptions.raw + ? "r" + : prefix === parseOptions.interpolate + ? "i" + : ""; + + currentObj = { t: currentType, val: content }; + break; + } else { + const char = closeTag[0]; + if (char === "/*") { + const commentCloseInd = str.indexOf("*/", parseCloseReg.lastIndex); + + if (commentCloseInd === -1) { + ParseErr("unclosed comment", str, closeTag.index); + } + parseCloseReg.lastIndex = commentCloseInd; + } else if (char === "'") { + singleQuoteReg.lastIndex = closeTag.index; + + const singleQuoteMatch = singleQuoteReg.exec(str); + if (singleQuoteMatch) { + parseCloseReg.lastIndex = singleQuoteReg.lastIndex; + } else { + ParseErr("unclosed string", str, closeTag.index); + } + } else if (char === '"') { + doubleQuoteReg.lastIndex = closeTag.index; + const doubleQuoteMatch = doubleQuoteReg.exec(str); + + if (doubleQuoteMatch) { + parseCloseReg.lastIndex = doubleQuoteReg.lastIndex; + } else { + ParseErr("unclosed string", str, closeTag.index); + } + } else if (char === "`") { + templateLitReg.lastIndex = closeTag.index; + const templateLitMatch = templateLitReg.exec(str); + if (templateLitMatch) { + parseCloseReg.lastIndex = templateLitReg.lastIndex; + } else { + ParseErr("unclosed string", str, closeTag.index); + } + } + } + } + if (currentObj) { + if (config.debug) { + currentObj.lineNo = getLineNo(str, m.index); + } + buffer.push(currentObj); + } else { + ParseErr("unclosed tag", str, m.index); + } + } + + pushString(str.slice(lastIndex, str.length), false); + + if (config.plugins) { + for (let i = 0; i < config.plugins.length; i++) { + const plugin = config.plugins[i]; + if (plugin.processAST) { + buffer = plugin.processAST(buffer, config); + } + } + } + + return buffer; +} diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0/src/render.ts b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/render.ts new file mode 100644 index 0000000..b67354b --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/render.ts @@ -0,0 +1,114 @@ +import { EtaNameResolutionError } from "./err.ts"; + +/* TYPES */ +import type { Options } from "./config.ts"; +import type { TemplateFunction } from "./compile.ts"; +import type { Eta } from "./core.ts"; +/* END TYPES */ + +function handleCache( + this: Eta, + template: string, + options: Partial, +): TemplateFunction { + const templateStore = options && options.async + ? this.templatesAsync + : this.templatesSync; + + if (this.resolvePath && this.readFile && !template.startsWith("@")) { + const templatePath = options.filepath as string; + + const cachedTemplate = templateStore.get(templatePath); + + if (this.config.cache && cachedTemplate) { + return cachedTemplate; + } else { + const templateString = this.readFile(templatePath); + + const templateFn = this.compile(templateString, options); + + if (this.config.cache) templateStore.define(templatePath, templateFn); + + return templateFn; + } + } else { + const cachedTemplate = templateStore.get(template); + + if (cachedTemplate) { + return cachedTemplate; + } else { + throw new EtaNameResolutionError( + "Failed to get template '" + template + "'", + ); + } + } +} + +export function render( + this: Eta, + template: string | TemplateFunction, // template name or template function + data: T, + meta?: { filepath: string }, +): string { + let templateFn: TemplateFunction; + const options = { ...meta, async: false }; + + if (typeof template === "string") { + if (this.resolvePath && this.readFile && !template.startsWith("@")) { + options.filepath = this.resolvePath(template, options); + } + + templateFn = handleCache.call(this, template, options); + } else { + templateFn = template; + } + + const res = templateFn.call(this, data, options); + + return res; +} + +export function renderAsync( + this: Eta, + template: string | TemplateFunction, // template name or template function + data: T, + meta?: { filepath: string }, +): Promise { + let templateFn: TemplateFunction; + const options = { ...meta, async: true }; + + if (typeof template === "string") { + if (this.resolvePath && this.readFile && !template.startsWith("@")) { + options.filepath = this.resolvePath(template, options); + } + + templateFn = handleCache.call(this, template, options); + } else { + templateFn = template; + } + + const res = templateFn.call(this, data, options); + + // Return a promise + return Promise.resolve(res); +} + +export function renderString( + this: Eta, + template: string, + data: T, +): string { + const templateFn = this.compile(template, { async: false }); + + return render.call(this, templateFn, data); +} + +export function renderStringAsync( + this: Eta, + template: string, + data: T, +): Promise { + const templateFn = this.compile(template, { async: true }); + + return renderAsync.call(this, templateFn, data); +} diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0/src/storage.ts b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/storage.ts new file mode 100644 index 0000000..6e740bd --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/storage.ts @@ -0,0 +1,25 @@ +/** + * Handles storage and accessing of values + * + * In this case, we use it to store compiled template functions + * Indexed by their `name` or `filename` + */ + +export class Cacher { + constructor(private cache: Record) {} + define(key: string, val: T): void { + this.cache[key] = val; + } + get(key: string): T { + return this.cache[key]; + } + remove(key: string): void { + delete this.cache[key]; + } + reset(): void { + this.cache = {}; + } + load(cacheObj: Record): void { + this.cache = { ...this.cache, ...cacheObj }; + } +} diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0/src/utils.ts b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/utils.ts new file mode 100644 index 0000000..1001821 --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0/src/utils.ts @@ -0,0 +1,91 @@ +import type { EtaConfig } from "./config.ts"; + +/** + * Takes a string within a template and trims it, based on the preceding tag's whitespace control and `config.autoTrim` + */ + +export function trimWS( + str: string, + config: EtaConfig, + wsLeft: string | false, + wsRight?: string | false, +): string { + let leftTrim; + let rightTrim; + + if (Array.isArray(config.autoTrim)) { + // Slightly confusing, + // but _}} will trim the left side of the following string + leftTrim = config.autoTrim[1]; + rightTrim = config.autoTrim[0]; + } else { + leftTrim = rightTrim = config.autoTrim; + } + + if (wsLeft || wsLeft === false) { + leftTrim = wsLeft; + } + + if (wsRight || wsRight === false) { + rightTrim = wsRight; + } + + if (!rightTrim && !leftTrim) { + return str; + } + + if (leftTrim === "slurp" && rightTrim === "slurp") { + return str.trim(); + } + + if (leftTrim === "_" || leftTrim === "slurp") { + // full slurp + str = str.trimStart(); + } else if (leftTrim === "-" || leftTrim === "nl") { + // nl trim + str = str.replace(/^(?:\r\n|\n|\r)/, ""); + } + + if (rightTrim === "_" || rightTrim === "slurp") { + // full slurp + str = str.trimEnd(); + } else if (rightTrim === "-" || rightTrim === "nl") { + // nl trim + str = str.replace(/(?:\r\n|\n|\r)$/, ""); + } + + return str; +} + +/** + * A map of special HTML characters to their XML-escaped equivalents + */ + +const escMap: { [key: string]: string } = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", +}; + +function replaceChar(s: string): string { + return escMap[s]; +} + +/** + * XML-escapes an input value after converting it to a string + * + * @param str - Input value (usually a string) + * @returns XML-escaped string + */ + +export function XMLEscape(str: unknown): string { + // To deal with XSS. Based on Escape implementations of Mustache.JS and Marko, then customized. + const newStr = String(str); + if (/[&<>"']/.test(newStr)) { + return newStr.replace(/[&<>"']/g, replaceChar); + } else { + return newStr; + } +} diff --git a/vendor/jsr.io/@eta-dev/eta/3.5.0_meta.json b/vendor/jsr.io/@eta-dev/eta/3.5.0_meta.json new file mode 100644 index 0000000..f30cbf0 --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/3.5.0_meta.json @@ -0,0 +1,602 @@ +{ + "manifest": { + "/jsr.json": { + "size": 181, + "checksum": "sha256-a5fd262244bc73cbd184534361d324caf2c2c823000b2207bfedb363b42a3c1c" + }, + "/src/config.ts": { + "size": 2896, + "checksum": "sha256-5b13139a94c07a13d9467712d754fb02f6b5245d30c0bab792f79b22277d4da8" + }, + "/src/err.ts": { + "size": 2149, + "checksum": "sha256-7354a040b6aa49650d564c1f9791d9efe67499c1772632472f1cb91e93eb3af0" + }, + "/README.md": { + "size": 10359, + "checksum": "sha256-7673f007986cfe047328cbd9dd40f488eb77a681d23b701063f9293a87a53540" + }, + "/src/parse.ts": { + "size": 6041, + "checksum": "sha256-a029cc6b95e8c1393f1f4d25f107f770e6ab41b8dbb820e2c26f6808b8ef74a5" + }, + "/LICENSE": { + "size": 1072, + "checksum": "sha256-ffae00b51ffea9ff5ba139166c89119d6ee3810f1e04e427dd6820a728b43915" + }, + "/src/storage.ts": { + "size": 565, + "checksum": "sha256-c40bd31cdd6f1218c86f70067282709e2f2c7fa7eea67547be950e1ed5d4bd4c" + }, + "/src/file-handling.ts": { + "size": 2577, + "checksum": "sha256-eeabf27135ec1fa1b513cafc61dc0ef6fbe385b0c10004d250f514e718469b6a" + }, + "/src/render.ts": { + "size": 2932, + "checksum": "sha256-e63acccd1b3a0dfcf67c712c172f8175e71d30f0d3c6a07f2f7555e52f7b6cf1" + }, + "/src/browser.ts": { + "size": 81, + "checksum": "sha256-d76f77a2adaa2f0d987c4c65132c65a7fa7b895221b75aee00a52ba48e663bf5" + }, + "/src/index.ts": { + "size": 383, + "checksum": "sha256-d2bacfd6fc5ab8f41fc2802e2191863b5c630256648b0d2e8a2962412d63b1ac" + }, + "/src/utils.ts": { + "size": 2035, + "checksum": "sha256-8e651cf1f30dfc90de15242079b7dd1a6f53789c5c8d65e1280cf15381847937" + }, + "/src/compile.ts": { + "size": 1600, + "checksum": "sha256-6e519d6341664d552da844bb8356e818d3b644b59070fb6a918b8fed0f5e0e6c" + }, + "/src/compile-string.ts": { + "size": 3457, + "checksum": "sha256-ee1de98e5349dc70652e944316cb7fe1d32fd4065fef323b9e6e78db65d3e20c" + }, + "/src/core.ts": { + "size": 2439, + "checksum": "sha256-79ca3d073fde31f3d38f09048c9da7519c688563d48e05e014d85db26d9d7402" + } + }, + "moduleGraph2": { + "/src/file-handling.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./err.ts", + "specifierRange": [ + [ + 0, + 39 + ], + [ + 0, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "node:path", + "specifierRange": [ + [ + 2, + 22 + ], + [ + 2, + 33 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "node:fs", + "specifierRange": [ + [ + 4, + 20 + ], + [ + 4, + 29 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./core.ts", + "specifierRange": [ + [ + 7, + 36 + ], + [ + 7, + 47 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./config.ts", + "specifierRange": [ + [ + 8, + 29 + ], + [ + 8, + 42 + ] + ] + } + ] + }, + "/src/core.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./storage.ts", + "specifierRange": [ + [ + 0, + 23 + ], + [ + 0, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./compile.ts", + "specifierRange": [ + [ + 1, + 24 + ], + [ + 1, + 38 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./compile-string.ts", + "specifierRange": [ + [ + 2, + 45 + ], + [ + 2, + 66 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./config.ts", + "specifierRange": [ + [ + 3, + 30 + ], + [ + 3, + 43 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./parse.ts", + "specifierRange": [ + [ + 4, + 22 + ], + [ + 4, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./render.ts", + "specifierRange": [ + [ + 10, + 7 + ], + [ + 10, + 20 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./err.ts", + "specifierRange": [ + [ + 11, + 37 + ], + [ + 11, + 47 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./compile.ts", + "specifierRange": [ + [ + 12, + 33 + ], + [ + 12, + 47 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./config.ts", + "specifierRange": [ + [ + 15, + 40 + ], + [ + 15, + 53 + ] + ] + } + ] + }, + "/src/parse.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./err.ts", + "specifierRange": [ + [ + 0, + 25 + ], + [ + 0, + 35 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./utils.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 35 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./core.ts", + "specifierRange": [ + [ + 5, + 25 + ], + [ + 5, + 36 + ] + ] + } + ] + }, + "/src/index.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./core.ts", + "specifierRange": [ + [ + 0, + 31 + ], + [ + 0, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./file-handling.ts", + "specifierRange": [ + [ + 1, + 38 + ], + [ + 1, + 58 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./err.ts", + "specifierRange": [ + [ + 8, + 7 + ], + [ + 8, + 17 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./config.ts", + "specifierRange": [ + [ + 9, + 45 + ], + [ + 9, + 58 + ] + ] + } + ] + }, + "/src/err.ts": {}, + "/src/config.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./utils.ts", + "specifierRange": [ + [ + 0, + 26 + ], + [ + 0, + 38 + ] + ] + } + ] + }, + "/src/compile-string.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./config.ts", + "specifierRange": [ + [ + 2, + 29 + ], + [ + 2, + 42 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./parse.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 43 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./core.ts", + "specifierRange": [ + [ + 4, + 25 + ], + [ + 4, + 36 + ] + ] + } + ] + }, + "/src/render.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./err.ts", + "specifierRange": [ + [ + 0, + 39 + ], + [ + 0, + 49 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./config.ts", + "specifierRange": [ + [ + 3, + 29 + ], + [ + 3, + 42 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./compile.ts", + "specifierRange": [ + [ + 4, + 38 + ], + [ + 4, + 52 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./core.ts", + "specifierRange": [ + [ + 5, + 25 + ], + [ + 5, + 36 + ] + ] + } + ] + }, + "/src/storage.ts": {}, + "/src/utils.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./config.ts", + "specifierRange": [ + [ + 0, + 31 + ], + [ + 0, + 44 + ] + ] + } + ] + }, + "/src/compile.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./err.ts", + "specifierRange": [ + [ + 0, + 30 + ], + [ + 0, + 40 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./core.ts", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./config.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 53 + ] + ] + } + ] + } + }, + "exports": { + ".": "./src/index.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@eta-dev/eta/meta.json b/vendor/jsr.io/@eta-dev/eta/meta.json new file mode 100644 index 0000000..10d992f --- /dev/null +++ b/vendor/jsr.io/@eta-dev/eta/meta.json @@ -0,0 +1,9 @@ +{ + "scope": "eta-dev", + "name": "eta", + "latest": "3.5.0", + "versions": { + "3.4.0": {}, + "3.5.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@felix/bcrypt/1.0.5/bindings/bindings.ts b/vendor/jsr.io/@felix/bcrypt/1.0.5/bindings/bindings.ts new file mode 100644 index 0000000..9791db8 --- /dev/null +++ b/vendor/jsr.io/@felix/bcrypt/1.0.5/bindings/bindings.ts @@ -0,0 +1,89 @@ +import { dlopen } from "jsr:@denosaurs/plug@^1.0.6"; + +export const VERSION = "1.0.5"; + +// Auto-generated with deno_bindgen +function encode(v: string | Uint8Array): Uint8Array { + if (typeof v !== "string") return v; + return new TextEncoder().encode(v); +} + +function decode(v: Uint8Array): string { + return new TextDecoder().decode(v); +} + +// deno-lint-ignore no-explicit-any +function readPointer(v: any): Uint8Array { + const ptr = new Deno.UnsafePointerView(v); + const lengthBe = new Uint8Array(4); + const view = new DataView(lengthBe.buffer); + ptr.copyInto(lengthBe, 0); + const buf = new Uint8Array(view.getUint32(0)); + ptr.copyInto(buf, 4); + return buf; +} + +function getLocalUrl(): string { + const url = new URL("../target/release", import.meta.url); + + let uri = url.pathname; + if (!uri.endsWith("/")) uri += "/"; + + // https://docs.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibrarya#parameters + if (Deno.build.os === "windows") { + uri = uri.replace(/\//g, "\\"); + // Remove leading slash + if (uri.startsWith("\\")) { + uri = uri.slice(1); + } + } + + return uri; +} + +const SYMBOLS = { + hash: { + parameters: ["buffer", "usize"], + result: "buffer", + nonblocking: true, + }, + verify: { + parameters: ["buffer", "usize", "buffer", "usize"], + result: "i8", + nonblocking: true, + }, +} as const; + +const LOCAL = Deno.env.get("LOCAL"); + +const { symbols } = await dlopen( + { + name: "deno_bcrypt", + url: LOCAL + ? getLocalUrl() + : `https://github.com/felix-schindler/deno-bcrypt/releases/download/v${VERSION}/`, + cache: LOCAL ? "reloadAll" : "use", + }, + SYMBOLS, +); + +export function hash(a0: string) { + const a0_buf = encode(a0); + + const rawResult = symbols.hash(a0_buf, BigInt(a0_buf.byteLength)); + const result = rawResult.then(readPointer); + return result.then(decode); +} +export function verify(a0: string, a1: string) { + const a0_buf = encode(a0); + const a1_buf = encode(a1); + + const rawResult = symbols.verify( + a0_buf, + BigInt(a0_buf.byteLength), + a1_buf, + BigInt(a1_buf.byteLength), + ); + const result = rawResult; + return result; +} diff --git a/vendor/jsr.io/@felix/bcrypt/1.0.5/helper.ts b/vendor/jsr.io/@felix/bcrypt/1.0.5/helper.ts new file mode 100644 index 0000000..07bd51c --- /dev/null +++ b/vendor/jsr.io/@felix/bcrypt/1.0.5/helper.ts @@ -0,0 +1,18 @@ +import * as internal from "./bindings/bindings.ts"; + +/** + * @param password Clear text password + * @returns Hashed password + */ +export async function hash(password: string): Promise { + return await internal.hash(password); +} + +/** + * @param password Clear text password + * @param hash Hashed password + * @returns Whether the password matches the hash + */ +export async function verify(password: string, hash: string): Promise { + return (await internal.verify(password, hash) === 1); +} diff --git a/vendor/jsr.io/@felix/bcrypt/1.0.5/mod.ts b/vendor/jsr.io/@felix/bcrypt/1.0.5/mod.ts new file mode 100644 index 0000000..9f7d35a --- /dev/null +++ b/vendor/jsr.io/@felix/bcrypt/1.0.5/mod.ts @@ -0,0 +1 @@ +export * from "./helper.ts"; diff --git a/vendor/jsr.io/@felix/bcrypt/1.0.5_meta.json b/vendor/jsr.io/@felix/bcrypt/1.0.5_meta.json new file mode 100644 index 0000000..69cfa6c --- /dev/null +++ b/vendor/jsr.io/@felix/bcrypt/1.0.5_meta.json @@ -0,0 +1,94 @@ +{ + "manifest": { + "/mod.ts": { + "size": 29, + "checksum": "sha256-2dc3991ca869eccc6a831a13b7d3488fd139ceead2868263bbf73a97ffcb6fa7" + }, + "/bindings.json": { + "size": 216, + "checksum": "sha256-334c4ab9ae8029a60ef0d534d49794841e3193b7d082361a795aacceb37e71a0" + }, + "/bindings/bindings.ts": { + "size": 2068, + "checksum": "sha256-b391e47854e78a54ab044c1c3846a9a4a73330bb953d99658e7c915b72359e1b" + }, + "/helper.ts": { + "size": 500, + "checksum": "sha256-70a035fd0cebb70a680b28dca6e7f949e91ecc301aa299844374c5706d72a7c3" + }, + "/deno.json": { + "size": 802, + "checksum": "sha256-cdad19aaf9007e051f72f13def1ac0a18734e6d5d51478feb9d483d9bb25a049" + }, + "/README.md": { + "size": 1621, + "checksum": "sha256-ee89ab95a010b212cc242cb6bef5c3e596e6312942664a586b2efef8443b4dfd" + }, + "/LICENSE": { + "size": 34523, + "checksum": "sha256-8486a10c4393cee1c25392769ddd3b2d6c242d6ec7928e1414efff7dfb2f07ef" + } + }, + "moduleGraph2": { + "/helper.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./bindings/bindings.ts", + "specifierRange": [ + [ + 0, + 26 + ], + [ + 0, + 50 + ] + ] + } + ] + }, + "/bindings/bindings.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@denosaurs/plug@^1.0.6", + "specifierRange": [ + [ + 0, + 23 + ], + [ + 0, + 51 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./helper.ts", + "specifierRange": [ + [ + 0, + 14 + ], + [ + 0, + 27 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@felix/bcrypt/meta.json b/vendor/jsr.io/@felix/bcrypt/meta.json new file mode 100644 index 0000000..f842470 --- /dev/null +++ b/vendor/jsr.io/@felix/bcrypt/meta.json @@ -0,0 +1,9 @@ +{ + "scope": "felix", + "name": "bcrypt", + "latest": "1.0.5", + "versions": { + "0.3.0": {}, + "1.0.5": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/mod.ts b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/mod.ts new file mode 100644 index 0000000..726d5de --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/mod.ts @@ -0,0 +1,89 @@ +import type * as esbuild from "./src/esbuild_types.ts"; + +import { + denoResolverPlugin, + type DenoResolverPluginOptions, +} from "./src/plugin_deno_resolver.ts"; +export { denoResolverPlugin, type DenoResolverPluginOptions }; + +import { + DEFAULT_LOADER, + denoLoaderPlugin, + type DenoLoaderPluginOptions, +} from "./src/plugin_deno_loader.ts"; +export { DEFAULT_LOADER, denoLoaderPlugin, type DenoLoaderPluginOptions }; + +export { + type EsbuildResolution, + esbuildResolutionToURL, + urlToEsbuildResolution, +} from "./src/shared.ts"; + +/** Options for the {@link denoPlugins} function. */ +export interface DenoPluginsOptions { + /** + * Specify which loader to use. By default this will use the `native` loader, + * unless the `--allow-run` permission has not been given. + * + * See {@link denoLoaderPlugin} for more information on the different loaders. + */ + loader?: "native" | "portable"; + + /** + * Specify the path to a deno.json config file to use. This is equivalent to + * the `--config` flag to the Deno executable. This path must be absolute. + * + * If not specified, the plugin will attempt to find the nearest deno.json and + * use that. If the deno.json is part of a workspace, the plugin will + * automatically find the workspace root. + */ + configPath?: string; + /** + * Specify a URL to an import map file to use when resolving import + * specifiers. This is equivalent to the `--import-map` flag to the Deno + * executable. This URL may be remote or a local file URL. + * + * If this option is not specified, the deno.json config file is consulted to + * determine what import map to use, if any. + */ + importMapURL?: string; + /** + * Specify the path to a deno.lock file to use. This is equivalent to the + * `--lock` flag to the Deno executable. This path must be absolute. + * + * If this option is not specified, the deno.json config file is consulted to + * determine what lock file to use, if any. + * + * A lockfile must be present to resolve `jsr:` specifiers with the `portable` + * loader. When using the `native` loader, a lockfile is not required, but to + * ensure dependencies are de-duplicated correctly, it is recommended to use a + * lockfile. + */ + lockPath?: string; + /** + * Specify how the loader should handle NPM packages. By default and if this + * option is set to `none`, the loader will use the global cache to resolve + * NPM packages. If this option is set to `manual`, the loader will use a + * manually managed `node_modules` directory. If this option is set to `auto`, + * the loader will use a local `node_modules` directory. + * + * If this option is not specified, the deno.json config file is consulted to + * determine which mode to use. + * + * This option is ignored when using the `portable` loader, as the portable + * loader always uses a manual `node_modules` directory (equivalent of + * `nodeModulesDir: "manual"`). + */ + nodeModulesDir?: "auto" | "manual" | "none"; +} + +/** + * A convenience function to enable both the Deno resolver plugin, and Deno + * loader plugin. + */ +export function denoPlugins(opts: DenoPluginsOptions = {}): esbuild.Plugin[] { + return [ + denoResolverPlugin(opts), + denoLoaderPlugin(opts), + ]; +} diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/deno.ts b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/deno.ts new file mode 100644 index 0000000..5839439 --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/deno.ts @@ -0,0 +1,283 @@ +export interface RootInfoOutput { + denoDir: string; + npmCache: string; +} + +export async function rootInfo(): Promise { + if (!tmpDir) tmpDir = Deno.makeTempDirSync(); + const opts = { + args: ["info", "--json", "--no-config", "--no-lock"], + cwd: tmpDir, + env: { DENO_NO_PACKAGE_JSON: "true" } as Record, + stdout: "piped", + stderr: "inherit", + }; + + const output = await new Deno.Command( + Deno.execPath(), + opts as Deno.CommandOptions, + ).output(); + if (!output.success) { + throw new Error(`Failed to call 'deno info'`); + } + const txt = new TextDecoder().decode(output.stdout); + return JSON.parse(txt); +} + +// Lifted from https://raw.githubusercontent.com/denoland/deno_graph/89affe43c9d3d5c9165c8089687c107d53ed8fe1/lib/media_type.ts +export type MediaType = + | "JavaScript" + | "Mjs" + | "Cjs" + | "JSX" + | "TypeScript" + | "Mts" + | "Cts" + | "Dts" + | "Dmts" + | "Dcts" + | "TSX" + | "Json" + | "Wasm" + | "TsBuildInfo" + | "SourceMap" + | "Unknown"; + +interface InfoOutput { + roots: string[]; + modules: ModuleEntry[]; + redirects: Record; + npmPackages?: Record; +} + +export type ModuleEntry = + | ModuleEntryError + | ModuleEntryEsm + | ModuleEntryJson + | ModuleEntryNpm + | ModuleEntryNode; + +export interface ModuleEntryBase { + specifier: string; +} + +export interface ModuleEntryError extends ModuleEntryBase { + error: string; +} + +export interface ModuleEntryEsm extends ModuleEntryBase { + kind: "esm"; + local: string | null; + emit: string | null; + map: string | null; + mediaType: MediaType; + size: number; +} + +export interface ModuleEntryJson extends ModuleEntryBase { + kind: "asserted" | "json"; + local: string | null; + mediaType: MediaType; + size: number; +} + +export interface ModuleEntryNpm extends ModuleEntryBase { + kind: "npm"; + npmPackage: string; +} + +export interface ModuleEntryNode extends ModuleEntryBase { + kind: "node"; + moduleName: string; +} + +export interface NpmPackage { + name: string; + version: string; + dependencies: string[]; + registryUrl?: string; +} + +export interface InfoOptions { + cwd?: string; + config?: string; + importMap?: string; + lock?: string; + nodeModulesDir?: "auto" | "manual" | "none"; +} + +let tmpDir: string | undefined; + +async function info( + specifier: string, + options: InfoOptions, +): Promise { + const args = ["info", "--json"]; + if (!Deno.version.deno.startsWith("1.")) { + args.push("--allow-import"); + } + const opts = { + args, + cwd: undefined as string | undefined, + env: { DENO_NO_PACKAGE_JSON: "true" } as Record, + stdout: "piped", + stderr: "inherit", + }; + if (typeof options.config === "string") { + opts.args.push("--config", options.config); + } else { + opts.args.push("--no-config"); + } + if (options.importMap) { + opts.args.push("--import-map", options.importMap); + } + if (typeof options.lock === "string") { + opts.args.push("--lock", options.lock); + } else if (!options.cwd) { + opts.args.push("--no-lock"); + } + if (options.nodeModulesDir !== undefined) { + if (Deno.version.deno.startsWith("1.")) { + if (options.nodeModulesDir === "auto") { + opts.args.push("--node-modules-dir"); + } else if (options.nodeModulesDir === "manual") { + opts.args.push("--unstable-byonm"); + } + } else { + opts.args.push(`--node-modules-dir=${options.nodeModulesDir}`); + } + } + if (options.cwd) { + opts.cwd = options.cwd; + } else { + if (!tmpDir) tmpDir = Deno.makeTempDirSync(); + opts.cwd = tmpDir; + } + + opts.args.push(specifier); + + const output = await new Deno.Command( + Deno.execPath(), + opts as Deno.CommandOptions, + ).output(); + if (!output.success) { + throw new Error(`Failed to call 'deno info' on '${specifier}'`); + } + const txt = new TextDecoder().decode(output.stdout); + return JSON.parse(txt); +} + +export class InfoCache { + #options: InfoOptions; + + #pending: { done: Promise; specifiers: Set | null } | null = + null; + + #modules: Map = new Map(); + #redirects: Map = new Map(); + #npmPackages: Map = new Map(); + + constructor(options: InfoOptions = {}) { + this.#options = options; + } + + async get(specifier: string): Promise { + let entry = this.#getCached(specifier); + if (entry !== undefined) return entry; + + await this.#queueLoad(specifier); + + entry = this.#getCached(specifier); + if (entry === undefined) { + throw new Error(`Unreachable: '${specifier}' loaded but not reachable`); + } + return entry; + } + + getNpmPackage(id: string): NpmPackage | undefined { + return this.#npmPackages.get(id); + } + + #resolve(specifier: string): string { + const original = specifier; + let counter = 0; + while (counter++ < 10) { + const redirect = this.#redirects.get(specifier); + if (redirect === undefined) return specifier; + specifier = redirect; + } + throw new Error(`Too many redirects for '${original}'`); + } + + #getCached(specifier: string): ModuleEntry | undefined { + specifier = this.#resolve(specifier); + return this.#modules.get(specifier); + } + + async #queueLoad(specifier: string) { + while (true) { + if (this.#pending === null) { + this.#pending = { + specifiers: new Set([specifier]), + done: (async () => { + await new Promise((r) => setTimeout(r, 5)); + const specifiers = this.#pending!.specifiers!; + this.#pending!.specifiers = null; + await this.#load([...specifiers]); + this.#pending = null; + })(), + }; + await this.#pending.done; + return; + } else if (this.#pending.specifiers !== null) { + this.#pending.specifiers.add(specifier); + await this.#pending.done; + return; + } else { + await this.#pending.done; + } + } + } + + async #load(specifiers: string[]): Promise { + await this.#populate(specifiers); + for (let specifier of specifiers) { + specifier = this.#resolve(specifier); + const entry = this.#modules.get(specifier); + if (entry === undefined && specifier.startsWith("npm:")) { + // we hit https://github.com/denoland/deno/issues/18043, so we have to + // perform another load to get the actual data of the redirected specifier + await this.#populate([specifier]); + } + } + } + + async #populate(specifiers: string[]) { + let specifier; + if (specifiers.length === 1) { + specifier = specifiers[0]; + } else { + specifier = `data:application/javascript,${ + encodeURIComponent( + specifiers.map((s) => `import ${JSON.stringify(s)};`).join(""), + ) + }`; + } + const { modules, redirects, npmPackages } = await info( + specifier, + this.#options, + ); + for (const module of modules) { + if (specifiers.length !== 1 && module.specifier === specifier) continue; + this.#modules.set(module.specifier, module); + } + for (const [from, to] of Object.entries(redirects)) { + this.#redirects.set(from, to); + } + if (npmPackages !== undefined) { + for (const [id, npmPackage] of Object.entries(npmPackages)) { + this.#npmPackages.set(id, npmPackage); + } + } + } +} diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/esbuild_types.ts b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/esbuild_types.ts new file mode 100644 index 0000000..f4b1021 --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/esbuild_types.ts @@ -0,0 +1,143 @@ +/** + * This is a copy of the esbuild types that `deno_esbuild_loader` uses. This is + * necessary because the `esbuild` package is not available on JSR yet. + * + * @module + */ + +/** the type of import */ +export type ImportKind = + | "entry-point" + // JS + | "import-statement" + | "require-call" + | "dynamic-import" + | "require-resolve" + // CSS + | "import-rule" + | "composes-from" + | "url-token"; + +/** Documentation: https://esbuild.github.io/api/#loader */ +export type Loader = + | "base64" + | "binary" + | "copy" + | "css" + | "dataurl" + | "default" + | "empty" + | "file" + | "js" + | "json" + | "jsx" + | "local-css" + | "text" + | "ts" + | "tsx"; + +/** Documentation: https://esbuild.github.io/plugins */ +export interface Plugin { + name: string; + setup: (build: PluginBuild) => void | Promise; +} + +/** Documentation: https://esbuild.github.io/plugins */ +export interface PluginBuild { + /** Documentation: https://esbuild.github.io/plugins/#build-options */ + initialOptions: BuildOptions; + + /** Documentation: https://esbuild.github.io/plugins/#resolve */ + resolve(path: string, options?: ResolveOptions): Promise; + + /** Documentation: https://esbuild.github.io/plugins/#on-start */ + onStart(callback: () => void | Promise): void; + + /** Documentation: https://esbuild.github.io/plugins/#on-resolve */ + onResolve( + options: OnResolveOptions, + callback: (args: OnResolveArgs) => Promise, + ): void; + + /** Documentation: https://esbuild.github.io/plugins/#on-load */ + onLoad( + options: OnLoadOptions, + callback: ( + args: OnLoadArgs, + ) => Promise | undefined, + ): void; +} + +/** Documentation: https://esbuild.github.io/api */ +export interface BuildOptions { + /** Documentation: https://esbuild.github.io/api/#external */ + external?: string[]; + /** Documentation: https://esbuild.github.io/api/#working-directory */ + absWorkingDir?: string; + /** Documentation: https://esbuild.github.io/api/#entry-points */ + entryPoints?: string[] | Record | { + in: string; + out: string; + }[]; +} + +/** Documentation: https://esbuild.github.io/plugins/#resolve-options */ +export interface ResolveOptions { + importer?: string; + resolveDir?: string; + namespace?: string; + kind?: ImportKind; +} + +/** Documentation: https://esbuild.github.io/plugins/#resolve-results */ +export interface ResolveResult { + path: string; + namespace: string; +} + +/** Documentation: https://esbuild.github.io/plugins/#on-resolve-options */ +export interface OnResolveOptions { + filter: RegExp; + namespace?: string; +} + +/** Documentation: https://esbuild.github.io/plugins/#on-resolve-arguments */ +export interface OnResolveArgs { + path: string; + importer: string; + namespace: string; + resolveDir: string; + kind: ImportKind; +} + +export interface OnResolveResult { + path?: string; + external?: boolean; + namespace?: string; +} + +/** Documentation: https://esbuild.github.io/plugins/#on-load-options */ +export interface OnLoadOptions { + filter: RegExp; + namespace?: string; +} + +/** Documentation: https://esbuild.github.io/plugins/#on-load-arguments */ +export interface OnLoadArgs { + path: string; + namespace: string; +} + +/** Documentation: https://esbuild.github.io/plugins/#on-load-results */ +export interface OnLoadResult { + contents?: string | Uint8Array; + resolveDir?: string; + loader?: Loader; + + watchFiles?: string[]; +} + +/** Documentation: https://esbuild.github.io/plugins/#on-start-results */ +// deno-lint-ignore no-empty-interface +export interface OnStartResult { +} diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/loader_native.ts b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/loader_native.ts new file mode 100644 index 0000000..1b4539f --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/loader_native.ts @@ -0,0 +1,219 @@ +import type * as esbuild from "./esbuild_types.ts"; +import { dirname, fromFileUrl, join } from "jsr:@std/path@^1.0.6"; +import { encodeBase32 } from "jsr:/@std/encoding@^1.0.5/base32"; +import { lastIndexOfNeedle } from "jsr:@std/bytes@^1.0.2"; +import * as deno from "./deno.ts"; +import { rootInfo, type RootInfoOutput } from "./deno.ts"; +import { + type Loader, + type LoaderResolution, + mapContentType, + mediaTypeFromSpecifier, + mediaTypeToLoader, + parseNpmSpecifier, +} from "./shared.ts"; + +let ROOT_INFO_OUTPUT: Promise | RootInfoOutput | undefined; + +export const DENO_CACHE_METADATA = new TextEncoder() + .encode("\n// denoCacheMetadata="); + +export interface NativeLoaderOptions { + infoOptions?: deno.InfoOptions; +} + +export class NativeLoader implements Loader { + #nodeModulesDirManual: boolean; + #infoCache: deno.InfoCache; + #linkDirCache: Map = new Map(); // mapping from package id -> link dir + + constructor(options: NativeLoaderOptions) { + this.#nodeModulesDirManual = + options.infoOptions?.nodeModulesDir === "manual"; + this.#infoCache = new deno.InfoCache(options.infoOptions); + } + + async resolve(specifier: URL): Promise { + // Workaround for https://github.com/denoland/deno/issues/25903 + if (this.#nodeModulesDirManual && specifier.protocol === "npm:") { + const npmSpecifier = parseNpmSpecifier(specifier); + return { + kind: "npm", + packageId: "", + packageName: npmSpecifier.name, + path: npmSpecifier.path ?? "", + }; + } + + const entry = await this.#infoCache.get(specifier.href); + if ("error" in entry) { + if ( + specifier.protocol === "file:" && + mediaTypeFromSpecifier(specifier) === "Unknown" + ) { + return { kind: "esm", specifier: new URL(entry.specifier) }; + } + throw new Error(entry.error); + } + + if (entry.kind === "npm") { + // TODO(lucacasonato): remove parsing once https://github.com/denoland/deno/issues/18043 is resolved + const parsed = parseNpmSpecifier(new URL(entry.specifier)); + return { + kind: "npm", + packageId: entry.npmPackage, + packageName: parsed.name, + path: parsed.path ?? "", + }; + } else if (entry.kind === "node") { + return { + kind: "node", + path: entry.specifier, + }; + } + + return { kind: "esm", specifier: new URL(entry.specifier) }; + } + + async loadEsm(specifier: URL): Promise { + if (specifier.protocol === "data:") { + const resp = await fetch(specifier); + const contents = new Uint8Array(await resp.arrayBuffer()); + const contentType = resp.headers.get("content-type"); + const mediaType = mapContentType(specifier, contentType); + const loader = mediaTypeToLoader(mediaType); + if (loader === null) return undefined; + return { contents, loader }; + } + const entry = await this.#infoCache.get(specifier.href); + if ( + "error" in entry && specifier.protocol !== "file:" && + mediaTypeFromSpecifier(specifier) !== "Unknown" + ) throw new Error(entry.error); + + if (!("local" in entry)) { + throw new Error("[unreachable] Not an ESM module."); + } + if (!entry.local) throw new Error("Module not downloaded yet."); + const loader = mediaTypeToLoader(entry.mediaType); + if (loader === null) return undefined; + + let contents = await Deno.readFile(entry.local); + const denoCacheMetadata = lastIndexOfNeedle(contents, DENO_CACHE_METADATA); + if (denoCacheMetadata !== -1) { + contents = contents.subarray(0, denoCacheMetadata); + } + const res: esbuild.OnLoadResult = { contents, loader }; + if (specifier.protocol === "file:") { + res.watchFiles = [fromFileUrl(specifier)]; + } + return res; + } + + async nodeModulesDirForPackage(npmPackageId: string): Promise { + const npmPackage = this.#infoCache.getNpmPackage(npmPackageId); + if (!npmPackage) throw new Error("NPM package not found."); + + let linkDir = this.#linkDirCache.get(npmPackageId); + if (!linkDir) { + linkDir = await this.#nodeModulesDirForPackageInner( + npmPackageId, + npmPackage, + ); + this.#linkDirCache.set(npmPackageId, linkDir); + } + return linkDir; + } + + async #nodeModulesDirForPackageInner( + npmPackageId: string, + npmPackage: deno.NpmPackage, + ): Promise { + let name = npmPackage.name; + if (name.toLowerCase() !== name) { + name = `_${encodeBase32(new TextEncoder().encode(name))}`; + } + if (ROOT_INFO_OUTPUT === undefined) { + ROOT_INFO_OUTPUT = rootInfo(); + } + if (ROOT_INFO_OUTPUT instanceof Promise) { + ROOT_INFO_OUTPUT = await ROOT_INFO_OUTPUT; + } + const { denoDir, npmCache } = ROOT_INFO_OUTPUT; + const registryUrl = npmPackage.registryUrl ?? "https://registry.npmjs.org"; + const registry = new URL(registryUrl); + + const packageDir = join( + npmCache, + registry.hostname, + name, + npmPackage.version, + ); + const linkDir = join( + denoDir, + "deno_esbuild", + registry.hostname, + npmPackageId, + "node_modules", + name, + ); + const linkDirParent = dirname(linkDir); + const tmpDirParent = join(denoDir, "deno_esbuild_tmp"); + + // check if the package is already linked, if so, return the link and skip + // a bunch of work + try { + await Deno.stat(linkDir); + this.#linkDirCache.set(npmPackageId, linkDir); + return linkDir; + } catch { + // directory does not yet exist + } + + // create a temporary directory, recursively hardlink the package contents + // into it, and then rename it to the final location + await Deno.mkdir(tmpDirParent, { recursive: true }); + const tmpDir = await Deno.makeTempDir({ dir: tmpDirParent }); + await linkRecursive(packageDir, tmpDir); + try { + await Deno.mkdir(linkDirParent, { recursive: true }); + await Deno.rename(tmpDir, linkDir); + } catch (err) { + // the directory may already have been created by someone else - check if so + try { + await Deno.stat(linkDir); + } catch { + throw err; + } + } + + return linkDir; + } + + packageIdFromNameInPackage( + name: string, + parentPackageId: string, + ): string | null { + const parentPackage = this.#infoCache.getNpmPackage(parentPackageId); + if (!parentPackage) throw new Error("NPM package not found."); + if (parentPackage.name === name) return parentPackageId; + for (const dep of parentPackage.dependencies) { + const depPackage = this.#infoCache.getNpmPackage(dep); + if (!depPackage) throw new Error("NPM package not found."); + if (depPackage.name === name) return dep; + } + return null; + } +} + +async function linkRecursive(from: string, to: string) { + const fromStat = await Deno.stat(from); + if (fromStat.isDirectory) { + await Deno.mkdir(to, { recursive: true }); + for await (const entry of Deno.readDir(from)) { + await linkRecursive(join(from, entry.name), join(to, entry.name)); + } + } else { + await Deno.link(from, to); + } +} diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/loader_portable.ts b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/loader_portable.ts new file mode 100644 index 0000000..738d861 --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/loader_portable.ts @@ -0,0 +1,245 @@ +import type * as esbuild from "./esbuild_types.ts"; +import { fromFileUrl } from "jsr:@std/path@^1.0.6"; +import type * as deno from "./deno.ts"; +import { + type Loader, + type LoaderResolution, + mapContentType, + mediaTypeToLoader, + parseJsrSpecifier, + parseNpmSpecifier, +} from "./shared.ts"; +import { instantiate, type WasmLockfile } from "./wasm/loader.generated.js"; + +interface Module { + specifier: string; + mediaType: deno.MediaType; + data: Uint8Array; +} + +const JSR_URL = Deno.env.get("JSR_URL") ?? "https://jsr.io"; + +async function readLockfile(path: string): Promise { + try { + const data = await Deno.readTextFile(path); + const instance = instantiate(); + return new instance.WasmLockfile(path, data); + } catch (err) { + if (err instanceof Deno.errors.NotFound) { + return null; + } + throw err; + } +} + +interface PortableLoaderOptions { + lock?: string; +} + +export class PortableLoader implements Loader, Disposable { + #options: PortableLoaderOptions; + #fetchOngoing = new Map>(); + #lockfile: Promise | WasmLockfile | null | undefined; + + #fetchModules = new Map(); + #fetchRedirects = new Map(); + + constructor(options: PortableLoaderOptions) { + this.#options = options; + } + + [Symbol.dispose]() { + if (this.#lockfile != null && "free" in this.#lockfile) { + this.#lockfile.free(); + } + } + + async resolve(specifier: URL): Promise { + switch (specifier.protocol) { + case "file:": { + return { kind: "esm", specifier }; + } + case "http:": + case "https:": + case "data:": { + const module = await this.#loadRemote(specifier.href); + return { kind: "esm", specifier: new URL(module.specifier) }; + } + case "npm:": { + const npmSpecifier = parseNpmSpecifier(specifier); + return { + kind: "npm", + packageId: "", + packageName: npmSpecifier.name, + path: npmSpecifier.path ?? "", + }; + } + case "node:": { + return { kind: "node", path: specifier.pathname }; + } + case "jsr:": { + const resolvedSpecifier = await this.#resolveJsrSpecifier(specifier); + return { kind: "esm", specifier: resolvedSpecifier }; + } + default: + throw new Error(`Unsupported scheme: '${specifier.protocol}'`); + } + } + + async #resolveJsrSpecifier(specifier: URL): Promise { + // parse the JSR specifier. + const jsrSpecifier = parseJsrSpecifier(specifier); + + // Attempt to load the lockfile. + if (this.#lockfile === undefined) { + this.#lockfile = typeof this.#options.lock === "string" + ? readLockfile(this.#options.lock) + : null; + } + if (this.#lockfile instanceof Promise) { + this.#lockfile = await this.#lockfile; + } + if (this.#lockfile === null) { + throw new Error( + "jsr: specifiers are not supported in the portable loader without a lockfile", + ); + } + const lockfile = this.#lockfile; + // Look up the package + constraint in the lockfile. + const id = `jsr:${jsrSpecifier.name}${ + jsrSpecifier.version ? `@${jsrSpecifier.version}` : "" + }`; + const resolvedVersion = lockfile.package_version(id); + if (!resolvedVersion) { + throw new Error(`Specifier not found in lockfile: ${id}`); + } + + // Load the JSR manifest to find the export path. + const manifestUrl = new URL( + `./${jsrSpecifier.name}/${resolvedVersion}_meta.json`, + JSR_URL, + ); + const manifest = await this.#loadRemote(manifestUrl.href); + if (manifest.mediaType !== "Json") { + throw new Error( + `Expected JSON media type for JSR manifest, got: ${manifest.mediaType}`, + ); + } + const manifestData = new TextDecoder().decode(manifest.data); + const manifestJson = JSON.parse(manifestData); + + // Look up the export path in the manifest. + const exportEntry = `.${jsrSpecifier.path ?? ""}`; + const exportPath = manifestJson.exports[exportEntry]; + if (!exportPath) { + throw new Error( + `Package 'jsr:${jsrSpecifier.name}@${resolvedVersion}' has no export named '${exportEntry}'`, + ); + } + + // Return the resolved URL. + return new URL( + `./${jsrSpecifier.name}/${resolvedVersion}/${exportPath}`, + JSR_URL, + ); + } + + async loadEsm(url: URL): Promise { + let module: Module; + switch (url.protocol) { + case "file:": { + module = await this.#loadLocal(url); + break; + } + case "http:": + case "https:": + case "data:": { + module = await this.#loadRemote(url.href); + break; + } + default: + throw new Error("[unreachable] unsupported esm scheme " + url.protocol); + } + + const loader = mediaTypeToLoader(module.mediaType); + if (loader === null) return undefined; + + const res: esbuild.OnLoadResult = { contents: module.data, loader }; + if (url.protocol === "file:") { + res.watchFiles = [fromFileUrl(module.specifier)]; + } + return res; + } + + #resolveRemote(specifier: string): string { + return this.#fetchRedirects.get(specifier) ?? specifier; + } + + async #loadRemote(specifier: string): Promise { + for (let i = 0; i < 10; i++) { + specifier = this.#resolveRemote(specifier); + const module = this.#fetchModules.get(specifier); + if (module) return module; + + let promise = this.#fetchOngoing.get(specifier); + if (!promise) { + promise = this.#fetch(specifier); + this.#fetchOngoing.set(specifier, promise); + } + + await promise; + } + + throw new Error("Too many redirects. Last one: " + specifier); + } + + async #fetch(specifier: string): Promise { + const resp = await fetch(specifier, { + redirect: "manual", + }); + if (resp.status < 200 && resp.status >= 400) { + throw new Error( + `Encountered status code ${resp.status} while fetching ${specifier}.`, + ); + } + + if (resp.status >= 300 && resp.status < 400) { + await resp.body?.cancel(); + const location = resp.headers.get("location"); + if (!location) { + throw new Error( + `Redirected without location header while fetching ${specifier}.`, + ); + } + + const url = new URL(location, specifier); + if (url.protocol !== "https:" && url.protocol !== "http:") { + throw new Error( + `Redirected to unsupported protocol '${url.protocol}' while fetching ${specifier}.`, + ); + } + + this.#fetchRedirects.set(specifier, url.href); + return; + } + + const contentType = resp.headers.get("content-type"); + const mediaType = mapContentType(new URL(specifier), contentType); + + const data = new Uint8Array(await resp.arrayBuffer()); + this.#fetchModules.set(specifier, { + specifier, + mediaType, + data, + }); + } + + async #loadLocal(specifier: URL): Promise { + const path = fromFileUrl(specifier); + + const mediaType = mapContentType(specifier, null); + const data = await Deno.readFile(path); + + return { specifier: specifier.href, mediaType, data }; + } +} diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/plugin_deno_loader.ts b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/plugin_deno_loader.ts new file mode 100644 index 0000000..6477648 --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/plugin_deno_loader.ts @@ -0,0 +1,401 @@ +import type * as esbuild from "./esbuild_types.ts"; +import { dirname, join } from "jsr:@std/path@^1.0.6"; +import { NativeLoader } from "./loader_native.ts"; +import { PortableLoader } from "./loader_portable.ts"; +import { findWorkspace, isInNodeModules } from "./shared.ts"; +import { + esbuildResolutionToURL, + isNodeModulesResolution, + type Loader, + urlToEsbuildResolution, +} from "./shared.ts"; + +/** Options for the {@link denoLoaderPlugin}. */ +export interface DenoLoaderPluginOptions { + /** + * Specify which loader to use. By default this will use the `native` loader, + * unless the `--allow-run` permission has not been given. + * + * See {@link denoLoaderPlugin} for more information on the different loaders. + */ + loader?: "native" | "portable"; + + /** + * Specify the path to a deno.json config file to use. This is equivalent to + * the `--config` flag to the Deno executable. This path must be absolute. + * + * NOTE: Import maps in the config file are not used to inform resolution, as + * this has already been done by the `denoResolverPlugin`. This option is only + * used when specifying `loader: "native"` to more efficiently load modules + * from the cache. When specifying `loader: "native"`, this option must be in + * sync with the `configPath` option for `denoResolverPlugin`. + * + * If not specified, the plugin will attempt to find the nearest deno.json and + * use that. If the deno.json is part of a workspace, the plugin will + * automatically find the workspace root. + */ + configPath?: string; + /** + * Specify a URL to an import map file to use when resolving import + * specifiers. This is equivalent to the `--import-map` flag to the Deno + * executable. This URL may be remote or a local file URL. + * + * If this option is not specified, the deno.json config file is consulted to + * determine what import map to use, if any. + * + * NOTE: Import maps in the config file are not used to inform resolution, as + * this has already been done by the `denoResolverPlugin`. This option is only + * used when specifying `loader: "native"` to more efficiently load modules + * from the cache. When specifying `loader: "native"`, this option must be in + * sync with the `importMapURL` option for `denoResolverPlugin`. + */ + importMapURL?: string; + /** + * Specify the path to a lock file to use. This is equivalent to the `--lock` + * flag to the Deno executable. This path must be absolute. + * + * If this option is not specified, the deno.json config file is consulted to + * determine what import map to use, if any. + * + * A lockfile must be present to resolve `jsr:` specifiers with the `portable` + * loader. When using the `native` loader, a lockfile is not required, but to + * ensure dependencies are de-duplicated correctly, it is recommended to use a + * lockfile. + * + * NOTE: when using `loader: "portable"`, integrity checks are not performed + * for ESM modules. + */ + lockPath?: string; + /** + * Specify how the loader should handle NPM packages. By default and if this + * option is set to `none`, the loader will use the global cache to resolve + * NPM packages. If this option is set to `manual`, the loader will use a + * manually managed `node_modules` directory. If this option is set to `auto`, + * the loader will use a local `node_modules` directory. + * + * If this option is not specified, the deno.json config file is consulted to + * determine which mode to use. If no config file is present, or the config + * file does not specify this option, the default is `none` if no package.json + * is present, and `auto` if a package.json is present. + * + * This option is ignored when using the `portable` loader, as the portable + * loader always uses a manual `node_modules` directory (equivalent of + * `nodeModulesDir: "manual"`). + */ + nodeModulesDir?: "auto" | "manual" | "none"; +} + +const LOADERS = ["native", "portable"] as const; + +/** The default loader to use. */ +export const DEFAULT_LOADER: "native" | "portable" = + await Deno.permissions.query({ name: "run" }) + .then((res) => res.state !== "granted") + ? "portable" + : "native"; + +const BUILTIN_NODE_MODULES = new Set([ + "assert", + "assert/strict", + "async_hooks", + "buffer", + "child_process", + "cluster", + "console", + "constants", + "crypto", + "dgram", + "diagnostics_channel", + "dns", + "dns/promises", + "domain", + "events", + "fs", + "fs/promises", + "http", + "http2", + "https", + "module", + "net", + "os", + "path", + "path/posix", + "path/win32", + "perf_hooks", + "process", + "punycode", + "querystring", + "repl", + "readline", + "stream", + "stream/consumers", + "stream/promises", + "stream/web", + "string_decoder", + "sys", + "test", + "timers", + "timers/promises", + "tls", + "tty", + "url", + "util", + "util/types", + "v8", + "vm", + "worker_threads", + "zlib", +]); + +/** + * The Deno loader plugin for esbuild. This plugin will load fully qualified + * `file`, `http`, `https`, and `data` URLs. + * + * **Note** that this plugin does not do relative->absolute specifier + * resolution, or import map resolution. You must use the `denoResolverPlugin` + * _before_ the `denoLoaderPlugin` to do that. + * + * This plugin can be backed by two different loaders, the `native` loader and + * the `portable` loader. + * + * ### Native Loader + * + * The native loader shells out to the Deno executable under the hood to load + * files. Requires `--allow-read` and `--allow-run`. In this mode the download + * cache is shared with the Deno executable. This mode respects deno.lock, + * DENO_DIR, DENO_AUTH_TOKENS, and all similar loading configuration. Files are + * cached on disk in the same Deno cache as the Deno executable, and will not be + * re-downloaded on subsequent builds. + * + * NPM specifiers can be used in the native loader without requiring a local + * `node_modules` directory. NPM packages are resolved, downloaded, cached, and + * loaded in the same way as the Deno executable does. + * + * JSR specifiers can be used without restrictions in the native loader. To + * ensure dependencies are de-duplicated correctly, it is recommended to use a + * lockfile. + * + * ### Portable Loader + * + * The portable loader does module downloading and caching with only Web APIs. + * Requires `--allow-read` and/or `--allow-net`. This mode does not respect + * deno.lock, DENO_DIR, DENO_AUTH_TOKENS, or any other loading configuration. It + * does not cache downloaded files. It will re-download files on every build. + * + * NPM specifiers can be used in the portable loader, but require a local + * `node_modules` directory. The `node_modules` directory must be created prior + * using Deno's `--node-modules-dir` flag. + * + * JSR specifiers require a lockfile to be present to resolve. + */ +export function denoLoaderPlugin( + options: DenoLoaderPluginOptions = {}, +): esbuild.Plugin { + const loader = options.loader ?? DEFAULT_LOADER; + if (LOADERS.indexOf(loader) === -1) { + throw new Error(`Invalid loader: ${loader}`); + } + return { + name: "deno-loader", + setup(build) { + const cwd = build.initialOptions.absWorkingDir ?? Deno.cwd(); + + let nodeModulesDir: string | null = null; + let loaderImpl: Loader | undefined; + + const packageIdByNodeModules = new Map(); + + build.onStart(function onStart() { + loaderImpl?.[Symbol.dispose]?.(); + loaderImpl = undefined; + packageIdByNodeModules.clear(); + + let nodeModulesDirOpt: "auto" | "manual" | "none" | undefined = + options.nodeModulesDir; + let lockPath: string | undefined = options.lockPath; + if ( + (nodeModulesDirOpt === undefined || + (loader === "portable" && lockPath === undefined)) + ) { + const workspace = findWorkspace( + cwd, + build.initialOptions.entryPoints, + options.configPath, + ); + try { + if (nodeModulesDirOpt === undefined) { + nodeModulesDirOpt = workspace.node_modules_dir() as + | "auto" + | "manual" + | "none"; + } + if (loader === "portable" && lockPath === undefined) { + lockPath = workspace.lock_path(); + } + } finally { + workspace.free(); + } + } + if ( + nodeModulesDirOpt === "auto" || + nodeModulesDirOpt === "manual" + ) { + nodeModulesDir = join(cwd, "node_modules"); + } + + switch (loader) { + case "native": + loaderImpl = new NativeLoader({ + infoOptions: { + cwd, + config: options.configPath, + importMap: options.importMapURL, + lock: options.lockPath, + nodeModulesDir: nodeModulesDirOpt, + }, + }); + break; + case "portable": { + loaderImpl = new PortableLoader({ + lock: lockPath, + }); + } + } + }); + + async function onResolve( + args: esbuild.OnResolveArgs, + ): Promise { + if (isNodeModulesResolution(args)) { + if ( + BUILTIN_NODE_MODULES.has(args.path) || + BUILTIN_NODE_MODULES.has("node:" + args.path) + ) { + return { + path: args.path, + external: true, + }; + } + if (nodeModulesDir !== null) { + return undefined; + } else if ( + loaderImpl!.nodeModulesDirForPackage && + loaderImpl!.packageIdFromNameInPackage + ) { + let parentPackageId: string | undefined; + let path = args.importer; + while (true) { + const packageId = packageIdByNodeModules.get(path); + if (packageId) { + parentPackageId = packageId; + break; + } + const pathBefore = path; + path = dirname(path); + if (path === pathBefore) break; + } + if (!parentPackageId) { + throw new Error( + `Could not find package ID for importer: ${args.importer}`, + ); + } + if (args.path.startsWith(".")) { + return undefined; + } else { + let packageName: string; + let pathParts: string[]; + if (args.path.startsWith("@")) { + const [scope, name, ...rest] = args.path.split("/"); + packageName = `${scope}/${name}`; + pathParts = rest; + } else { + const [name, ...rest] = args.path.split("/"); + packageName = name; + pathParts = rest; + } + const packageId = loaderImpl!.packageIdFromNameInPackage( + packageName, + parentPackageId, + ); + const id = packageId ?? parentPackageId; + const resolveDir = await loaderImpl!.nodeModulesDirForPackage(id); + packageIdByNodeModules.set(resolveDir, id); + const path = [packageName, ...pathParts].join("/"); + return await build.resolve(path, { + kind: args.kind, + resolveDir, + importer: args.importer, + }); + } + } else { + throw new Error( + `To use "npm:" specifiers, you must specify 'nodeModulesDir: "manual"', or use 'loader: "native"'.`, + ); + } + } + const specifier = esbuildResolutionToURL(args); + + // Once we have an absolute path, let the loader resolver figure out + // what to do with it. + const res = await loaderImpl!.resolve(specifier); + + switch (res.kind) { + case "esm": { + const { specifier } = res; + return urlToEsbuildResolution(specifier); + } + case "npm": { + let resolveDir: string; + if (nodeModulesDir !== null) { + resolveDir = nodeModulesDir; + } else if (loaderImpl!.nodeModulesDirForPackage) { + resolveDir = await loaderImpl!.nodeModulesDirForPackage( + res.packageId, + ); + packageIdByNodeModules.set(resolveDir, res.packageId); + } else { + throw new Error( + `To use "npm:" specifiers, you must specify 'nodeModulesDir: "manual"', or use 'loader: "native"'.`, + ); + } + const path = `${res.packageName}${res.path ?? ""}`; + return await build.resolve(path, { + kind: args.kind, + resolveDir, + importer: args.importer, + }); + } + case "node": { + return { + path: res.path, + external: true, + }; + } + } + } + build.onResolve({ filter: /.*/, namespace: "file" }, onResolve); + build.onResolve({ filter: /.*/, namespace: "http" }, onResolve); + build.onResolve({ filter: /.*/, namespace: "https" }, onResolve); + build.onResolve({ filter: /.*/, namespace: "data" }, onResolve); + build.onResolve({ filter: /.*/, namespace: "npm" }, onResolve); + build.onResolve({ filter: /.*/, namespace: "jsr" }, onResolve); + build.onResolve({ filter: /.*/, namespace: "node" }, onResolve); + + function onLoad( + args: esbuild.OnLoadArgs, + ): Promise | undefined { + if (args.namespace === "file" && isInNodeModules(args.path)) { + // inside node_modules, just let esbuild do it's thing + return undefined; + } + const specifier = esbuildResolutionToURL(args); + return loaderImpl!.loadEsm(specifier); + } + // TODO(lucacasonato): once https://github.com/evanw/esbuild/pull/2968 is fixed, remove the catch all "file" handler + build.onLoad({ filter: /.*/, namespace: "file" }, onLoad); + build.onLoad({ filter: /.*/, namespace: "http" }, onLoad); + build.onLoad({ filter: /.*/, namespace: "https" }, onLoad); + build.onLoad({ filter: /.*/, namespace: "data" }, onLoad); + }, + }; +} diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/plugin_deno_resolver.ts b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/plugin_deno_resolver.ts new file mode 100644 index 0000000..a1c6740 --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/plugin_deno_resolver.ts @@ -0,0 +1,136 @@ +import type * as esbuild from "./esbuild_types.ts"; +import { toFileUrl } from "jsr:@std/path@^1.0.6"; +import { + findWorkspace, + isNodeModulesResolution, + urlToEsbuildResolution, +} from "./shared.ts"; +import type { WasmWorkspaceResolver } from "./wasm/loader.generated.js"; + +/** Options for the {@link denoResolverPlugin}. */ +export interface DenoResolverPluginOptions { + /** + * Specify the path to a deno.json config file to use. This is equivalent to + * the `--config` flag to the Deno executable. This path must be absolute. + * + * If not specified, the plugin will attempt to find the nearest deno.json and + * use that. If the deno.json is part of a workspace, the plugin will + * automatically find the workspace root. + */ + configPath?: string; + /** + * Specify a URL to an import map file to use when resolving import + * specifiers. This is equivalent to the `--import-map` flag to the Deno + * executable. This URL may be remote or a local file URL. + * + * If this option is not specified, the deno.json config file is consulted to + * determine what import map to use, if any. + */ + importMapURL?: string; +} + +/** + * The Deno resolver plugin performs relative->absolute specifier resolution + * and import map resolution. + * + * If using the {@link denoLoaderPlugin}, this plugin must be used before the + * loader plugin. + */ +export function denoResolverPlugin( + options: DenoResolverPluginOptions = {}, +): esbuild.Plugin { + return { + name: "deno-resolver", + setup(build) { + let resolver: WasmWorkspaceResolver | null = null; + + const externalRegexps: RegExp[] = (build.initialOptions.external ?? []) + .map((external) => { + const regexp = new RegExp( + "^" + external.replace(/[-/\\^$+?.()|[\]{}]/g, "\\$&").replace( + /\*/g, + ".*", + ) + "$", + ); + return regexp; + }); + + build.onStart(async function onStart() { + const cwd = build.initialOptions.absWorkingDir ?? Deno.cwd(); + + const workspace = findWorkspace( + cwd, + build.initialOptions.entryPoints, + options.configPath, + ); + try { + const importMapURL: string | undefined = options.importMapURL; + let importMapValue: unknown | undefined; + if (importMapURL !== undefined) { + // If we have an import map URL, fetch it and parse it. + const resp = await fetch(importMapURL); + importMapValue = await resp.json(); + } + + resolver?.free(); + resolver = null; + resolver = workspace.resolver(importMapURL, importMapValue); + } finally { + workspace.free(); + } + }); + + build.onResolve({ filter: /.*/ }, async function onResolve(args) { + // Pass through any node_modules internal resolution. + if (isNodeModulesResolution(args)) { + return undefined; + } + + // The first pass resolver performs synchronous resolution. This + // includes relative to absolute specifier resolution and import map + // resolution. + + // We have to first determine the referrer URL to use when resolving + // the specifier. This is either the importer URL, or the resolveDir + // URL if the importer is not specified (ie if the specifier is at the + // root). + let referrer: URL; + if (args.importer !== "") { + if (args.namespace === "") { + throw new Error("[assert] namespace is empty"); + } + referrer = new URL(`${args.namespace}:${args.importer}`); + } else if (args.resolveDir !== "") { + referrer = new URL(`${toFileUrl(args.resolveDir).href}/`); + } else { + return undefined; + } + + for (const externalRegexp of externalRegexps) { + if (externalRegexp.test(args.path)) { + return { + path: args.path, + external: true, + }; + } + } + + // We can then resolve the specifier relative to the referrer URL, using + // the workspace resolver. + const resolved = new URL( + resolver!.resolve(args.path, referrer.href), + ); + + // Now pass the resolved specifier back into the resolver, for a second + // pass. Now plugins can perform any resolution they want on the fully + // resolved specifier. + const { path, namespace } = urlToEsbuildResolution(resolved); + const res = await build.resolve(path, { + namespace, + kind: args.kind, + }); + return res; + }); + }, + }; +} diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/shared.ts b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/shared.ts new file mode 100644 index 0000000..ef3c4fc --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/shared.ts @@ -0,0 +1,387 @@ +import { dirname, extname, fromFileUrl, SEPARATOR, toFileUrl } from "jsr:@std/path@^1.0.6"; +import type { MediaType } from "./deno.ts"; +import type * as esbuild from "./esbuild_types.ts"; +import { instantiate, WasmWorkspace } from "./wasm/loader.generated.js"; +import type { BuildOptions } from "./esbuild_types.ts"; + +export interface Loader { + resolve(specifier: URL): Promise; + loadEsm(specifier: URL): Promise; + + packageIdFromNameInPackage?( + name: string, + parentPackageId: string, + ): string | null; + nodeModulesDirForPackage?(npmPackageId?: string): Promise; + + [Symbol.dispose]?(): void; +} + +export function findWorkspace( + cwd: string, + entryPoints: BuildOptions["entryPoints"], + configPath: string | undefined, +): WasmWorkspace { + const cwdFileUrl = toFileUrl(cwd); + if (!cwdFileUrl.pathname.endsWith("/")) { + cwdFileUrl.pathname += "/"; + } + + let entrypoints: Array; + let isConfigFile = false; + if (configPath !== undefined) { + entrypoints = [configPath]; + isConfigFile = true; + } else if (Array.isArray(entryPoints)) { + entrypoints = entryPoints.flatMap( + (entrypoint) => { + let specifier: string; + + if (typeof entrypoint === "string") { + specifier = entrypoint; + } else { + specifier = entrypoint.in; + } + + const url = new URL(specifier, cwdFileUrl.href); + if (url.protocol === "file:") { + return [dirname(fromFileUrl(url.href))]; + } else { + return []; + } + }, + ); + } else if (typeof entryPoints === "object") { + entrypoints = Object.values(entryPoints).flatMap( + (entrypoint) => { + const url = new URL(entrypoint, cwdFileUrl.href); + if (url.protocol === "file:") { + return [dirname(fromFileUrl(url.href))]; + } else { + return []; + } + }, + ); + } else { + entrypoints = []; + } + if (entrypoints.length === 0) { + entrypoints = [cwd]; + } + + instantiate(); + return WasmWorkspace.discover(entrypoints, isConfigFile); +} + +export type LoaderResolution = + | LoaderResolutionEsm + | LoaderResolutionNpm + | LoaderResolutionNode; + +export interface LoaderResolutionEsm { + kind: "esm"; + specifier: URL; +} + +export interface LoaderResolutionNpm { + kind: "npm"; + packageId: string; + packageName: string; + path: string; +} + +export interface LoaderResolutionNode { + kind: "node"; + path: string; +} + +export function mediaTypeToLoader(mediaType: MediaType): esbuild.Loader | null { + switch (mediaType) { + case "JavaScript": + case "Mjs": + return "js"; + case "JSX": + return "jsx"; + case "TypeScript": + case "Mts": + return "ts"; + case "TSX": + return "tsx"; + case "Json": + return "json"; + default: + return null; + } +} + +/** Esbuild's representation of a module specifier. */ +export interface EsbuildResolution { + /** The namespace, like `file`, `https`, or `npm`. */ + namespace: string; + /** The path. When the namespace is `file`, this is a file path. Otherwise + * this is everything in a URL with the namespace as the scheme, after the + * `:` of the scheme. */ + path: string; +} + +/** + * Turn a URL into an {@link EsbuildResolution} by splitting the URL into a + * namespace and path. + * + * For file URLs, the path returned is a file path not a URL path representing a + * file. + */ +export function urlToEsbuildResolution(url: URL): EsbuildResolution { + if (url.protocol === "file:") { + return { path: fromFileUrl(url), namespace: "file" }; + } + + const namespace = url.protocol.slice(0, -1); + const path = url.href.slice(namespace.length + 1); + return { path, namespace }; +} + +/** + * Turn an {@link EsbuildResolution} into a URL by joining the namespace and + * path into a URL string. + * + * For file URLs, the path is interpreted as a file path not as a URL path + * representing a file. + */ +export function esbuildResolutionToURL(specifier: EsbuildResolution): URL { + if (specifier.namespace === "file") { + return toFileUrl(specifier.path); + } + + return new URL(`${specifier.namespace}:${specifier.path}`); +} + +export function mapContentType( + specifier: URL, + contentType: string | null, +): MediaType { + if (contentType !== null) { + const contentTypes = contentType.split(";"); + const mediaType = contentTypes[0].toLowerCase(); + switch (mediaType) { + case "application/typescript": + case "text/typescript": + case "video/vnd.dlna.mpeg-tts": + case "video/mp2t": + case "application/x-typescript": + return mapJsLikeExtension(specifier, "TypeScript"); + case "application/javascript": + case "text/javascript": + case "application/ecmascript": + case "text/ecmascript": + case "application/x-javascript": + case "application/node": + return mapJsLikeExtension(specifier, "JavaScript"); + case "text/jsx": + return "JSX"; + case "text/tsx": + return "TSX"; + case "application/json": + case "text/json": + return "Json"; + case "application/wasm": + return "Wasm"; + case "text/plain": + case "application/octet-stream": + return mediaTypeFromSpecifier(specifier); + default: + return "Unknown"; + } + } else { + return mediaTypeFromSpecifier(specifier); + } +} + +function mapJsLikeExtension( + specifier: URL, + defaultType: MediaType, +): MediaType { + const path = specifier.pathname; + switch (extname(path)) { + case ".jsx": + return "JSX"; + case ".mjs": + return "Mjs"; + case ".cjs": + return "Cjs"; + case ".tsx": + return "TSX"; + case ".ts": + if (path.endsWith(".d.ts")) { + return "Dts"; + } else { + return defaultType; + } + case ".mts": { + if (path.endsWith(".d.mts")) { + return "Dmts"; + } else { + return defaultType == "JavaScript" ? "Mjs" : "Mts"; + } + } + case ".cts": { + if (path.endsWith(".d.cts")) { + return "Dcts"; + } else { + return defaultType == "JavaScript" ? "Cjs" : "Cts"; + } + } + default: + return defaultType; + } +} + +export function mediaTypeFromSpecifier(specifier: URL): MediaType { + const path = specifier.pathname; + switch (extname(path)) { + case "": + if (path.endsWith("/.tsbuildinfo")) { + return "TsBuildInfo"; + } else { + return "Unknown"; + } + case ".ts": + if (path.endsWith(".d.ts")) { + return "Dts"; + } else { + return "TypeScript"; + } + case ".mts": + if (path.endsWith(".d.mts")) { + return "Dmts"; + } else { + return "Mts"; + } + case ".cts": + if (path.endsWith(".d.cts")) { + return "Dcts"; + } else { + return "Cts"; + } + case ".tsx": + return "TSX"; + case ".js": + return "JavaScript"; + case ".jsx": + return "JSX"; + case ".mjs": + return "Mjs"; + case ".cjs": + return "Cjs"; + case ".json": + return "Json"; + case ".wasm": + return "Wasm"; + case ".tsbuildinfo": + return "TsBuildInfo"; + case ".map": + return "SourceMap"; + default: + return "Unknown"; + } +} + +export interface NpmSpecifier { + name: string; + version: string | null; + path: string | null; +} + +export function parseNpmSpecifier(specifier: URL): NpmSpecifier { + if (specifier.protocol !== "npm:") throw new Error("Invalid npm specifier"); + const path = specifier.pathname; + const startIndex = path[0] === "/" ? 1 : 0; + let pathStartIndex; + let versionStartIndex; + if (path[startIndex] === "@") { + const firstSlash = path.indexOf("/", startIndex); + if (firstSlash === -1) { + throw new Error(`Invalid npm specifier: ${specifier}`); + } + pathStartIndex = path.indexOf("/", firstSlash + 1); + versionStartIndex = path.indexOf("@", firstSlash + 1); + } else { + pathStartIndex = path.indexOf("/", startIndex); + versionStartIndex = path.indexOf("@", startIndex); + } + + if (pathStartIndex === -1) pathStartIndex = path.length; + if (versionStartIndex === -1) versionStartIndex = path.length; + + if (versionStartIndex > pathStartIndex) { + versionStartIndex = pathStartIndex; + } + + if (startIndex === versionStartIndex) { + throw new Error(`Invalid npm specifier: ${specifier}`); + } + + return { + name: path.slice(startIndex, versionStartIndex), + version: versionStartIndex === pathStartIndex + ? null + : path.slice(versionStartIndex + 1, pathStartIndex), + path: pathStartIndex === path.length ? null : path.slice(pathStartIndex), + }; +} + +export interface JsrSpecifier { + name: string; + version: string | null; + path: string | null; +} + +export function parseJsrSpecifier(specifier: URL): JsrSpecifier { + if (specifier.protocol !== "jsr:") throw new Error("Invalid jsr specifier"); + const path = specifier.pathname; + const startIndex = path[0] === "/" ? 1 : 0; + if (path[startIndex] !== "@") { + throw new Error(`Invalid jsr specifier: ${specifier}`); + } + const firstSlash = path.indexOf("/", startIndex); + if (firstSlash === -1) { + throw new Error(`Invalid jsr specifier: ${specifier}`); + } + let pathStartIndex = path.indexOf("/", firstSlash + 1); + let versionStartIndex = path.indexOf("@", firstSlash + 1); + + if (pathStartIndex === -1) pathStartIndex = path.length; + if (versionStartIndex === -1) versionStartIndex = path.length; + + if (versionStartIndex > pathStartIndex) { + versionStartIndex = pathStartIndex; + } + + if (startIndex === versionStartIndex) { + throw new Error(`Invalid jsr specifier: ${specifier}`); + } + + return { + name: path.slice(startIndex, versionStartIndex), + version: versionStartIndex === pathStartIndex + ? null + : path.slice(versionStartIndex + 1, pathStartIndex), + path: pathStartIndex === path.length ? null : path.slice(pathStartIndex), + }; +} + +const SLASH_NODE_MODULES_SLASH = `${SEPARATOR}node_modules${SEPARATOR}`; +const SLASH_NODE_MODULES = `${SEPARATOR}node_modules`; + +export function isInNodeModules(path: string): boolean { + return path.includes(SLASH_NODE_MODULES_SLASH) || + path.endsWith(SLASH_NODE_MODULES); +} + +export function isNodeModulesResolution(args: esbuild.OnResolveArgs) { + return ( + (args.namespace === "" || args.namespace === "file") && + (isInNodeModules(args.resolveDir) || isInNodeModules(args.path) || + isInNodeModules(args.importer)) + ); +} diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/loader.generated.d.ts b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/loader.generated.d.ts new file mode 100644 index 0000000..dec5b84 --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/loader.generated.d.ts @@ -0,0 +1,77 @@ +// deno-lint-ignore-file +// deno-fmt-ignore-file + +export interface InstantiateResult { + instance: WebAssembly.Instance; + exports: { + WasmLockfile : typeof WasmLockfile ; + WasmWorkspace : typeof WasmWorkspace ; + WasmWorkspaceResolver : typeof WasmWorkspaceResolver + }; +} + +/** Gets if the Wasm module has been instantiated. */ +export function isInstantiated(): boolean; + + +/** Instantiates an instance of the Wasm module returning its functions. +* @remarks It is safe to call this multiple times and once successfully +* loaded it will always return a reference to the same object. */ +export function instantiate(): InstantiateResult["exports"]; + +/** Instantiates an instance of the Wasm module along with its exports. + * @remarks It is safe to call this multiple times and once successfully + * loaded it will always return a reference to the same object. */ +export function instantiateWithInstance(): InstantiateResult; + +/** +*/ +export class WasmLockfile { + free(): void; +/** +* @param {string} file_path +* @param {string} content +*/ + constructor(file_path: string, content: string); +/** +* @param {string} specifier +* @returns {string | undefined} +*/ + package_version(specifier: string): string | undefined; +} +/** +*/ +export class WasmWorkspace { + free(): void; +/** +* @param {(string)[]} entrypoints +* @param {boolean} is_config_file +* @returns {WasmWorkspace} +*/ + static discover(entrypoints: (string)[], is_config_file: boolean): WasmWorkspace; +/** +* @returns {string | undefined} +*/ + lock_path(): string | undefined; +/** +* @returns {string} +*/ + node_modules_dir(): string; +/** +* @param {string | undefined} import_map_url +* @param {any} import_map_value +* @returns {WasmWorkspaceResolver} +*/ + resolver(import_map_url: string | undefined, import_map_value: any): WasmWorkspaceResolver; +} +/** +*/ +export class WasmWorkspaceResolver { + free(): void; +/** +* @param {string} specifier +* @param {string} referrer +* @returns {string} +*/ + resolve(specifier: string, referrer: string): string; +} diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/loader.generated.js b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/loader.generated.js new file mode 100644 index 0000000..b77f3fd --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/loader.generated.js @@ -0,0 +1,29829 @@ +// @generated file from wasmbuild -- do not edit +// @ts-nocheck: generated +// deno-lint-ignore-file +// deno-fmt-ignore-file +/// + +// source-hash: 3b5c90a178e55810b1055b1d09a614399c986f76 +let wasm; + +import { + read_dir, + read_to_string_lossy, + stat_sync, +} from "./snippets/loader-ace679fc3fd6566c/fs.js"; + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { + return heap[idx]; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedFloat64Memory0 = null; + +function getFloat64Memory0() { + if (cachedFloat64Memory0 === null || cachedFloat64Memory0.byteLength === 0) { + cachedFloat64Memory0 = new Float64Array(wasm.memory.buffer); + } + return cachedFloat64Memory0; +} + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} + +let WASM_VECTOR_LEN = 0; + +let cachedUint8Memory0 = null; + +function getUint8Memory0() { + if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8Memory0; +} + +const cachedTextEncoder = typeof TextEncoder !== "undefined" + ? new TextEncoder("utf-8") + : { + encode: () => { + throw Error("TextEncoder not available"); + }, + }; + +const encodeString = function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +}; + +function passStringToWasm0(arg, malloc, realloc) { + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8Memory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8Memory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +let heap_next = heap.length; + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +const cachedTextDecoder = typeof TextDecoder !== "undefined" + ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) + : { + decode: () => { + throw Error("TextDecoder not available"); + }, + }; + +if (typeof TextDecoder !== "undefined") cachedTextDecoder.decode(); + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); +} + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +let cachedBigInt64Memory0 = null; + +function getBigInt64Memory0() { + if ( + cachedBigInt64Memory0 === null || cachedBigInt64Memory0.byteLength === 0 + ) { + cachedBigInt64Memory0 = new BigInt64Array(wasm.memory.buffer); + } + return cachedBigInt64Memory0; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == "number" || type == "boolean" || val == null) { + return `${val}`; + } + if (type == "string") { + return `"${val}"`; + } + if (type == "symbol") { + const description = val.description; + if (description == null) { + return "Symbol"; + } else { + return `Symbol(${description})`; + } + } + if (type == "function") { + const name = val.name; + if (typeof name == "string" && name.length > 0) { + return `Function(${name})`; + } else { + return "Function"; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = "["; + if (length > 0) { + debug += debugString(val[0]); + } + for (let i = 1; i < length; i++) { + debug += ", " + debugString(val[i]); + } + debug += "]"; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == "Object") { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return "Object(" + JSON.stringify(val) + ")"; + } catch (_) { + return "Object"; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} + +let cachedUint32Memory0 = null; + +function getUint32Memory0() { + if (cachedUint32Memory0 === null || cachedUint32Memory0.byteLength === 0) { + cachedUint32Memory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32Memory0; +} + +function passArrayJsValueToWasm0(array, malloc) { + const ptr = malloc(array.length * 4, 4) >>> 0; + const mem = getUint32Memory0(); + for (let i = 0; i < array.length; i++) { + mem[ptr / 4 + i] = addHeapObject(array[i]); + } + WASM_VECTOR_LEN = array.length; + return ptr; +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +const WasmLockfileFinalization = (typeof FinalizationRegistry === "undefined") + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry((ptr) => wasm.__wbg_wasmlockfile_free(ptr >>> 0)); +/** */ +export class WasmLockfile { + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + WasmLockfileFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_wasmlockfile_free(ptr); + } + /** + * @param {string} file_path + * @param {string} content + */ + constructor(file_path, content) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0( + file_path, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0( + content, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len1 = WASM_VECTOR_LEN; + wasm.wasmlockfile_new(retptr, ptr0, len0, ptr1, len1); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + this.__wbg_ptr = r0 >>> 0; + return this; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @param {string} specifier + * @returns {string | undefined} + */ + package_version(specifier) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0( + specifier, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len0 = WASM_VECTOR_LEN; + wasm.wasmlockfile_package_version(retptr, this.__wbg_ptr, ptr0, len0); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + if (r3) { + throw takeObject(r2); + } + let v2; + if (r0 !== 0) { + v2 = getStringFromWasm0(r0, r1).slice(); + wasm.__wbindgen_free(r0, r1 * 1, 1); + } + return v2; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} + +const WasmWorkspaceFinalization = (typeof FinalizationRegistry === "undefined") + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry((ptr) => wasm.__wbg_wasmworkspace_free(ptr >>> 0)); +/** */ +export class WasmWorkspace { + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(WasmWorkspace.prototype); + obj.__wbg_ptr = ptr; + WasmWorkspaceFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + WasmWorkspaceFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_wasmworkspace_free(ptr); + } + /** + * @param {(string)[]} entrypoints + * @param {boolean} is_config_file + * @returns {WasmWorkspace} + */ + static discover(entrypoints, is_config_file) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passArrayJsValueToWasm0(entrypoints, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + wasm.wasmworkspace_discover(retptr, ptr0, len0, is_config_file); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return WasmWorkspace.__wrap(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @returns {string | undefined} + */ + lock_path() { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.wasmworkspace_lock_path(retptr, this.__wbg_ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + if (r3) { + throw takeObject(r2); + } + let v1; + if (r0 !== 0) { + v1 = getStringFromWasm0(r0, r1).slice(); + wasm.__wbindgen_free(r0, r1 * 1, 1); + } + return v1; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * @returns {string} + */ + node_modules_dir() { + let deferred2_0; + let deferred2_1; + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.wasmworkspace_node_modules_dir(retptr, this.__wbg_ptr); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + var ptr1 = r0; + var len1 = r1; + if (r3) { + ptr1 = 0; + len1 = 0; + throw takeObject(r2); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } + } + /** + * @param {string | undefined} import_map_url + * @param {any} import_map_value + * @returns {WasmWorkspaceResolver} + */ + resolver(import_map_url, import_map_value) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + var ptr0 = isLikeNone(import_map_url) + ? 0 + : passStringToWasm0( + import_map_url, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + var len0 = WASM_VECTOR_LEN; + wasm.wasmworkspace_resolver( + retptr, + this.__wbg_ptr, + ptr0, + len0, + addHeapObject(import_map_value), + ); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + return WasmWorkspaceResolver.__wrap(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} + +const WasmWorkspaceResolverFinalization = + (typeof FinalizationRegistry === "undefined") + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry((ptr) => + wasm.__wbg_wasmworkspaceresolver_free(ptr >>> 0) + ); +/** */ +export class WasmWorkspaceResolver { + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(WasmWorkspaceResolver.prototype); + obj.__wbg_ptr = ptr; + WasmWorkspaceResolverFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + WasmWorkspaceResolverFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_wasmworkspaceresolver_free(ptr); + } + /** + * @param {string} specifier + * @param {string} referrer + * @returns {string} + */ + resolve(specifier, referrer) { + let deferred4_0; + let deferred4_1; + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0( + specifier, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0( + referrer, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len1 = WASM_VECTOR_LEN; + wasm.wasmworkspaceresolver_resolve( + retptr, + this.__wbg_ptr, + ptr0, + len0, + ptr1, + len1, + ); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + var ptr3 = r0; + var len3 = r1; + if (r3) { + ptr3 = 0; + len3 = 0; + throw takeObject(r2); + } + deferred4_0 = ptr3; + deferred4_1 = len3; + return getStringFromWasm0(ptr3, len3); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(deferred4_0, deferred4_1, 1); + } + } +} + +const imports = { + __wbindgen_placeholder__: { + __wbg_length_cd7af8117672b8b8: function (arg0) { + const ret = getObject(arg0).length; + return ret; + }, + __wbg_iterator_2cee6dadfd956dfa: function () { + const ret = Symbol.iterator; + return addHeapObject(ret); + }, + __wbindgen_is_undefined: function (arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }, + __wbindgen_in: function (arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }, + __wbindgen_number_get: function (arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof obj === "number" ? obj : undefined; + getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret; + getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); + }, + __wbindgen_boolean_get: function (arg0) { + const v = getObject(arg0); + const ret = typeof v === "boolean" ? (v ? 1 : 0) : 2; + return ret; + }, + __wbindgen_string_get: function (arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof obj === "string" ? obj : undefined; + var ptr1 = isLikeNone(ret) + ? 0 + : passStringToWasm0( + ret, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + var len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }, + __wbindgen_is_bigint: function (arg0) { + const ret = typeof (getObject(arg0)) === "bigint"; + return ret; + }, + __wbindgen_is_object: function (arg0) { + const val = getObject(arg0); + const ret = typeof val === "object" && val !== null; + return ret; + }, + __wbindgen_bigint_from_i64: function (arg0) { + const ret = arg0; + return addHeapObject(ret); + }, + __wbindgen_bigint_from_u64: function (arg0) { + const ret = BigInt.asUintN(64, arg0); + return addHeapObject(ret); + }, + __wbindgen_jsval_eq: function (arg0, arg1) { + const ret = getObject(arg0) === getObject(arg1); + return ret; + }, + __wbg_getwithrefkey_edc2c8960f0f1191: function (arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }, + __wbindgen_error_new: function (arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }, + __wbg_statsync_ba4bc4e00234af92: function () { + return handleError(function (arg0, arg1) { + const ret = stat_sync(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }, arguments); + }, + __wbg_readtostringlossy_e211ea9309ea6db7: function () { + return handleError(function (arg0, arg1, arg2) { + const ret = read_to_string_lossy(getStringFromWasm0(arg1, arg2)); + const ptr1 = passStringToWasm0( + ret, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }, arguments); + }, + __wbg_readdir_5ab9fc7090a3eeaf: function () { + return handleError(function (arg0, arg1) { + const ret = read_dir(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }, arguments); + }, + __wbg_String_b9412f8799faab3e: function (arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0( + ret, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }, + __wbindgen_is_function: function (arg0) { + const ret = typeof (getObject(arg0)) === "function"; + return ret; + }, + __wbindgen_object_drop_ref: function (arg0) { + takeObject(arg0); + }, + __wbg_get_bd8e338fbd5f5cc8: function (arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }, + __wbg_next_196c84450b364254: function () { + return handleError(function (arg0) { + const ret = getObject(arg0).next(); + return addHeapObject(ret); + }, arguments); + }, + __wbg_done_298b57d23c0fc80c: function (arg0) { + const ret = getObject(arg0).done; + return ret; + }, + __wbg_value_d93c65011f51a456: function (arg0) { + const ret = getObject(arg0).value; + return addHeapObject(ret); + }, + __wbg_get_e3c254076557e348: function () { + return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments); + }, + __wbg_call_27c0f87801dedf93: function () { + return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments); + }, + __wbg_next_40fc327bfc8770e6: function (arg0) { + const ret = getObject(arg0).next; + return addHeapObject(ret); + }, + __wbg_isArray_2ab64d95e09ea0ae: function (arg0) { + const ret = Array.isArray(getObject(arg0)); + return ret; + }, + __wbg_instanceof_Map_87917e0a7aaf4012: function (arg0) { + let result; + try { + result = getObject(arg0) instanceof Map; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }, + __wbg_isSafeInteger_f7b04ef02296c4d2: function (arg0) { + const ret = Number.isSafeInteger(getObject(arg0)); + return ret; + }, + __wbg_length_c20a40f15020d68a: function (arg0) { + const ret = getObject(arg0).length; + return ret; + }, + __wbindgen_memory: function () { + const ret = wasm.memory; + return addHeapObject(ret); + }, + __wbg_buffer_12d079cc21e14bdb: function (arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }, + __wbg_new_63b92bc8671ed464: function (arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }, + __wbg_set_a47bac70306a19a7: function (arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }, + __wbindgen_jsval_loose_eq: function (arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }, + __wbg_instanceof_Uint8Array_2b3bbecd033d19f6: function (arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }, + __wbg_instanceof_ArrayBuffer_836825be07d4c9d2: function (arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }, + __wbg_entries_95cc2c823b285a09: function (arg0) { + const ret = Object.entries(getObject(arg0)); + return addHeapObject(ret); + }, + __wbindgen_string_new: function (arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }, + __wbindgen_object_clone_ref: function (arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }, + __wbindgen_bigint_get_as_i64: function (arg0, arg1) { + const v = getObject(arg1); + const ret = typeof v === "bigint" ? v : undefined; + getBigInt64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? BigInt(0) : ret; + getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret); + }, + __wbindgen_debug_string: function (arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0( + ret, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; + }, + __wbindgen_throw: function (arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }, + }, +}; + +export function instantiate() { + return instantiateWithInstance().exports; +} + +let instanceWithExports; + +export function instantiateWithInstance() { + if (instanceWithExports == null) { + const instance = instantiateInstance(); + wasm = instance.exports; + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + instanceWithExports = { + instance, + exports: { WasmLockfile, WasmWorkspace, WasmWorkspaceResolver }, + }; + } + return instanceWithExports; +} + +export function isInstantiated() { + return instanceWithExports != null; +} + +function instantiateInstance() { + const wasmBytes = base64decode( + "\ +AGFzbQEAAAABhwRAYAAAYAABf2ABfwBgAX8Bf2ABfwF+YAJ/fwBgAn9/AX9gAn9/AX5gA39/fwBgA3\ +9/fwF/YAN/f38BfmAEf39/fwBgBH9/f38Bf2AEf39/fwF+YAV/f39/fwBgBX9/f39/AX9gBn9/f39/\ +fwBgBn9/f39/fwF/YAd/f39/f39/AGAHf39/f39/fwF/YAh/f39/f39/fwBgC39/f39/f39/f39/AX\ +9gDX9/f39/f39/f39/f38AYA9/f39/f39/f39/f39/f38Bf2ATf39/f39/f39/f39/f39/f39/fwF/\ +YBZ/f39/f39/f39/f39/f39/f39/f39/AX9gCX9/f39/f35+fgBgBX9/f39+AGAEf39/fgBgBX9/f3\ +5/AGAGf39/fn9/AGADf39+AGADf39+AX9gBH9/fn8AYAV/f35/fwBgBH9/fn4AYAV/f31/fwBgA39/\ +fABgBX9/fH9/AGACf34AYAJ/fgF/YAN/fn8AYAR/fn9/AGADf35+AGADf35+AX9gBH9+fn8AYAV/fn\ +5+fgBgBH99f38AYAJ/fABgA398fwF/YAR/fH9/AGAEf3x/fwF/YAF+AX9gAn5/AGACfn8Bf2ADfn9/\ +AX9gA35+fwF/YAN+fn8BfmAEfn5/fwF/YAR+fn9/AX5gBH5+fn8BfmAHfn5+f39/fwF+YAF8AX9gAn\ +x/AX8C7xIsGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXx1fX3diZ19sZW5ndGhfY2Q3YWY4MTE3Njcy\ +YjhiOAADGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXx9fX3diZ19pdGVyYXRvcl8yY2VlNmRhZGZkOT\ +U2ZGZhAAEYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fF19fd2JpbmRnZW5faXNfdW5kZWZpbmVkAAMY\ +X193YmluZGdlbl9wbGFjZWhvbGRlcl9fDV9fd2JpbmRnZW5faW4ABhhfX3diaW5kZ2VuX3BsYWNlaG\ +9sZGVyX18VX193YmluZGdlbl9udW1iZXJfZ2V0AAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fFl9f\ +d2JpbmRnZW5fYm9vbGVhbl9nZXQAAxhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18VX193YmluZGdlbl\ +9zdHJpbmdfZ2V0AAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fFF9fd2JpbmRnZW5faXNfYmlnaW50\ +AAMYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fFF9fd2JpbmRnZW5faXNfb2JqZWN0AAMYX193YmluZG\ +dlbl9wbGFjZWhvbGRlcl9fGl9fd2JpbmRnZW5fYmlnaW50X2Zyb21faTY0ADQYX193YmluZGdlbl9w\ +bGFjZWhvbGRlcl9fGl9fd2JpbmRnZW5fYmlnaW50X2Zyb21fdTY0ADQYX193YmluZGdlbl9wbGFjZW\ +hvbGRlcl9fE19fd2JpbmRnZW5fanN2YWxfZXEABhhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18kX193\ +YmdfZ2V0d2l0aHJlZmtleV9lZGMyYzg5NjBmMGYxMTkxAAYYX193YmluZGdlbl9wbGFjZWhvbGRlcl\ +9fFF9fd2JpbmRnZW5fZXJyb3JfbmV3AAYYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fH19fd2JnX3N0\ +YXRzeW5jX2JhNGJjNGUwMDIzNGFmOTIABhhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18oX193Ymdfcm\ +VhZHRvc3RyaW5nbG9zc3lfZTIxMWVhOTMwOWVhNmRiNwAIGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJf\ +Xx5fX3diZ19yZWFkZGlyXzVhYjlmYzcwOTBhM2VlYWYABhhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX1\ +8dX193YmdfU3RyaW5nX2I5NDEyZjg3OTlmYWFiM2UABRhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18W\ +X193YmluZGdlbl9pc19mdW5jdGlvbgADGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxpfX3diaW5kZ2\ +VuX29iamVjdF9kcm9wX3JlZgACGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxpfX3diZ19nZXRfYmQ4\ +ZTMzOGZiZDVmNWNjOAAGGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxtfX3diZ19uZXh0XzE5NmM4ND\ +Q1MGIzNjQyNTQAAxhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18bX193YmdfZG9uZV8yOThiNTdkMjNj\ +MGZjODBjAAMYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fHF9fd2JnX3ZhbHVlX2Q5M2M2NTAxMWY1MW\ +E0NTYAAxhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18aX193YmdfZ2V0X2UzYzI1NDA3NjU1N2UzNDgA\ +BhhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18bX193YmdfY2FsbF8yN2MwZjg3ODAxZGVkZjkzAAYYX1\ +93YmluZGdlbl9wbGFjZWhvbGRlcl9fG19fd2JnX25leHRfNDBmYzMyN2JmYzg3NzBlNgADGF9fd2Jp\ +bmRnZW5fcGxhY2Vob2xkZXJfXx5fX3diZ19pc0FycmF5XzJhYjY0ZDk1ZTA5ZWEwYWUAAxhfX3diaW\ +5kZ2VuX3BsYWNlaG9sZGVyX18lX193YmdfaW5zdGFuY2VvZl9NYXBfODc5MTdlMGE3YWFmNDAxMgAD\ +GF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXyRfX3diZ19pc1NhZmVJbnRlZ2VyX2Y3YjA0ZWYwMjI5Nm\ +M0ZDIAAxhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18dX193YmdfbGVuZ3RoX2MyMGE0MGYxNTAyMGQ2\ +OGEAAxhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18RX193YmluZGdlbl9tZW1vcnkAARhfX3diaW5kZ2\ +VuX3BsYWNlaG9sZGVyX18dX193YmdfYnVmZmVyXzEyZDA3OWNjMjFlMTRiZGIAAxhfX3diaW5kZ2Vu\ +X3BsYWNlaG9sZGVyX18aX193YmdfbmV3XzYzYjkyYmM4NjcxZWQ0NjQAAxhfX3diaW5kZ2VuX3BsYW\ +NlaG9sZGVyX18aX193Ymdfc2V0X2E0N2JhYzcwMzA2YTE5YTcACBhfX3diaW5kZ2VuX3BsYWNlaG9s\ +ZGVyX18ZX193YmluZGdlbl9qc3ZhbF9sb29zZV9lcQAGGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXy\ +xfX3diZ19pbnN0YW5jZW9mX1VpbnQ4QXJyYXlfMmIzYmJlY2QwMzNkMTlmNgADGF9fd2JpbmRnZW5f\ +cGxhY2Vob2xkZXJfXy1fX3diZ19pbnN0YW5jZW9mX0FycmF5QnVmZmVyXzgzNjgyNWJlMDdkNGM5ZD\ +IAAxhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18eX193YmdfZW50cmllc185NWNjMmM4MjNiMjg1YTA5\ +AAMYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fFV9fd2JpbmRnZW5fc3RyaW5nX25ldwAGGF9fd2Jpbm\ +RnZW5fcGxhY2Vob2xkZXJfXxtfX3diaW5kZ2VuX29iamVjdF9jbG9uZV9yZWYAAxhfX3diaW5kZ2Vu\ +X3BsYWNlaG9sZGVyX18cX193YmluZGdlbl9iaWdpbnRfZ2V0X2FzX2k2NAAFGF9fd2JpbmRnZW5fcG\ +xhY2Vob2xkZXJfXxdfX3diaW5kZ2VuX2RlYnVnX3N0cmluZwAFGF9fd2JpbmRnZW5fcGxhY2Vob2xk\ +ZXJfXxBfX3diaW5kZ2VuX3Rocm93AAUDpxqlGgsFDg4FCAgxCxAzCwgLEAgLBgUOCxISEAgOBQsOAw\ +UMCAsFDgYFCwsQBQUFCA4IDAgLEAgGCxAFBQ4LBggOCBAFEgYGCAYLEhIPEgUFCQgQEgsFBgsOCQUL\ +BQgSEhIGEhI/BQgSEhIIBggIEw4FDgUQEBAQBRAQEAUQBRAFBggIEAsOEAMIBRIDCwgDBgMIBQUWBQ\ +MSAgsGCAUOCBAQEAgQEAUFDgULBQgJEgYCDgUFBgULBQsIBgUCEAsJCwsFCCcFCwgGBRIFCwsGDAMM\ +BQULBQ4IBgkCBggIAgsFCwgFBQUIBgMJCQUGDgwICAUDBggFAgkICQkDBQYIEAYGCwsCCwsICAsCCA\ +sFBgULCAUODgMIDgwCCRELAwkICAgCAgsIBgkFCA8QCAgCCwgIBggGCAYLBgYJBQkDCwwMEAkJCwIF\ +CQkJCRAFCwsGBgYGDAgMCAUJCQkJCQgGBgULBgYGBgYGCAgICwYFCAgGAgYGBgYGBgUCCAUGCAkLEg\ +UJCAUGHQUFBQULBQUJCAULBRAJEAUGBggDBQgCAggFNQgCDggCBQUIBQkGCBAGBQYOGgsFBQIOEA4Q\ +BhAGBQYDCwsFCxAFCQgFCwYLCwsLBgsICAsLBQUGBQgIBQYGEhAFDxMQCxADBhILBQUCCAgJCAgECR\ +IFBQgFBQkIBRIGBQgJAwM3AwMDBQgFBQgGBgsFAhAFHwYGBQUIAwkOBQgLHRAFCwIGCAgIBgUFBQUG\ +BgUDCQUFCAYLHAUFCAgIGxAIBQUOBgYIBQUFBgsJCAUOBgULCwYFAwgDBgIfCBALBQgGCQgFBQUCBQ\ +sIBgUFDgkJAgkJCAUIBgYICAILBQIeBgIGCAUCCwsLEAUFAwUDEAIIDhATCAgFBgUeBQsOAggGCAgI\ +AggFCBACJwsFCAUGAgwCAgwFBQsFDAsFAgsIBQIQAwsFAgUCHAIDEBAGBQUFCwYFBQUFBQYFAgUSAg\ +IQEAsLBQgIHQgGCwgLCwIICwsFCwsCCwsFCwsLCxkLCwsLCwkLBgUFBQUCAgMIEAULBQIJAgICBgIC\ +AgICAgICAgICAgICAgICAgIIAgICAgICAgICAgIJCwsCAgICAgICAgIFCwwDDAwLDAwFGAgIAgUGBg\ +4LBgsLCAsCCwsICwsLCwsLBQYLAgICDwUIBgUFCwgFBQULBQULFwUFBggDCwMLBQsLCwUGCyMGBgIJ\ +CxIFCAUGCAIIEgYGCQUFBgUDBgsoHAkCCBUICwYLCAgQBgwFCAsIEAYCBQkFCQMTBgIIAQYACwsLBg\ +YIEAgCBgUDCAsjEAkMAgsFCAULBQsFBQUCCAgIAwsLDgUCCA8FBgsPBQMFBgkICwUFBQUDBQUFBQgM\ +CwUFBgYICAgJBQUFBQUCCAsJCQYFBQsLAggJBQgDBQIFEAUCAgUJBQYGBQMDCwsGAwUFBggFCAgFAg\ +4QBgYGBgYLBggDBQYIBQsJCQYFCAUIBQYSAwYMBTY2BgYGBgIIBQsDBQYGBgYLCwYGCAgIBgUFBQUF\ +AwwFBgUMDAUQBQUMBgUMDAMIBQkLCwYICAgGCAsFCAgICAkIAwUFBggIBQUGBQUJBQkFCAsCBQIFDA\ +UFBQMICAIFBQUFEAIGEAsLAxAIBRAGAg0FAg0GBQwOBQUIBQUFDgYGBgUFBgUFBQUGBQUJBQsICQ4F\ +AwUJAgU5AggMAgUFBQUGCR0uDgUIBQgFCAgICAgFAgsFBQUJOAIFAgICBQIFPAIFAwUDBQM5AwgCAw\ +UGAgMIAggQEAUFBQUJCQMOBQYDIAYFBQUFBQYQBQUFCAIICAgFBgULAwUCCwMCDgsFAgsCAwwOBQYG\ +Aw8GBQYFBQ8GOzsLBQMGBQUCBToLOgUIBToFOwYIEAUFOzsFOzsFBgUJBQMFBTkIBgIFCQkLDAMLCA\ +kICAUFBgUICAYICAgIBQUGBgYGBRAFBgMDBggpIAUFBQUOBQIFCAUJBQICCQIDBRACCQIGAwYCBQYG\ +IAUGAgUJBS0tBQwFAgUFBQMIBgYIBQULAgUFAgYDBQgIBQgICwULCwsQCwIGBgUGBgYFBQgLBgYOBh\ +AFCwUDBQIIBQgGBQgFBggFCAICAhAJCQIGAgICAgUCAg4FBQgGBgUFCwUFAgUFBg4GBgYGBgYGBgYG\ +BQULBgUFAg4FCAsFAgULAAIGAgUFAgkIEBAFCAUFAwgFAw4GBgUIBQMLBgYIAwICAgIFDgsGAwMGBg\ +YGBgYGBgUFBQUFCAgIBQYGCQUGBgMFAgIGAwMGBgUCBgUFAgYCBQ4FAgIDAwEGCBAGBgMFCAUFBQII\ +AgYGAgIIBQgIAgwCCAYICAsICwgCBQ4FBgICBgI+BgkFDgIDAgsCAgIFAgwLAg4CAgUFAgkICwkLBQ\ +UFAwMCKgsCBQYDCwIFAggMBQICAgMDAwIDCAMFAwsICAUGBQUFCAgCAgYGBgUQAgYJCQUCCwsLAgUF\ +BQUFBQUFBQIFBQUFBQUFBQUGAgUJAgYOCAYGBgYGAgYGBhAIBQYGBQgIBQIICAUIEAkICQkFCAgIBQ\ +YGAggjBgIFAgkIBgUFDAEOAwICBQgnJzACBQUCBQYGBgYGCgIKBgICCgUIAgICAgoKAwoKCgoIBgYF\ +EAUCBgYGBgYGBgYGAgIGBgYCBQgCAgMICAICAwYFAggCAgYFCAgCAgICBQUCAwUCAwIFBgYFBQUFBR\ +ACAgIFAgI9AgUFCQgGAQEICAUDDggICAMBAQIKCgoBAQEBAQEBAQoICAsICAgDBQgIAgYMCxADEAgF\ +AxACAgkJBQULDgUSBQ8FAgICBgUCAggCBwcOCAgOCAgIDAwCCAUIDggIDAgKBgsLDgIDBggGAgIGBS\ +wCBgoKAgoKCwgICgILBgIFAgoKCAMFEgkFBgsCAwYFBQUFCAILBQUGCQMDAgUFBQIGBQYFBQUFBQYG\ +BQUFBQgGBgIDBgUFDgYGBQgOBwYDBQgIBgYGBgMGAgIDBgIGBQYGBgUFBQsGAwYGBgYGAQYGBgsFCw\ +gGBgUFBgAFBgYFBgUAAgYAAgIAAAwGBgUFBgUFBicFAgIGBgYGBgYGBgYGBgYGJwUFBgYDBQAGBgwC\ +BQ4FAgICAgYGBggGDgYOBg4GAwYGBg4JAgICDgICCAgGBgIODg4ODgYGBgYCBgYGBg4FCAgOCQYFBg\ +YGBgUGAg4GAw4MBQIFBQUDBSsLBQMCBQUFBQMFBQMFBQUFCQkGDhwCCgkKCgMcBgICBgUFCg4GAg4I\ +IQ4CIQ4CBgIKCAYMDAYGCB8DAwUCBgwGBQYFBgICCQkGEgYGBgYCCwU1BgYMBQIGBgYIBgYGBQgCCw\ +YDDggLBgYLDggGDAIIBgsGCA4LCwgLBggLCwoCBg4OBQ4CAwYDNgUFAgYFAgIGEAIFBQUFBQsCDAkF\ +AgICAgIFBQUCAwUMAwUGAgkCBQwLDgILAgIMDg4MDAwMCQYCDA4OAwIMCAIGBgYMDg4ODgwODhEFDA\ +YMCQwMDh8JDAkJCQwnAgsODgwMDAYGAwMMBQICDAsLBQUICQIIAgMIBgUMCAMDCAICCAgICA4kDg4P\ +Ig8mBwIIAwkGBgYCCAgLBQgCLAUCBggIDAYGLCwGAgYFLCwsBgICAgICBQsMAgYFCwIDAwgCCwYDCA\ +gLBgYDAgkFAgYFBgYDCAYDBgUCAggIAgUGCQkCAgUFCAkJAwICAgYFAzQGCAUFAgUCBQUFBQYCBQIC\ +AgUFBQUCAgUFAiAFBQUFAgUFBQUFBQUDAwICAgILAgUFBQIDAgICBQIFAgIFBQICAgUIAgYBAwUDAw\ +MCBgYGBgYGAgYGBQUIAgUCAgICAgUIBgYFCQkICAgJBgYFAgIFAgYGBgYGBgYGBQIIAgUCAgICBgUF\ +AgYFAgUCAgkGBgYGBgsGBgYFKwIFKwYGBQICAgIGBgYGBgIFBgYCAgICBgUFBQIFBQUFAgIrKwUCAg\ +IFAgIGAgYGAgYGBgYGBQYCJQIFAgUCBgICAgICAgYCBgICAgICAgICAgMCAgICAgIGBgYGBQYIAgIC\ +AgYCAgIFBQMMAgIJAwMDDgYGAggCAgsCAgsLAwUCAgYCAgICAgICAgICAgsCAgIGAgIFAgIGAwUIBg\ +YFBQIFAgYDAgYGBgYCBgUFBQUCBQUFBgYGAgYLBQUFBQUFBQUCBQUCAgUFBQICAgIIBQUCBQICAgIC\ +BgYCBQYJAgICAgICAgMFBgUGBgICBgwJDAwMBgYGCQkGBgIMCwwCAgIMAggIAwYGBgYDBQIDAwYGAg\ +IJAgUFBQMDAwMDAwUAAwYGBggGAAYIBgYGBgYGBggGCAYIBggJAgUGBgIGBgYGBgYGBggGBgYGBgIC\ +CQsICAYGAgUFBQUDBgICBgYCBgYGBgYGBgYGCAYIAwMDAwMCAwYGBgYGAgYGBQgCCAYFBgkJCQkCAg\ +ISBgEBBQYFBgYGAwIDAwMFBQIDAwMDAwMDAwYDAwMDAgMCAwMDAgMDAwIDAwMDAwMDAwMDAAgICAUF\ +BAcBcAGmBqYGBQMBABUGCQF/AUGAgMAACwefAxAGbWVtb3J5AgAXX193Ymdfd2FzbWxvY2tmaWxlX2\ +ZyZWUAlAgQd2FzbWxvY2tmaWxlX25ldwBIHHdhc21sb2NrZmlsZV9wYWNrYWdlX3ZlcnNpb24AuAIY\ +X193Ymdfd2FzbXdvcmtzcGFjZV9mcmVlAMYTFndhc213b3Jrc3BhY2VfZGlzY292ZXIAUhd3YXNtd2\ +9ya3NwYWNlX2xvY2tfcGF0aABRHndhc213b3Jrc3BhY2Vfbm9kZV9tb2R1bGVzX2RpcgD6ARZ3YXNt\ +d29ya3NwYWNlX3Jlc29sdmVyAC8gX193Ymdfd2FzbXdvcmtzcGFjZXJlc29sdmVyX2ZyZWUAggIdd2\ +FzbXdvcmtzcGFjZXJlc29sdmVyX3Jlc29sdmUANRFfX3diaW5kZ2VuX21hbGxvYwDFERJfX3diaW5k\ +Z2VuX3JlYWxsb2MA+BIfX193YmluZGdlbl9hZGRfdG9fc3RhY2tfcG9pbnRlcgCnGQ9fX3diaW5kZ2\ +VuX2ZyZWUA7hcUX193YmluZGdlbl9leG5fc3RvcmUA+hgJygwBAEEBC6UGwBaRGJsChBmxGb8Wqxis\ +GI0UyA64CYMYxBj+FrIZsBmYA9gZgwyDCo8SkBKaA8QW2gL8BtAZ1hnHGLQZ2QXMFJYSxhe1B8sUnw\ ++yGL0SsBW2GcgRywu1GP8IxRbYC84P2QvOAv8LuBnmFYMZxwe5GZwQvRm+GYIS7Aq4D9wSkhGoC8UM\ +vw2RFIgJiQmHCcAN6RPtCIYXvxKOC4AMhRfFGLwZ8gHWAboZyROYGoYE4QyUAoESuxmEEpca0wfVEK\ +wRkgaKCZQM9g6CGPwF3gKUF5MXghnNGeQD4AiIErwJ1A2ZDZoN0RnyCfsG0hnTGb0Pvw+BBNkZ+gTV\ +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\ +NCAEQdAYakHvAWotAAAhNSAEQdAYakH3AWotAAAhNiAEQdAYakH/AWotAAAhNyAEQdAYakGHAmotAA\ +AhOCAEQdAYakGPAmotAAAhOSAEQdAYakGXAmotAAAhOiAEQdAYakGfAmotAAAhOyAEQdAYakGnAmot\ +AAAhPCAEQdAYakGvAmotAAAhPSAEQdAYakG3AmotAAAhPiAEQdAYakG/AmotAAAhPyAEQdAYakHHAm\ +otAAAhQCAEQdAYakHPAmotAAAhQSAEQdAYakHXAmotAAAhQiAEQdAYakHfAmotAAAhQyAEQdAYakHn\ +AmotAAAhRCAEQdAYakHvAmotAAAhRSAEQdAYakH3AmotAAAhRiAEQdAYakH/AmotAAAhRyAEQdAYak\ +GHA2otAAAhSCAEQdAYakGPA2otAAAhSSAEQdAYakGXA2otAAAhSiAEQdAYakGfA2otAAAhSyAEQdAY\ +akGnA2otAAAhTCAEQdAYakGvA2otAAAhTSAEQdAYakG3A2otAAAhTiAEQdAYakG/A2otAAAhTyAEQd\ +AYakHHA2otAAAhUCAEQdAYakHPA2otAAAhUSAEQdAYakHXA2otAAAhUiAEQdAYakHfA2otAAAhUyAE\ +QdAYakHnA2otAAAhVCAEQdAYakHvA2otAAAhVSAEQdAYakH3A2otAAAhViAEQdAYakH/A2otAAAhVy\ +AEQdAYakGHBGotAAAhWCAEQdAYakGPBGotAAAhWSAEQdAYakGXBGotAAAhWiAEQdAYakGfBGotAAAh\ +WyAEQdAYakGnBGotAAAhXCAEQdAYakGvBGotAAAhXSAEQdAYakG3BGotAAAhXiAEQdAYakG/BGotAA\ +AhXyAEQdAYakHHBGotAAAhYCAEQdAYakHPBGotAAAhYSAEQdAYakHXBGotAAAhYiAEQdAYakHfBGot\ +AAAhYyAEQdAYakHnBGotAAAhZCAEQdAYakHvBGotAAAhZSAEQdAYakH3BGotAAAhZiAEQdAYakH/BG\ +otAAAhZyAEQdAYakGHBWotAAAhaCAELQDUHSFpIAQoAtAdIWogBC0AzB0hayAEKALIHSFsIAQtAMQd\ +IW0gBCgCwB0hbiAELQC8HSFvIAQoArgdIXAgBC0AtB0hcSAEKAKwHSFyIAQtAKwdIXMgBCgCqB0hdC\ +AELQCkHSF1IAQoAqAdIXYgBC0AnB0hdyAEKAKYHSF4IAQtAJQdIXkgBCgCkB0heiAELQCMHSF7IAQo\ +AogdIXwgBC0AhB0hfSAEKAKAHSF+IAQtAPwcIX8gBCgC+BwhgAEgBC0A9BwhgQEgBCgC8BwhggEgBC\ +0A7BwhgwEgBCgC6BwhhAEgBC0A5BwhhQEgBCgC4BwhhgEgBC0A3BwhhwEgBCgC2BwhiAEgBC0A1Bwh\ +iQEgBCgC0BwhigEgBC0AzBwhiwEgBCgCyBwhjAEgBC0AxBwhjQEgBCgCwBwhjgEgBC0AvBwhjwEgBC\ +gCuBwhkAEgBC0AtBwhkQEgBCgCsBwhkgEgBC0ArBwhkwEgBCgCqBwhlAEgBC0ApBwhlQEgBCgCoBwh\ +lgEgBC0AnBwhlwEgBCgCmBwhmAEgBC0AlBwhmQEgBCgCkBwhmgEgBC0AjBwhmwEgBCgCiBwhnAEgBC\ +0AhBwhnQEgBCgCgBwhngEgBC0A/BshnwEgBCgC+BshoAEgBC0A9BshoQEgBCgC8BshogEgBC0A7Bsh\ +owEgBCgC6BshpAEgBC0A5BshpQEgBCgC4BshpgEgBC0A3BshpwEgBCgC2BshqAEgBC0A1BshqQEgBC\ +gC0BshqgEgBC0AzBshqwEgBCgCyBshrAEgBC0AxBshrQEgBCgCwBshrgEgBC0AvBshrwEgBCgCuBsh\ +sAEgBC0AtBshsQEgBCgCsBshsgEgBC0ArBshswEgBCgCqBshtAEgBC0ApBshtQEgBCgCoBshtgEgBC\ +0AnBshtwEgBCgCmBshuAEgBC0AlBshuQEgBCgCkBshugEgBC0AjBshuwEgBCgCiBshvAEgBC0AhBsh\ +vQEgBCgCgBshvgEgBC0A/BohvwEgBCgC+BohwAEgBC0A9BohwQEgBCgC8BohwgEgBC0A7BohwwEgBC\ +gC6BohxAEgBC0A5BohxQEgBCgC4BohxgEgBC0A3BohxwEgBCgC2BohyAEgBC0A1BohyQEgBCgC0Boh\ +ygEgBC0AzBohywEgBCgCyBohzAEgBC0AxBohzQEgBCgCwBohzgEgBC0AvBohzwEgBCgCuBoh0AEgBC\ +0AtBoh0QEgBCgCsBoh0gEgBC0ArBoh0wEgBCgCqBoh1AEgBC0ApBoh1QEgBCgCoBoh1gEgBC0AnBoh\ +1wEgBCgCmBoh2AEgBC0AlBoh2QEgBCgCkBoh2gEgBC0AjBoh2wEgBCgCiBoh3AEgBC0AhBoh3QEgBC\ +gCgBoh3gEgBC0A/Bkh3wEgBCgC+Bkh4AEgBC0A9Bkh4QEgBCgC8Bkh4gEgBC0A7Bkh4wEgBCgC6Bkh\ +5AEgBC0A5Bkh5QEgBCgC4Bkh5gEgBC0A3Bkh5wEgBCgC2Bkh6AEgBC0A1Bkh6QEgBCgC0Bkh6gEgBC\ +0AzBkh6wEgBCgCyBkh7AEgBC0AxBkh7QEgBCgCwBkh7gEgBC0AvBkh7wEgBCgCuBkh8AEgBC0AtBkh\ +8QEgBCgCsBkh8gEgBC0ArBkh8wEgBCgCqBkh9AEgBC0ApBkh9QEgBCgCoBkh9gEgBC0AnBkh9wEgBC\ +gCmBkh+AEgBC0AlBkh+QEgBCgCkBkh+gEgBC0AjBkh+wEgBCgCiBkh/AEgBC0AhBkh/QEgBCgCgBkh\ +/gEgBC0A/Bgh/wEgBCgC+BghgAIgBC0A9BghgQIgBCgC8BghggIgBC0A7BghgwIgBCgC6BghhAIgBC\ +0A5BghhQIgBCgC4BghhgIgBC0A3BghhwIgBCgC2BghiAIgBC8A3RghiQIgBC8A5RghigIgBC8A7Rgh\ +iwIgBC8A9RghjAIgBC8A/RghjQIgBC8AhRkhjgIgBC8AjRkhjwIgBC8AlRkhkAIgBC8AnRkhkQIgBC\ +8ApRkhkgIgBC8ArRkhkwIgBC8AtRkhlAIgBC8AvRkhlQIgBC8AxRkhlgIgBC8AzRkhlwIgBC8A1Rkh\ +mAIgBC8A3RkhmQIgBC8A5RkhmgIgBC8A7RkhmwIgBC8A9RkhnAIgBC8A/RkhnQIgBC8AhRohngIgBC\ +8AjRohnwIgBC8AlRohoAIgBC8AnRohoQIgBC8ApRohogIgBC8ArRohowIgBC8AtRohpAIgBC8AvRoh\ +pQIgBC8AxRohpgIgBC8AzRohpwIgBC8A1RohqAIgBC8A3RohqQIgBC8A5RohqgIgBC8A7RohqwIgBC\ +8A9RohrAIgBC8A/RohrQIgBC8AhRshrgIgBC8AjRshrwIgBC8AlRshsAIgBC8AnRshsQIgBC8ApRsh\ +sgIgBC8ArRshswIgBC8AtRshtAIgBC8AvRshtQIgBC8AxRshtgIgBC8AzRshtwIgBC8A1RshuAIgBC\ +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\ +QoAtgWIcEDIAQtANQWIcIDIAQoAtAWIcMDIAQtAMwWIcQDIAQoAsgWIcUDIAQtAMQWIcYDIAQoAsAW\ +IccDIAQtALwWIcgDIAQoArgWIckDIAQtALQWIcoDIAQoArAWIcsDIAQtAKwWIcwDIAQoAqgWIc0DIA\ +QtAKQWIc4DIAQoAqAWIc8DIAQtAJwWIdADIAQoApgWIdEDIAQtAJQWIdIDIAQoApAWIdMDIAQtAIwW\ +IdQDIAQoAogWIdUDIAQtAIQWIdYDIAQoAoAWIdcDIAQtAPwVIdgDIAQoAvgVIdkDIAQtAPQVIdoDIA\ +QoAvAVIdsDIAQtAOwVIdwDIAQoAugVId0DIAQtAOQVId4DIAQoAuAVId8DIAQtANwVIeADIAQoAtgV\ +IeEDIAQtANQVIeIDIAQoAtAVIeMDIAQtAMwVIeQDIAQoAsgVIeUDIAQtAMQVIeYDIAQoAsAVIecDIA\ +QtALwVIegDIAQoArgVIekDIAQtALQVIeoDIAQoArAVIesDIAQtAKwVIewDIAQoAqgVIe0DIAQtAKQV\ +Ie4DIAQoAqAVIe8DIAQtAJwVIfADIAQoApgVIfEDIAQtAJQVIfIDIAQoApAVIfMDIAQtAIwVIfQDIA\ +QoAogVIfUDIAQtAIQVIfYDIAQoAoAVIfcDIAQtAPwUIfgDIAQoAvgUIfkDIAQtAPQUIfoDIAQoAvAU\ +IfsDIAQtAOwUIfwDIAQoAugUIf0DIAQtAOQUIf4DIAQoAuAUIf8DIAQtANwUIYAEIAQoAtgUIYEEIA\ +QtANQUIYIEIAQoAtAUIYMEIAQtAMwUIYQEIAQoAsgUIYUEIAQtAMQUIYYEIAQoAsAUIYcEIAQtALwU\ +IYgEIAQoArgUIYkEIAQtALQUIYoEIAQoArAUIYsEIAQtAKwUIYwEIAQoAqgUIY0EIAQtAKQUIY4EIA\ +QoAqAUIY8EIAQtAJwUIZAEIAQoApgUIZEEIAQtAJQUIZIEIAQoApAUIZMEIAQtAIwUIZQEIAQoAogU\ +IZUEIAQtAIQUIZYEIAQoAoAUIZcEIAQtAPwTIZgEIAQoAvgTIZkEIAQtAPQTIZoEIAQoAvATIZsEIA\ +QtAOwTIZwEIAQoAugTIZ0EIAQtAOQTIZ4EIAQoAuATIZ8EIAQtANwTIaAEIAQoAtgTIaEEIAQtANQT\ +IaIEIAQoAtATIaMEIAQtAMwTIaQEIAQoAsgTIaUEIAQtAMQTIaYEIAQoAsATIacEIAQtALwTIagEIA\ +QoArgTIakEIAQtALQTIaoEIAQoArATIasEIAQtAKwTIawEIAQoAqgTIa0EIAQtAKQTIa4EIAQoAqAT\ +Ia8EIAQtAJwTIbAEIAQoApgTIbEEIAQtAJQTIRogBCgCkBMhGyAELQCMEyEcIAQoAogTIR0gBC0AhB\ +MhHiAEKAKAEyEfIAQtAPwSISAgBCgC+BIhISAEKAL0EiEiIAQoAvASIQ8gBCgC7BIhFyAEKALoEiEN\ +IAQoAuQSIQogBCgC4BIhBiAEKALcEiEZIAQoAtgSIRYgBCgC1BIhsgQgBCgC0BIhJiAEKQPIEiHOBS\ +AELwD9EiGzBCAELwCFEyG0BCAELwCNEyG1BCAELwCVEyG2BCAELwCdEyG3BCAELwClEyG4BCAELwCt\ +EyG5BCAELwC1EyG6BCAELwC9EyG7BCAELwDFEyG8BCAELwDNEyG9BCAELwDVEyG+BCAELwDdEyG/BC\ +AELwDlEyHABCAELwDtEyHBBCAELwD1EyHCBCAELwD9EyHDBCAELwCFFCHEBCAELwCNFCHFBCAELwCV\ +FCHGBCAELwCdFCHHBCAELwClFCHIBCAELwCtFCHJBCAELwC1FCHKBCAELwC9FCHLBCAELwDFFCHMBC\ +AELwDNFCHNBCAELwDVFCHOBCAELwDdFCHPBCAELwDlFCHQBCAELwDtFCHRBCAELwD1FCHSBCAELwD9\ +FCHTBCAELwCFFSHUBCAELwCNFSHVBCAELwCVFSHWBCAELwCdFSHXBCAELwClFSHYBCAELwCtFSHZBC\ +AELwC1FSHaBCAELwC9FSHbBCAELwDFFSHcBCAELwDNFSHdBCAELwDVFSHeBCAELwDdFSHfBCAELwDl\ +FSHgBCAELwDtFSHhBCAELwD1FSHiBCAELwD9FSHjBCAELwCFFiHkBCAELwCNFiHlBCAELwCVFiHmBC\ +AELwCdFiHnBCAELwClFiHoBCAELwCtFiHpBCAELwC1FiHqBCAELwC9FiHrBCAELwDFFiHsBCAELwDN\ +FiHtBCAELwDVFiHuBCAELwDdFiHvBCAELwDlFiHwBCAELwDtFiHxBCAELwD1FiHyBCAELwD9FiHzBC\ +AELwCFFyH0BCAELwCNFyH1BCAELwCVFyH2BCAELwCdFyH3BCAELwClFyH4BCAELwCtFyH5BCAELwC1\ +FyH6BCAELwC9FyH7BCAELwDFFyH8BCAELwDNFyH9BCAEQagnahDYFyAIENIXINgCIGhBEHRyIf4EIN\ +cCIGdBEHRyIf8EINYCIGZBEHRyIYAFINUCIGVBEHRyIYEFINQCIGRBEHRyIYIFINMCIGNBEHRyIYMF\ +INICIGJBEHRyIYQFINECIGFBEHRyIYUFINACIGBBEHRyIYYFIM8CIF9BEHRyIYcFIM4CIF5BEHRyIY\ +gFIM0CIF1BEHRyIYkFIMwCIFxBEHRyIYoFIMsCIFtBEHRyIYsFIMoCIFpBEHRyIYwFIMkCIFlBEHRy\ +IY0FIMgCIFhBEHRyIY4FIMcCIFdBEHRyIY8FIMYCIFZBEHRyIZAFIMUCIFVBEHRyIZEFIMQCIFRBEH\ +RyIZIFIMMCIFNBEHRyIZMFIMICIFJBEHRyIZQFIMECIFFBEHRyIZUFIMACIFBBEHRyIZYFIL8CIE9B\ +EHRyIZcFIL4CIE5BEHRyIZgFIL0CIE1BEHRyIZkFILwCIExBEHRyIZoFILsCIEtBEHRyIZsFILoCIE\ +pBEHRyIZwFILkCIElBEHRyIZ0FILgCIEhBEHRyIZ4FILcCIEdBEHRyIZ8FILYCIEZBEHRyIaAFILUC\ +IEVBEHRyIaEFILQCIERBEHRyIaIFILMCIENBEHRyIaMFILICIEJBEHRyIaQFILECIEFBEHRyIaUFIL\ +ACIEBBEHRyIaYFIK8CID9BEHRyIacFIK4CID5BEHRyIagFIK0CID1BEHRyIakFIKwCIDxBEHRyIaoF\ +IKsCIDtBEHRyIasFIKoCIDpBEHRyIawFIKkCIDlBEHRyIa0FIKgCIDhBEHRyIa4FIKcCIDdBEHRyIa\ +8FIKYCIDZBEHRyIbAFIKUCIDVBEHRyIbEFIKQCIDRBEHRyIbIFIKMCIDNBEHRyIbMFIKICIDJBEHRy\ +IbQFIKECIDFBEHRyIbUFIKACIDBBEHRyIbYFIJ8CIC9BEHRyIbcFIJ4CIC5BEHRyIbgFIJ0CIC1BEH\ +RyIbkFIJwCICxBEHRyIboFIJsCICtBEHRyIbsFIJoCICpBEHRyIbwFIJkCIClBEHRyIb0FIJgCIChB\ +EHRyIb4FIJcCICdBEHRyIb8FIJYCICRBEHRyIcAFIJUCICNBEHRyIcEFIJQCIBNBEHRyIcIFIJMCIB\ +RBEHRyIcMFIJICIBFBEHRyIcQFIJECIBVBEHRyIcUFIJACIBBBEHRyIcYFII8CIBJBEHRyIccFII4C\ +IBhBEHRyIcgFII0CIA5BEHRyIckFIIwCIAtBEHRyIcoFIIsCIAxBEHRyIcsFIIoCIAlBEHRyIcwFII\ +kCIAVBEHRyIc0FIP0EIKMDQRB0ciGjAyD8BCCiA0EQdHIhogMg+wQgoQNBEHRyIaEDIPoEIKADQRB0\ +ciGgAyD5BCCfA0EQdHIhnwMg+AQgngNBEHRyIZ4DIPcEIJ0DQRB0ciGdAyD2BCCcA0EQdHIhnAMg9Q\ +QgmwNBEHRyIZsDIPQEIJoDQRB0ciGaAyDzBCCZA0EQdHIhmQMg8gQgmANBEHRyIZgDIPEEIJcDQRB0\ +ciGXAyDwBCCWA0EQdHIhlgMg7wQglQNBEHRyIZUDIO4EIJQDQRB0ciGUAyDtBCCTA0EQdHIhkwMg7A\ +QgkgNBEHRyIZIDIOsEIJEDQRB0ciGRAyDqBCCQA0EQdHIhkAMg6QQgjwNBEHRyIY8DIOgEII4DQRB0\ +ciGOAyDnBCCNA0EQdHIhjQMg5gQgjANBEHRyIYwDIOUEIIsDQRB0ciGLAyDkBCCKA0EQdHIhigMg4w\ +QgiQNBEHRyIdgCIOIEIIgDQRB0ciHXAiDhBCCHA0EQdHIh1gIg4AQghgNBEHRyIdUCIN8EIIUDQRB0\ +ciHUAiDeBCCEA0EQdHIh0wIg3QQggwNBEHRyIdICINwEIIIDQRB0ciHRAiDbBCCBA0EQdHIh0AIg2g\ +QggANBEHRyIc8CINkEIP8CQRB0ciHOAiDYBCD+AkEQdHIhzQIg1wQg/QJBEHRyIcwCINYEIPwCQRB0\ +ciHLAiDVBCD7AkEQdHIhygIg1AQg+gJBEHRyIckCINMEIPkCQRB0ciHIAiDSBCD4AkEQdHIhxwIg0Q\ +Qg9wJBEHRyIcYCINAEIPYCQRB0ciHFAiDPBCD1AkEQdHIhxAIgzgQg9AJBEHRyIcMCIM0EIPMCQRB0\ +ciHCAiDMBCDyAkEQdHIhwQIgywQg8QJBEHRyIcACIMoEIPACQRB0ciG/AiDJBCDvAkEQdHIhvgIgyA\ +Qg7gJBEHRyIb0CIMcEIO0CQRB0ciG8AiDGBCDsAkEQdHIhuwIgxQQg6wJBEHRyIboCIMQEIOoCQRB0\ +ciG5AiDDBCDpAkEQdHIhuAIgwgQg6AJBEHRyIbcCIMEEIOcCQRB0ciG2AiDABCDmAkEQdHIhtQIgvw\ +Qg5QJBEHRyIbQCIL4EIOQCQRB0ciGzAiC9BCDjAkEQdHIhsgIgvAQg4gJBEHRyIbECILsEIOECQRB0\ +ciGwAiC6BCDgAkEQdHIhrwIguQQg3wJBEHRyIa4CILgEIN4CQRB0ciGtAiC3BCDdAkEQdHIh3QIgtg\ +Qg3AJBEHRyIQsgtQQg2wJBEHRyIQwgtAQg2gJBEHRyIRggswQg2QJBEHRyIQ4gzwWnIeACDAQLIARB\ +qCdqIARB2BhqQcAAEJMaGiAEQagnahDcFyAEQcgSahDUFwwBCyAEQeAHahDcFwsgCBDSFwtCAiHOBQ\ +sgBEHwBmoQ0xcLIAQvAMEkIAQtAMMkQRB0ciESIAQvAMElIARBwyVqLQAAQRB0ciEQIAQvALklIARB\ +uyVqLQAAQRB0ciEVIAQvALElIARBsyVqLQAAQRB0ciERIAQvAKklIARBqyVqLQAAQRB0ciEUIAQvAK\ +ElIARBoyVqLQAAQRB0ciETIAQvAJklIARBmyVqLQAAQRB0ciEjIAQvAJElIARBkyVqLQAAQRB0ciEk\ +IAQvAIklIARBiyVqLQAAQRB0ciEnIAQvAIElIARBgyVqLQAAQRB0ciEoIAQvAPkkIARB+yRqLQAAQR\ +B0ciEpIAQvAPEkIARB8yRqLQAAQRB0ciEqIAQvAOkkIARB6yRqLQAAQRB0ciErIAQvAOEkIARB4yRq\ +LQAAQRB0ciEsIAQvANkkIARB2yRqLQAAQRB0ciEtIAQvANEkIARB0yRqLQAAQRB0ciEuIAQvAMkkIA\ +RByyRqLQAAQRB0ciEvIAQvAO0eIARB2B5qQRdqLQAAQRB0ciEwIAQvAOUeIARB2B5qQQ9qLQAAQRB0\ +ciExIAQvAN0eIARB2B5qQQdqLQAAQRB0ciEyIAQvAN0GIARByAZqQRdqLQAAQRB0ciEzIAQvANUGIA\ +RByAZqQQ9qLQAAQRB0ciE0IAQvAM0GIARByAZqQQdqLQAAQRB0ciHcAiAELwCVASAEQYgBakEPai0A\ +AEEQdHIh2QIgBC8AjQEgBEGIAWpBB2otAABBEHRyIdoCIAQoAvgmIUwgBCgC9CYhTSAEKALwJiFOIA\ +QoAuwmIU8gBCgC6CYhUCAEKALkJiFRIAQoAuAmIVIgBCgC3CYhUyAEKALYJiFUIAQoAtQmIVUgBCgC\ +0CYhViAEKALMJiFXIAQoAsgmIVggBCgCxCYhWSAEKALAJiFaIAQoArwmIVsgBCgCuCYhXCAEKAK0Ji\ +FdIAQoArAmIV4gBCgCrCYhXyAEKAKoJiFgIAQoAqQmIWEgBCgCoCYhYiAEKAKcJiFjIAQoApgmIWQg\ +BCgClCYhZSAEKAKQJiFmIAQoAowmIWcgBCgCiCYhaCAEKAKEJiGJAiAEKAKAJiGKAiAEKAL8JSGLAi\ +AEKAL4JSGMAiAEKAL0JSGNAiAEKALwJSGOAiAEKALsJSGPAiAEKALoJSGQAiAEKALkJSGRAiAEKALg\ +JSGSAiAEKALcJSGTAiAEKALYJSGUAiAEKALUJSGVAiAEKALQJSHlAiAEKALMJSGWAiAEKALIJSHfAi\ +AEKALEJSGXAiAELQDAJSE1IAQoArwlIZgCIAQtALglITYgBCgCtCUhmQIgBC0AsCUhNyAEKAKsJSGa\ +AiAELQCoJSE4IAQoAqQlIZsCIAQtAKAlITkgBCgCnCUhnAIgBC0AmCUhOiAEKAKUJSGdAiAELQCQJS\ +E7IAQoAowlIZ4CIAQtAIglITwgBCgChCUhnwIgBC0AgCUhPSAEKAL8JCGgAiAELQD4JCE+IAQoAvQk\ +IaECIAQtAPAkIT8gBCgC7CQhogIgBC0A6CQhQCAEKALkJCGjAiAELQDgJCFBIAQoAtwkIaQCIAQtAN\ +gkIUIgBCgC1CQhpQIgBC0A0CQhQyAEKALMJCGmAiAELQDIJCFEIAQoAsQkIacCIAQtAMAkIUUgBCgC\ +8B4hqAIgBC0A7B4hRiAEKALoHiGpAiAELQDkHiFHIAQoAuAeIaoCIAQtANweIUggBCgC2B4hqwIgBC\ +0A3AYhSSAEKALYBiGsAiAELQDUBiFKIAQoAtAGIeYCIAQtAMwGIecCIAQoAsgGIeECIAQtAJQBId4C\ +IAQoApABIeICIAQtAIwBIeMCIAQoAogBIeQCCwJAAkACQAJAAkACQCDOBUIDUQ0AAkAgASgCWCIFLQ\ +AgQQJxRQ0AIM4FQgJRDQAgBSgCHEEBcQ0AIARBMGpBCEGoDRDmEyAEKAIwIgVFDQcgBSAQOwDdCyAF\ +IBU7ANULIAUgETsAzQsgBSAUOwDFCyAFIBM7AL0LIAUgIzsAtQsgBSAkOwCtCyAFICc7AKULIAUgKD\ +sAnQsgBSApOwCVCyAFICo7AI0LIAUgKzsAhQsgBSAsOwD9CiAFIC07APUKIAUgLjsA7QogBSAvOwDl\ +CiAFIBI7AN0KIAUgMDsA1QogBSAxOwDNCiAFIDI7AMUKIAUgMzsAvQogBSA0OwC1CiAFINwCOwCtCi\ +AFINkCOwClCiAFINoCOwCdCiAFIP4EOwCVCiAFIP8EOwCNCiAFIIAFOwCFCiAFIIEFOwD9CSAFIIIF\ +OwD1CSAFIIMFOwDtCSAFIIQFOwDlCSAFIIUFOwDdCSAFIIYFOwDVCSAFIIcFOwDNCSAFIIgFOwDFCS\ +AFIIkFOwC9CSAFIIoFOwC1CSAFIIsFOwCtCSAFIIwFOwClCSAFII0FOwCdCSAFII4FOwCVCSAFII8F\ +OwCNCSAFIJAFOwCFCSAFIJEFOwD9CCAFIJIFOwD1CCAFIJMFOwDtCCAFIJQFOwDlCCAFIJUFOwDdCC\ +AFIJYFOwDVCCAFIJcFOwDNCCAFIJgFOwDFCCAFIJkFOwC9CCAFIJoFOwC1CCAFIJsFOwCtCCAFIJwF\ +OwClCCAFIJ0FOwCdCCAFIJ4FOwCVCCAFIJ8FOwCNCCAFIKAFOwCFCCAFIKEFOwD9ByAFIKIFOwD1By\ +AFIKMFOwDtByAFIKQFOwDlByAFIKUFOwDdByAFIKYFOwDVByAFIKcFOwDNByAFIKgFOwDFByAFIKkF\ +OwC9ByAFIKoFOwC1ByAFIKsFOwCtByAFIKwFOwClByAFIK0FOwCdByAFIK4FOwCVByAFIK8FOwCNBy\ +AFILAFOwCFByAFILEFOwD9BiAFILIFOwD1BiAFILMFOwDtBiAFILQFOwDlBiAFILUFOwDdBiAFILYF\ +OwDVBiAFILcFOwDNBiAFILgFOwDFBiAFILkFOwC9BiAFILoFOwC1BiAFILsFOwCtBiAFILwFOwClBi\ +AFIL0FOwCdBiAFIL4FOwCVBiAFIL8FOwCNBiAFIMAFOwCFBiAFIMEFOwD9BSAFIMIFOwD1BSAFIMMF\ +OwDtBSAFIMQFOwDlBSAFIMUFOwDdBSAFIMYFOwDVBSAFIMcFOwDNBSAFIMgFOwDFBSAFIMkFOwC9BS\ +AFIMoFOwC1BSAFIMsFOwCtBSAFIMwFOwClBSAFIM0FOwCdBSAFQQA7AJUFIAUgowM7AI0FIAUgogM7\ +AIUFIAUgoQM7AP0EIAUgoAM7APUEIAUgnwM7AO0EIAUgngM7AOUEIAUgnQM7AN0EIAUgnAM7ANUEIA\ +UgmwM7AM0EIAUgmgM7AMUEIAUgmQM7AL0EIAUgmAM7ALUEIAUglwM7AK0EIAUglgM7AKUEIAUglQM7\ +AJ0EIAUglAM7AJUEIAUgkwM7AI0EIAUgkgM7AIUEIAUgkQM7AP0DIAUgkAM7APUDIAUgjwM7AO0DIA\ +UgjgM7AOUDIAUgjQM7AN0DIAUgjAM7ANUDIAUgiwM7AM0DIAUgigM7AMUDIAUg2AI7AL0DIAUg1wI7\ +ALUDIAUg1gI7AK0DIAUg1QI7AKUDIAUg1AI7AJ0DIAUg0wI7AJUDIAUg0gI7AI0DIAUg0QI7AIUDIA\ +Ug0AI7AP0CIAUgzwI7APUCIAUgzgI7AO0CIAUgzQI7AOUCIAUgzAI7AN0CIAUgywI7ANUCIAUgygI7\ +AM0CIAUgyQI7AMUCIAUgyAI7AL0CIAUgxwI7ALUCIAUgxgI7AK0CIAUgxQI7AKUCIAUgxAI7AJ0CIA\ +UgwwI7AJUCIAUgwgI7AI0CIAUgwQI7AIUCIAUgwAI7AP0BIAUgvwI7APUBIAUgvgI7AO0BIAUgvQI7\ +AOUBIAUgvAI7AN0BIAUguwI7ANUBIAUgugI7AM0BIAUguQI7AMUBIAUguAI7AL0BIAUgtwI7ALUBIA\ +UgtgI7AK0BIAUgtQI7AKUBIAUgtAI7AJ0BIAUgswI7AJUBIAUgsgI7AI0BIAUgsQI7AIUBIAUgsAI7\ +AH0gBSCvAjsAdSAFIK4COwBtIAUgrQI7AGUgBSDdAjsAXSAFIAs7AFUgBSAMOwBNIAUgGDsARSAFIA\ +47AD0gBUEAOgCkDSAFICU2AqANIAUgBzYCnA0gBSABNgKYDSAFIEw2AJQNIAUgTTYAkA0gBSBONgCM\ +DSAFIE82AIgNIAUgUDYAhA0gBSBRNgCADSAFIFI2APwMIAUgUzYA+AwgBSBUNgD0DCAFIFU2APAMIA\ +UgVjYA7AwgBSBXNgDoDCAFIFg2AOQMIAUgWTYA4AwgBSBaNgDcDCAFIFs2ANgMIAUgXDYA1AwgBSBd\ +NgDQDCAFIF42AMwMIAUgXzYAyAwgBSBgNgDEDCAFIGE2AMAMIAUgYjYAvAwgBSBjNgC4DCAFIGQ2AL\ +QMIAUgZTYAsAwgBSBmNgCsDCAFIGc2AKgMIAUgaDYApAwgBSCJAjYAoAwgBSCKAjYAnAwgBSCLAjYA\ +mAwgBSCMAjYAlAwgBSCNAjYAkAwgBSCOAjYAjAwgBSCPAjYAiAwgBSCQAjYAhAwgBSCRAjYAgAwgBS\ +CSAjYA/AsgBSCTAjYA+AsgBSCUAjYA9AsgBSCVAjYA8AsgBSDlAjYA7AsgBSCWAjYA6AsgBSDfAjYA\ +5AsgBSCXAjYA4AsgBSA1OgDcCyAFIJgCNgDYCyAFIDY6ANQLIAUgmQI2ANALIAUgNzoAzAsgBSCaAj\ +YAyAsgBSA4OgDECyAFIJsCNgDACyAFIDk6ALwLIAUgnAI2ALgLIAUgOjoAtAsgBSCdAjYAsAsgBSA7\ +OgCsCyAFIJ4CNgCoCyAFIDw6AKQLIAUgnwI2AKALIAUgPToAnAsgBSCgAjYAmAsgBSA+OgCUCyAFIK\ +ECNgCQCyAFID86AIwLIAUgogI2AIgLIAUgQDoAhAsgBSCjAjYAgAsgBSBBOgD8CiAFIKQCNgD4CiAF\ +IEI6APQKIAUgpQI2APAKIAUgQzoA7AogBSCmAjYA6AogBSBEOgDkCiAFIKcCNgDgCiAFIEU6ANwKIA\ +UgqAI2ANgKIAUgRjoA1AogBSCpAjYA0AogBSBHOgDMCiAFIKoCNgDICiAFIEg6AMQKIAUgqwI2AMAK\ +IAUgSToAvAogBSCsAjYAuAogBSBKOgC0CiAFIOYCNgCwCiAFIOcCOgCsCiAFIOECNgCoCiAFIN4COg\ +CkCiAFIOICNgKgCiAFIOMCOgCcCiAFIOQCNgKYCiAFIGk6AJQKIAUgajYCkAogBSBrOgCMCiAFIGw2\ +AogKIAUgbToAhAogBSBuNgKACiAFIG86APwJIAUgcDYC+AkgBSBxOgD0CSAFIHI2AvAJIAUgczoA7A\ +kgBSB0NgLoCSAFIHU6AOQJIAUgdjYC4AkgBSB3OgDcCSAFIHg2AtgJIAUgeToA1AkgBSB6NgLQCSAF\ +IHs6AMwJIAUgfDYCyAkgBSB9OgDECSAFIH42AsAJIAUgfzoAvAkgBSCAATYCuAkgBSCBAToAtAkgBS\ +CCATYCsAkgBSCDAToArAkgBSCEATYCqAkgBSCFAToApAkgBSCGATYCoAkgBSCHAToAnAkgBSCIATYC\ +mAkgBSCJAToAlAkgBSCKATYCkAkgBSCLAToAjAkgBSCMATYCiAkgBSCNAToAhAkgBSCOATYCgAkgBS\ +CPAToA/AggBSCQATYC+AggBSCRAToA9AggBSCSATYC8AggBSCTAToA7AggBSCUATYC6AggBSCVAToA\ +5AggBSCWATYC4AggBSCXAToA3AggBSCYATYC2AggBSCZAToA1AggBSCaATYC0AggBSCbAToAzAggBS\ +CcATYCyAggBSCdAToAxAggBSCeATYCwAggBSCfAToAvAggBSCgATYCuAggBSChAToAtAggBSCiATYC\ +sAggBSCjAToArAggBSCkATYCqAggBSClAToApAggBSCmATYCoAggBSCnAToAnAggBSCoATYCmAggBS\ +CpAToAlAggBSCqATYCkAggBSCrAToAjAggBSCsATYCiAggBSCtAToAhAggBSCuATYCgAggBSCvAToA\ +/AcgBSCwATYC+AcgBSCxAToA9AcgBSCyATYC8AcgBSCzAToA7AcgBSC0ATYC6AcgBSC1AToA5AcgBS\ +C2ATYC4AcgBSC3AToA3AcgBSC4ATYC2AcgBSC5AToA1AcgBSC6ATYC0AcgBSC7AToAzAcgBSC8ATYC\ +yAcgBSC9AToAxAcgBSC+ATYCwAcgBSC/AToAvAcgBSDAATYCuAcgBSDBAToAtAcgBSDCATYCsAcgBS\ +DDAToArAcgBSDEATYCqAcgBSDFAToApAcgBSDGATYCoAcgBSDHAToAnAcgBSDIATYCmAcgBSDJAToA\ +lAcgBSDKATYCkAcgBSDLAToAjAcgBSDMATYCiAcgBSDNAToAhAcgBSDOATYCgAcgBSDPAToA/AYgBS\ +DQATYC+AYgBSDRAToA9AYgBSDSATYC8AYgBSDTAToA7AYgBSDUATYC6AYgBSDVAToA5AYgBSDWATYC\ +4AYgBSDXAToA3AYgBSDYATYC2AYgBSDZAToA1AYgBSDaATYC0AYgBSDbAToAzAYgBSDcATYCyAYgBS\ +DdAToAxAYgBSDeATYCwAYgBSDfAToAvAYgBSDgATYCuAYgBSDhAToAtAYgBSDiATYCsAYgBSDjAToA\ +rAYgBSDkATYCqAYgBSDlAToApAYgBSDmATYCoAYgBSDnAToAnAYgBSDoATYCmAYgBSDpAToAlAYgBS\ +DqATYCkAYgBSDrAToAjAYgBSDsATYCiAYgBSDtAToAhAYgBSDuATYCgAYgBSDvAToA/AUgBSDwATYC\ ++AUgBSDxAToA9AUgBSDyATYC8AUgBSDzAToA7AUgBSD0ATYC6AUgBSD1AToA5AUgBSD2ATYC4AUgBS\ +D3AToA3AUgBSD4ATYC2AUgBSD5AToA1AUgBSD6ATYC0AUgBSD7AToAzAUgBSD8ATYCyAUgBSD9AToA\ +xAUgBSD+ATYCwAUgBSD/AToAvAUgBSCAAjYCuAUgBSCBAjoAtAUgBSCCAjYCsAUgBSCDAjoArAUgBS\ +CEAjYCqAUgBSCFAjoApAUgBSCGAjYCoAUgBSCHAjoAnAUgBSCIAjYCmAUgBUEAOgCUBSAFIOACNgKQ\ +BSAFIKQDOgCMBSAFIKUDNgKIBSAFIKYDOgCEBSAFIKcDNgKABSAFIKgDOgD8BCAFIKkDNgL4BCAFIK\ +oDOgD0BCAFIKsDNgLwBCAFIKwDOgDsBCAFIK0DNgLoBCAFIK4DOgDkBCAFIK8DNgLgBCAFILADOgDc\ +BCAFILEDNgLYBCAFILIDOgDUBCAFILMDNgLQBCAFILQDOgDMBCAFILUDNgLIBCAFILYDOgDEBCAFIL\ +cDNgLABCAFILgDOgC8BCAFILkDNgK4BCAFILoDOgC0BCAFILsDNgKwBCAFILwDOgCsBCAFIL0DNgKo\ +BCAFIL4DOgCkBCAFIL8DNgKgBCAFIMADOgCcBCAFIMEDNgKYBCAFIMIDOgCUBCAFIMMDNgKQBCAFIM\ +QDOgCMBCAFIMUDNgKIBCAFIMYDOgCEBCAFIMcDNgKABCAFIMgDOgD8AyAFIMkDNgL4AyAFIMoDOgD0\ +AyAFIMsDNgLwAyAFIMwDOgDsAyAFIM0DNgLoAyAFIM4DOgDkAyAFIM8DNgLgAyAFINADOgDcAyAFIN\ +EDNgLYAyAFINIDOgDUAyAFINMDNgLQAyAFINQDOgDMAyAFINUDNgLIAyAFINYDOgDEAyAFINcDNgLA\ +AyAFINgDOgC8AyAFINkDNgK4AyAFINoDOgC0AyAFINsDNgKwAyAFINwDOgCsAyAFIN0DNgKoAyAFIN\ +4DOgCkAyAFIN8DNgKgAyAFIOADOgCcAyAFIOEDNgKYAyAFIOIDOgCUAyAFIOMDNgKQAyAFIOQDOgCM\ +AyAFIOUDNgKIAyAFIOYDOgCEAyAFIOcDNgKAAyAFIOgDOgD8AiAFIOkDNgL4AiAFIOoDOgD0AiAFIO\ +sDNgLwAiAFIOwDOgDsAiAFIO0DNgLoAiAFIO4DOgDkAiAFIO8DNgLgAiAFIPADOgDcAiAFIPEDNgLY\ +AiAFIPIDOgDUAiAFIPMDNgLQAiAFIPQDOgDMAiAFIPUDNgLIAiAFIPYDOgDEAiAFIPcDNgLAAiAFIP\ +gDOgC8AiAFIPkDNgK4AiAFIPoDOgC0AiAFIPsDNgKwAiAFIPwDOgCsAiAFIP0DNgKoAiAFIP4DOgCk\ +AiAFIP8DNgKgAiAFIIAEOgCcAiAFIIEENgKYAiAFIIIEOgCUAiAFIIMENgKQAiAFIIQEOgCMAiAFII\ +UENgKIAiAFIIYEOgCEAiAFIIcENgKAAiAFIIgEOgD8ASAFIIkENgL4ASAFIIoEOgD0ASAFIIsENgLw\ +ASAFIIwEOgDsASAFII0ENgLoASAFII4EOgDkASAFII8ENgLgASAFIJAEOgDcASAFIJEENgLYASAFIJ\ +IEOgDUASAFIJMENgLQASAFIJQEOgDMASAFIJUENgLIASAFIJYEOgDEASAFIJcENgLAASAFIJgEOgC8\ +ASAFIJkENgK4ASAFIJoEOgC0ASAFIJsENgKwASAFIJwEOgCsASAFIJ0ENgKoASAFIJ4EOgCkASAFIJ\ +8ENgKgASAFIKAEOgCcASAFIKEENgKYASAFIKIEOgCUASAFIKMENgKQASAFIKQEOgCMASAFIKUENgKI\ +ASAFIKYEOgCEASAFIKcENgKAASAFIKgEOgB8IAUgqQQ2AnggBSCqBDoAdCAFIKsENgJwIAUgrAQ6AG\ +wgBSCtBDYCaCAFIK4EOgBkIAUgrwQ2AmAgBSCwBDoAXCAFILEENgJYIAUgGjoAVCAFIBs2AlAgBSAc\ +OgBMIAUgHTYCSCAFIB46AEQgBSAfNgJAIAUgIDoAPCAFICE2AjggBSAiNgI0IAUgDzYCMCAFIBc2Ai\ +wgBSANNgIoIAUgCjYCJCAFIAY2AiAgBSAZNgIcIAUgFjYCGCAFILIENgIUIAUgJjYCECAFIM4FNwMI\ +IAVBATYCBCAFQQE2AgAgBUHfC2ogEEEQdjoAACAFQdcLaiAVQRB2OgAAIAVBzwtqIBFBEHY6AAAgBU\ +HHC2ogFEEQdjoAACAFQb8LaiATQRB2OgAAIAVBtwtqICNBEHY6AAAgBUGvC2ogJEEQdjoAACAFQacL\ +aiAnQRB2OgAAIAVBnwtqIChBEHY6AAAgBUGXC2ogKUEQdjoAACAFQY8LaiAqQRB2OgAAIAVBhwtqIC\ +tBEHY6AAAgBUH/CmogLEEQdjoAACAFQfcKaiAtQRB2OgAAIAVB7wpqIC5BEHY6AAAgBUHnCmogL0EQ\ +djoAACAFQd8KaiASQRB2OgAAIAVB1wpqIDBBEHY6AAAgBUHPCmogMUEQdjoAACAFQccKaiAyQRB2Og\ +AAIAVBvwpqIDNBEHY6AAAgBUG3CmogNEEQdjoAACAFQa8KaiDcAkEQdjoAACAFQacKaiDZAkEQdjoA\ +ACAFQZ8KaiDaAkEQdjoAACAFQZcKaiD+BEEQdjoAACAFQY8KaiD/BEEQdjoAACAFQYcKaiCABUEQdj\ +oAACAFQf8JaiCBBUEQdjoAACAFQfcJaiCCBUEQdjoAACAFQe8JaiCDBUEQdjoAACAFQecJaiCEBUEQ\ +djoAACAFQd8JaiCFBUEQdjoAACAFQdcJaiCGBUEQdjoAACAFQc8JaiCHBUEQdjoAACAFQccJaiCIBU\ +EQdjoAACAFQb8JaiCJBUEQdjoAACAFQbcJaiCKBUEQdjoAACAFQa8JaiCLBUEQdjoAACAFQacJaiCM\ +BUEQdjoAACAFQZ8JaiCNBUEQdjoAACAFQZcJaiCOBUEQdjoAACAFQY8JaiCPBUEQdjoAACAFQYcJai\ +CQBUEQdjoAACAFQf8IaiCRBUEQdjoAACAFQfcIaiCSBUEQdjoAACAFQe8IaiCTBUEQdjoAACAFQecI\ +aiCUBUEQdjoAACAFQd8IaiCVBUEQdjoAACAFQdcIaiCWBUEQdjoAACAFQc8IaiCXBUEQdjoAACAFQc\ +cIaiCYBUEQdjoAACAFQb8IaiCZBUEQdjoAACAFQbcIaiCaBUEQdjoAACAFQa8IaiCbBUEQdjoAACAF\ +QacIaiCcBUEQdjoAACAFQZ8IaiCdBUEQdjoAACAFQZcIaiCeBUEQdjoAACAFQY8IaiCfBUEQdjoAAC\ +AFQYcIaiCgBUEQdjoAACAFQf8HaiChBUEQdjoAACAFQfcHaiCiBUEQdjoAACAFQe8HaiCjBUEQdjoA\ +ACAFQecHaiCkBUEQdjoAACAFQd8HaiClBUEQdjoAACAFQdcHaiCmBUEQdjoAACAFQc8HaiCnBUEQdj\ +oAACAFQccHaiCoBUEQdjoAACAFQb8HaiCpBUEQdjoAACAFQbcHaiCqBUEQdjoAACAFQa8HaiCrBUEQ\ +djoAACAFQacHaiCsBUEQdjoAACAFQZ8HaiCtBUEQdjoAACAFQZcHaiCuBUEQdjoAACAFQY8HaiCvBU\ +EQdjoAACAFQYcHaiCwBUEQdjoAACAFQf8GaiCxBUEQdjoAACAFQfcGaiCyBUEQdjoAACAFQe8GaiCz\ +BUEQdjoAACAFQecGaiC0BUEQdjoAACAFQd8GaiC1BUEQdjoAACAFQdcGaiC2BUEQdjoAACAFQc8Gai\ +C3BUEQdjoAACAFQccGaiC4BUEQdjoAACAFQb8GaiC5BUEQdjoAACAFQbcGaiC6BUEQdjoAACAFQa8G\ +aiC7BUEQdjoAACAFQacGaiC8BUEQdjoAACAFQZ8GaiC9BUEQdjoAACAFQZcGaiC+BUEQdjoAACAFQY\ +8GaiC/BUEQdjoAACAFQYcGaiDABUEQdjoAACAFQf8FaiDBBUEQdjoAACAFQfcFaiDCBUEQdjoAACAF\ +Qe8FaiDDBUEQdjoAACAFQecFaiDEBUEQdjoAACAFQd8FaiDFBUEQdjoAACAFQdcFaiDGBUEQdjoAAC\ +AFQc8FaiDHBUEQdjoAACAFQccFaiDIBUEQdjoAACAFQb8FaiDJBUEQdjoAACAFQbcFaiDKBUEQdjoA\ +ACAFQa8FaiDLBUEQdjoAACAFQacFaiDMBUEQdjoAACAFQZ8FaiDNBUEQdjoAACAFQZcFakEAOgAAIA\ +VBjwVqIKMDQRB2OgAAIAVBhwVqIKIDQRB2OgAAIAVB/wRqIKEDQRB2OgAAIAVB9wRqIKADQRB2OgAA\ +IAVB7wRqIJ8DQRB2OgAAIAVB5wRqIJ4DQRB2OgAAIAVB3wRqIJ0DQRB2OgAAIAVB1wRqIJwDQRB2Og\ +AAIAVBzwRqIJsDQRB2OgAAIAVBxwRqIJoDQRB2OgAAIAVBvwRqIJkDQRB2OgAAIAVBtwRqIJgDQRB2\ +OgAAIAVBrwRqIJcDQRB2OgAAIAVBpwRqIJYDQRB2OgAAIAVBnwRqIJUDQRB2OgAAIAVBlwRqIJQDQR\ +B2OgAAIAVBjwRqIJMDQRB2OgAAIAVBhwRqIJIDQRB2OgAAIAVB/wNqIJEDQRB2OgAAIAVB9wNqIJAD\ +QRB2OgAAIAVB7wNqII8DQRB2OgAAIAVB5wNqII4DQRB2OgAAIAVB3wNqII0DQRB2OgAAIAVB1wNqII\ +wDQRB2OgAAIAVBzwNqIIsDQRB2OgAAIAVBxwNqIIoDQRB2OgAAIAVBvwNqINgCQRB2OgAAIAVBtwNq\ +INcCQRB2OgAAIAVBrwNqINYCQRB2OgAAIAVBpwNqINUCQRB2OgAAIAVBnwNqINQCQRB2OgAAIAVBlw\ +NqINMCQRB2OgAAIAVBjwNqINICQRB2OgAAIAVBhwNqINECQRB2OgAAIAVB/wJqINACQRB2OgAAIAVB\ +9wJqIM8CQRB2OgAAIAVB7wJqIM4CQRB2OgAAIAVB5wJqIM0CQRB2OgAAIAVB3wJqIMwCQRB2OgAAIA\ +VB1wJqIMsCQRB2OgAAIAVBzwJqIMoCQRB2OgAAIAVBxwJqIMkCQRB2OgAAIAVBvwJqIMgCQRB2OgAA\ +IAVBtwJqIMcCQRB2OgAAIAVBrwJqIMYCQRB2OgAAIAVBpwJqIMUCQRB2OgAAIAVBnwJqIMQCQRB2Og\ +AAIAVBlwJqIMMCQRB2OgAAIAVBjwJqIMICQRB2OgAAIAVBhwJqIMECQRB2OgAAIAVB/wFqIMACQRB2\ +OgAAIAVB9wFqIL8CQRB2OgAAIAVB7wFqIL4CQRB2OgAAIAVB5wFqIL0CQRB2OgAAIAVB3wFqILwCQR\ +B2OgAAIAVB1wFqILsCQRB2OgAAIAVBzwFqILoCQRB2OgAAIAVBxwFqILkCQRB2OgAAIAVBvwFqILgC\ +QRB2OgAAIAVBtwFqILcCQRB2OgAAIAVBrwFqILYCQRB2OgAAIAVBpwFqILUCQRB2OgAAIAVBnwFqIL\ +QCQRB2OgAAIAVBlwFqILMCQRB2OgAAIAVBjwFqILICQRB2OgAAIAVBhwFqILECQRB2OgAAIAVB/wBq\ +ILACQRB2OgAAIAVB9wBqIK8CQRB2OgAAIAVB7wBqIK4CQRB2OgAAIAVB5wBqIK0CQRB2OgAAIAVB3w\ +BqIN0CQRB2OgAAIAVB1wBqIAtBEHY6AAAgBUHPAGogDEEQdjoAACAFQccAaiAYQRB2OgAAIAVBP2og\ +DkEQdjoAACAAQez1xwA2AgggACAFNgIEIABBAjYCAAwICyABLQBERQ0DIAUtABxBAXENA0ICIc8FAk\ +AgzgVCAlINAEEAIesCILEEIdsCILAEIewCIN0CIQhBACEJIBYh7gIgTCHdAiBNIbEEIE4hTCBPIU0g\ +UCFOIFEhTyBSIVAgUyFRIFQhUiBVIVMgViFUIFchVSBYIVYgWSFXIFohWCBbIVkgXCFaIF0hWyBeIV\ +wgXyFdIGAhXiBhIV8gYiFgIGMhYSBkIWIgZSFjIGYhZCBnIWUgaCFmIIkCIWcgigIhaCCLAiGJAiCM\ +AiGKAiCNAiGLAiCOAiGMAiCPAiGNAiCQAiGOAiCRAiGPAiCSAiGQAiCTAiGRAiCUAiGSAiCVAiGTAi\ +DlAiGUAiCWAiGVAiCXAiGWAiAQIekCIDUhSyCYAiGXAiAVIRAgNiE1IJkCIZgCIBEhFSA3ITYgmgIh\ +mQIgFCERIDghNyCbAiGaAiATIRQgOSE4IJwCIZsCICMhEyA6ITkgnQIhnAIgJCEjIDshOiCeAiGdAi\ +AnISQgPCE7IJ8CIZ4CICghJyA9ITwgoAIhnwIgKSEoID4hPSChAiGgAiAqISkgPyE+IKICIaECICsh\ +KiBAIT8gowIhogIgLCErIEEhQCCkAiGjAiAtISwgQiFBIKUCIaQCIC4hLSBDIUIgpgIhpQIgLyEuIE\ +QhQyCnAiGmAiASIS8gRSFEIKgCIacCIDAhEiBGIUUgqQIhqAIgMSEwIEchRiCqAiGpAiAyITEgSCFH\ +IKsCIaoCIDMhMiBJIUggrAIhqwIgNCEzIEohSSDmAiGsAiDcAiE0IOcCIUpBACHqAiAlIe0CDAULIN\ +4CQQFxDQMgAS0AQiEJIARBAToA4BggBELkgICAoB83AtgYIARCioCAgKABNwLQGCAEQQA2AuAHIARC\ +gICAgMAANwLYByADQQJ0IQUgAiEIA0ACQCAFDQACQAJAIAlB/wFxQQJGDQAgCUEBcQ0AIARB2AdqEN\ +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\ +IAQgBCkD4CE3AbonQYjBxwAh2wIgBEGoJ2oQvA4hSwsgBC0ArR8hBSAEQdgHahDvDwwCCyAELQDlGC\ +EFIAQtAOQYIQggBCgC4Bgh2wIgBCgC3BghSyAEKALYGCHoAiAEQdgHahDvDwsg6AJBA0YNACAEQQM6\ +APkGDAILIAQgCDoA+AYgBCDbAjYC9AYgBCBLNgLwBiAEIAQvAZAqOwH6BiAEIAU6APkGIAVB/wFxQQ\ +NGDQEgBEHUEmogBEH4BmooAgA2AgAgBCAEKQLwBjcCzBIgBEGGgICAeDYCyBILIARByAZqIARByBJq\ +IAkQ3QIgBC0A1AZBAkYNAiAEQeAMakEIaiAEQcgGakEIaikCADcDACAEIAQpAsgGNwPgDAJAIAQtAO\ +wMDQAgBEHgDGoQjxQMAwsg3wJBCHYh6QIgBC8A5QwgBC0A5wxBEHRyIegCILIErUIghiAmrYQhzwUg\ +BCkD6Awh0AUgBC0A5Awh6gIgBCgC4Awh7QIgBEG4BmoQ2hcg3wIhSyCvBCHbAiCuBCHsAiCtAiEIIK\ +0EIa8EIKwEIa4EIK4CIa0CIKsEIa0EIKoEIawEIK8CIa4CIKkEIasEIKgEIaoEILACIa8CIKcEIakE\ +IKYEIagEILECIbACIKUEIacEIKQEIaYEILICIbECIKMEIaUEIKIEIaQEILMCIbICIKEEIaMEIKAEIa\ +IEILQCIbMCIJ8EIaEEIJ4EIaAEILUCIbQCIJ0EIZ8EIJwEIZ4EILYCIbUCIJsEIZ0EIJoEIZwEILcC\ +IbYCIJkEIZsEIJgEIZoEILgCIbcCIJcEIZkEIJYEIZgEILkCIbgCIJUEIZcEIJQEIZYEILoCIbkCIJ\ +MEIZUEIJIEIZQEILsCIboCIJEEIZMEIJAEIZIEILwCIbsCII8EIZEEII4EIZAEIL0CIbwCII0EIY8E\ +IIwEIY4EIL4CIb0CIIsEIY0EIIoEIYwEIL8CIb4CIIkEIYsEIIgEIYoEIMACIb8CIIcEIYkEIIYEIY\ +gEIMECIcACIIUEIYcEIIQEIYYEIMICIcECIIMEIYUEIIIEIYQEIMMCIcICIIEEIYMEIIAEIYIEIMQC\ +IcMCIP8DIYEEIP4DIYAEIMUCIcQCIP0DIf8DIPwDIf4DIMYCIcUCIPsDIf0DIPoDIfwDIMcCIcYCIP\ +kDIfsDIPgDIfoDIMgCIccCIPcDIfkDIPYDIfgDIMkCIcgCIPUDIfcDIPQDIfYDIMoCIckCIPMDIfUD\ +IPIDIfQDIMsCIcoCIPEDIfMDIPADIfIDIMwCIcsCIO8DIfEDIO4DIfADIM0CIcwCIO0DIe8DIOwDIe\ +4DIM4CIc0CIOsDIe0DIOoDIewDIM8CIc4CIOkDIesDIOgDIeoDINACIc8CIOcDIekDIOYDIegDINEC\ +IdACIOUDIecDIOQDIeYDINICIdECIOMDIeUDIOIDIeQDINMCIdICIOEDIeMDIOADIeIDINQCIdMCIN\ +8DIeEDIN4DIeADINUCIdQCIN0DId8DINwDId4DINYCIdUCINsDId0DINoDIdwDINcCIdYCINkDIdsD\ +INgDIdoDINgCIdcCINcDIdkDINYDIdgDIIoDIdgCINUDIdcDINQDIdYDIIsDIYoDINMDIdUDINIDId\ +QDIIwDIYsDINEDIdMDINADIdIDII0DIYwDIM8DIdEDIM4DIdADII4DIY0DIM0DIc8DIMwDIc4DII8D\ +IY4DIMsDIc0DIMoDIcwDIJADIY8DIMkDIcsDIMgDIcoDIJEDIZADIMcDIckDIMYDIcgDIJIDIZEDIM\ +UDIccDIMQDIcYDIJMDIZIDIMMDIcUDIMIDIcQDIJQDIZMDIMEDIcMDIMADIcIDIJUDIZQDIL8DIcED\ +IL4DIcADIJYDIZUDIL0DIb8DILwDIb4DIJcDIZYDILsDIb0DILoDIbwDIJgDIZcDILkDIbsDILgDIb\ +oDIJkDIZgDILcDIbkDILYDIbgDIJoDIZkDILUDIbcDILQDIbYDIJsDIZoDILMDIbUDILIDIbQDIJwD\ +IZsDILEDIbMDILADIbIDIJ0DIZwDIK8DIbEDIK4DIbADIJ4DIZ0DIK0DIa8DIKwDIa4DIJ8DIZ4DIK\ +sDIa0DIKoDIawDIKADIZ8DIKkDIasDIKgDIaoDIKEDIaADIKcDIakDIKYDIagDIKIDIaEDIKUDIacD\ +IKQDIaYDIKMDIaIDIOACIaUDQQAhpANBACGjAyCIAiHgAiCHAiHrAiDNBSEJIIYCIYgCIIUCIYcCIM\ +wFIc0FIIQCIYYCIIMCIYUCIMsFIcwFIIICIYQCIIECIYMCIMoFIcsFIIACIYICIP8BIYECIMkFIcoF\ +IP4BIYACIP0BIf8BIMgFIckFIPwBIf4BIPsBIf0BIMcFIcgFIPoBIfwBIPkBIfsBIMYFIccFIPgBIf\ +oBIPcBIfkBIMUFIcYFIPYBIfgBIPUBIfcBIMQFIcUFIPQBIfYBIPMBIfUBIMMFIcQFIPIBIfQBIPEB\ +IfMBIMIFIcMFIPABIfIBIO8BIfEBIMEFIcIFIO4BIfABIO0BIe8BIMAFIcEFIOwBIe4BIOsBIe0BIL\ +8FIcAFIOoBIewBIOkBIesBIL4FIb8FIOgBIeoBIOcBIekBIL0FIb4FIOYBIegBIOUBIecBILwFIb0F\ +IOQBIeYBIOMBIeUBILsFIbwFIOIBIeQBIOEBIeMBILoFIbsFIOABIeIBIN8BIeEBILkFIboFIN4BIe\ +ABIN0BId8BILgFIbkFINwBId4BINsBId0BILcFIbgFINoBIdwBINkBIdsBILYFIbcFINgBIdoBINcB\ +IdkBILUFIbYFINYBIdgBINUBIdcBILQFIbUFINQBIdYBINMBIdUBILMFIbQFINIBIdQBINEBIdMBIL\ +IFIbMFINABIdIBIM8BIdEBILEFIbIFIM4BIdABIM0BIc8BILAFIbEFIMwBIc4BIMsBIc0BIK8FIbAF\ +IMoBIcwBIMkBIcsBIK4FIa8FIMgBIcoBIMcBIckBIK0FIa4FIMYBIcgBIMUBIccBIKwFIa0FIMQBIc\ +YBIMMBIcUBIKsFIawFIMIBIcQBIMEBIcMBIKoFIasFIMABIcIBIL8BIcEBIKkFIaoFIL4BIcABIL0B\ +Ib8BIKgFIakFILwBIb4BILsBIb0BIKcFIagFILoBIbwBILkBIbsBIKYFIacFILgBIboBILcBIbkBIK\ +UFIaYFILYBIbgBILUBIbcBIKQFIaUFILQBIbYBILMBIbUBIKMFIaQFILIBIbQBILEBIbMBIKIFIaMF\ +ILABIbIBIK8BIbEBIKEFIaIFIK4BIbABIK0BIa8BIKAFIaEFIKwBIa4BIKsBIa0BIJ8FIaAFIKoBIa\ +wBIKkBIasBIJ4FIZ8FIKgBIaoBIKcBIakBIJ0FIZ4FIKYBIagBIKUBIacBIJwFIZ0FIKQBIaYBIKMB\ +IaUBIJsFIZwFIKIBIaQBIKEBIaMBIJoFIZsFIKABIaIBIJ8BIaEBIJkFIZoFIJ4BIaABIJ0BIZ8BIJ\ +gFIZkFIJwBIZ4BIJsBIZ0BIJcFIZgFIJoBIZwBIJkBIZsBIJYFIZcFIJgBIZoBIJcBIZkBIJUFIZYF\ +IJYBIZgBIJUBIZcBIJQFIZUFIJQBIZYBIJMBIZUBIJMFIZQFIJIBIZQBIJEBIZMBIJIFIZMFIJABIZ\ +IBII8BIZEBIJEFIZIFII4BIZABII0BIY8BIJAFIZEFIIwBIY4BIIsBIY0BII8FIZAFIIoBIYwBIIkB\ +IYsBII4FIY8FIIgBIYoBIIcBIYkBII0FIY4FIIYBIYgBIIUBIYcBIIwFIY0FIIQBIYYBIIMBIYUBII\ +sFIYwFIIIBIYQBIIEBIYMBIIoFIYsFIIABIYIBIH8hgQEgiQUhigUgfiGAASB9IX8giAUhiQUgfCF+\ +IHshfSCHBSGIBSB6IXwgeSF7IIYFIYcFIHgheiB3IXkghQUhhgUgdiF4IHUhdyCEBSGFBSB0IXYgcy\ +F1IIMFIYQFIHIhdCBxIXMgggUhgwUgcCFyIG8hcSCBBSGCBSBuIXAgbSFvIIAFIYEFIGwhbiBrIW0g\ +/wQhgAUgaiFsIGkhayD+BCH/BCDkAiFqIOMCIWkg2gIh/gQg4gIh5AIg3gIh4wIg2QIh2gIg4QIh4g\ +IgGSGyBCAGIe4CIAohGSANIQYgFyEKIA8hDSAiIRcgISEPIA5BCHQgIEH/AXFyISIgHyEhIB4hICAY\ +IQ4gHSEfIBwhHiAMIRggGyEdIBohHCALIQwgsQQhGyCwBCEaIN0CIQsgByHdAiABIbEEIOUCId8CIO\ +YCIeECINwCIdkCQQAhByAlIQEg5wIh3gIgFiEmDAULIARB8AZqEN8XCyAEQQI6ANQGCyAEQbgGahDa\ +FwtBACHrAiCxBCHbAiCwBCHsAiDdAiEIQQAhCSAWIe4CIEwh3QIgTSGxBCBOIUwgTyFNIFAhTiBRIU\ +8gUiFQIFMhUSBUIVIgVSFTIFYhVCBXIVUgWCFWIFkhVyBaIVggWyFZIFwhWiBdIVsgXiFcIF8hXSBg\ +IV4gYSFfIGIhYCBjIWEgZCFiIGUhYyBmIWQgZyFlIGghZiCJAiFnIIoCIWggiwIhiQIgjAIhigIgjQ\ +IhiwIgjgIhjAIgjwIhjQIgkAIhjgIgkQIhjwIgkgIhkAIgkwIhkQIglAIhkgIglQIhkwIg5QIhlAIg\ +lgIhlQIglwIhlgIgECHpAiA1IUsgmAIhlwIgFSEQIDYhNSCZAiGYAiARIRUgNyE2IJoCIZkCIBQhES\ +A4ITcgmwIhmgIgEyEUIDkhOCCcAiGbAiAjIRMgOiE5IJ0CIZwCICQhIyA7ITogngIhnQIgJyEkIDwh\ +OyCfAiGeAiAoIScgPSE8IKACIZ8CICkhKCA+IT0goQIhoAIgKiEpID8hPiCiAiGhAiArISogQCE/IK\ +MCIaICICwhKyBBIUAgpAIhowIgLSEsIEIhQSClAiGkAiAuIS0gQyFCIKYCIaUCIC8hLiBEIUMgpwIh\ +pgIgEiEvIEUhRCCoAiGnAiAwIRIgRiFFIKkCIagCIDEhMCBHIUYgqgIhqQIgMiExIEghRyCrAiGqAi\ +AzITIgSSFIIKwCIasCIDQhMyBKIUkg5gIhrAIg3AIhNCDnAiFKQQAh6gIgJSHtAiDOBSHPBQtCAyHO\ +BQsCQCDOBUIDUQ0AIARBGGpBCEG4DRDmEyAEKAIYIgVFDQEgBSDoAjsArQ0gBSDpAjsA5QsgBSAQOw\ +DdCyAFIBU7ANULIAUgETsAzQsgBSAUOwDFCyAFIBM7AL0LIAUgIzsAtQsgBSAkOwCtCyAFICc7AKUL\ +IAUgKDsAnQsgBSApOwCVCyAFICo7AI0LIAUgKzsAhQsgBSAsOwD9CiAFIC07APUKIAUgLjsA7QogBS\ +AvOwDlCiAFIBI7AN0KIAUgMDsA1QogBSAxOwDNCiAFIDI7AMUKIAUgMzsAvQogBSA0OwC1CiAFINkC\ +OwCtCiAFINoCOwClCiAFIP4EOwCdCiAFIP8EOwCVCiAFIIAFOwCNCiAFIIEFOwCFCiAFIIIFOwD9CS\ +AFIIMFOwD1CSAFIIQFOwDtCSAFIIUFOwDlCSAFIIYFOwDdCSAFIIcFOwDVCSAFIIgFOwDNCSAFIIkF\ +OwDFCSAFIIoFOwC9CSAFIIsFOwC1CSAFIIwFOwCtCSAFII0FOwClCSAFII4FOwCdCSAFII8FOwCVCS\ +AFIJAFOwCNCSAFIJEFOwCFCSAFIJIFOwD9CCAFIJMFOwD1CCAFIJQFOwDtCCAFIJUFOwDlCCAFIJYF\ +OwDdCCAFIJcFOwDVCCAFIJgFOwDNCCAFIJkFOwDFCCAFIJoFOwC9CCAFIJsFOwC1CCAFIJwFOwCtCC\ +AFIJ0FOwClCCAFIJ4FOwCdCCAFIJ8FOwCVCCAFIKAFOwCNCCAFIKEFOwCFCCAFIKIFOwD9ByAFIKMF\ +OwD1ByAFIKQFOwDtByAFIKUFOwDlByAFIKYFOwDdByAFIKcFOwDVByAFIKgFOwDNByAFIKkFOwDFBy\ +AFIKoFOwC9ByAFIKsFOwC1ByAFIKwFOwCtByAFIK0FOwClByAFIK4FOwCdByAFIK8FOwCVByAFILAF\ +OwCNByAFILEFOwCFByAFILIFOwD9BiAFILMFOwD1BiAFILQFOwDtBiAFILUFOwDlBiAFILYFOwDdBi\ +AFILcFOwDVBiAFILgFOwDNBiAFILkFOwDFBiAFILoFOwC9BiAFILsFOwC1BiAFILwFOwCtBiAFIL0F\ +OwClBiAFIL4FOwCdBiAFIL8FOwCVBiAFIMAFOwCNBiAFIMEFOwCFBiAFIMIFOwD9BSAFIMMFOwD1BS\ +AFIMQFOwDtBSAFIMUFOwDlBSAFIMYFOwDdBSAFIMcFOwDVBSAFIMgFOwDNBSAFIMkFOwDFBSAFIMoF\ +OwC9BSAFIMsFOwC1BSAFIMwFOwCtBSAFIM0FOwClBSAFIAk7AJ0FIAUgowM7AJUFIAUgogM7AI0FIA\ +UgoQM7AIUFIAUgoAM7AP0EIAUgnwM7APUEIAUgngM7AO0EIAUgnQM7AOUEIAUgnAM7AN0EIAUgmwM7\ +ANUEIAUgmgM7AM0EIAUgmQM7AMUEIAUgmAM7AL0EIAUglwM7ALUEIAUglgM7AK0EIAUglQM7AKUEIA\ +UglAM7AJ0EIAUgkwM7AJUEIAUgkgM7AI0EIAUgkQM7AIUEIAUgkAM7AP0DIAUgjwM7APUDIAUgjgM7\ +AO0DIAUgjQM7AOUDIAUgjAM7AN0DIAUgiwM7ANUDIAUgigM7AM0DIAUg2AI7AMUDIAUg1wI7AL0DIA\ +Ug1gI7ALUDIAUg1QI7AK0DIAUg1AI7AKUDIAUg0wI7AJ0DIAUg0gI7AJUDIAUg0QI7AI0DIAUg0AI7\ +AIUDIAUgzwI7AP0CIAUgzgI7APUCIAUgzQI7AO0CIAUgzAI7AOUCIAUgywI7AN0CIAUgygI7ANUCIA\ +UgyQI7AM0CIAUgyAI7AMUCIAUgxwI7AL0CIAUgxgI7ALUCIAUgxQI7AK0CIAUgxAI7AKUCIAUgwwI7\ +AJ0CIAUgwgI7AJUCIAUgwQI7AI0CIAUgwAI7AIUCIAUgvwI7AP0BIAUgvgI7APUBIAUgvQI7AO0BIA\ +UgvAI7AOUBIAUguwI7AN0BIAUgugI7ANUBIAUguQI7AM0BIAUguAI7AMUBIAUgtwI7AL0BIAUgtgI7\ +ALUBIAUgtQI7AK0BIAUgtAI7AKUBIAUgswI7AJ0BIAUgsgI7AJUBIAUgsQI7AI0BIAUgsAI7AIUBIA\ +UgrwI7AH0gBSCuAjsAdSAFIK0COwBtIAUgCDsAZSAFIAs7AF0gBSAMOwBVIAUgGDsATSAFIA47AEUg\ +BSDQBTcDsA0gBSDqAjoArA0gBSDtAjYCqA0gBSAHNgKkDSAFIAE2AqANIAUg3QI2AJwNIAUgsQQ2AJ\ +gNIAUgTDYAlA0gBSBNNgCQDSAFIE42AIwNIAUgTzYAiA0gBSBQNgCEDSAFIFE2AIANIAUgUjYA/Awg\ +BSBTNgD4DCAFIFQ2APQMIAUgVTYA8AwgBSBWNgDsDCAFIFc2AOgMIAUgWDYA5AwgBSBZNgDgDCAFIF\ +o2ANwMIAUgWzYA2AwgBSBcNgDUDCAFIF02ANAMIAUgXjYAzAwgBSBfNgDIDCAFIGA2AMQMIAUgYTYA\ +wAwgBSBiNgC8DCAFIGM2ALgMIAUgZDYAtAwgBSBlNgCwDCAFIGY2AKwMIAUgZzYAqAwgBSBoNgCkDC\ +AFIIkCNgCgDCAFIIoCNgCcDCAFIIsCNgCYDCAFIIwCNgCUDCAFII0CNgCQDCAFII4CNgCMDCAFII8C\ +NgCIDCAFIJACNgCEDCAFIJECNgCADCAFIJICNgD8CyAFIJMCNgD4CyAFIJQCNgD0CyAFIJUCNgDwCy\ +AFIN8CNgDsCyAFIJYCNgDoCyAFIEs6AOQLIAUglwI2AOALIAUgNToA3AsgBSCYAjYA2AsgBSA2OgDU\ +CyAFIJkCNgDQCyAFIDc6AMwLIAUgmgI2AMgLIAUgODoAxAsgBSCbAjYAwAsgBSA5OgC8CyAFIJwCNg\ +C4CyAFIDo6ALQLIAUgnQI2ALALIAUgOzoArAsgBSCeAjYAqAsgBSA8OgCkCyAFIJ8CNgCgCyAFID06\ +AJwLIAUgoAI2AJgLIAUgPjoAlAsgBSChAjYAkAsgBSA/OgCMCyAFIKICNgCICyAFIEA6AIQLIAUgow\ +I2AIALIAUgQToA/AogBSCkAjYA+AogBSBCOgD0CiAFIKUCNgDwCiAFIEM6AOwKIAUgpgI2AOgKIAUg\ +RDoA5AogBSCnAjYA4AogBSBFOgDcCiAFIKgCNgDYCiAFIEY6ANQKIAUgqQI2ANAKIAUgRzoAzAogBS\ +CqAjYAyAogBSBIOgDECiAFIKsCNgDACiAFIEk6ALwKIAUgrAI2ALgKIAUgSjoAtAogBSDhAjYAsAog\ +BSDeAjoArAogBSDiAjYCqAogBSDjAjoApAogBSDkAjYCoAogBSBpOgCcCiAFIGo2ApgKIAUgazoAlA\ +ogBSBsNgKQCiAFIG06AIwKIAUgbjYCiAogBSBvOgCECiAFIHA2AoAKIAUgcToA/AkgBSByNgL4CSAF\ +IHM6APQJIAUgdDYC8AkgBSB1OgDsCSAFIHY2AugJIAUgdzoA5AkgBSB4NgLgCSAFIHk6ANwJIAUgej\ +YC2AkgBSB7OgDUCSAFIHw2AtAJIAUgfToAzAkgBSB+NgLICSAFIH86AMQJIAUggAE2AsAJIAUggQE6\ +ALwJIAUgggE2ArgJIAUggwE6ALQJIAUghAE2ArAJIAUghQE6AKwJIAUghgE2AqgJIAUghwE6AKQJIA\ +UgiAE2AqAJIAUgiQE6AJwJIAUgigE2ApgJIAUgiwE6AJQJIAUgjAE2ApAJIAUgjQE6AIwJIAUgjgE2\ +AogJIAUgjwE6AIQJIAUgkAE2AoAJIAUgkQE6APwIIAUgkgE2AvgIIAUgkwE6APQIIAUglAE2AvAIIA\ +UglQE6AOwIIAUglgE2AugIIAUglwE6AOQIIAUgmAE2AuAIIAUgmQE6ANwIIAUgmgE2AtgIIAUgmwE6\ +ANQIIAUgnAE2AtAIIAUgnQE6AMwIIAUgngE2AsgIIAUgnwE6AMQIIAUgoAE2AsAIIAUgoQE6ALwIIA\ +UgogE2ArgIIAUgowE6ALQIIAUgpAE2ArAIIAUgpQE6AKwIIAUgpgE2AqgIIAUgpwE6AKQIIAUgqAE2\ +AqAIIAUgqQE6AJwIIAUgqgE2ApgIIAUgqwE6AJQIIAUgrAE2ApAIIAUgrQE6AIwIIAUgrgE2AogIIA\ +UgrwE6AIQIIAUgsAE2AoAIIAUgsQE6APwHIAUgsgE2AvgHIAUgswE6APQHIAUgtAE2AvAHIAUgtQE6\ +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\ +VBEHY6AAAgBUH3CWoggwVBEHY6AAAgBUHvCWoghAVBEHY6AAAgBUHnCWoghQVBEHY6AAAgBUHfCWog\ +hgVBEHY6AAAgBUHXCWoghwVBEHY6AAAgBUHPCWogiAVBEHY6AAAgBUHHCWogiQVBEHY6AAAgBUG/CW\ +ogigVBEHY6AAAgBUG3CWogiwVBEHY6AAAgBUGvCWogjAVBEHY6AAAgBUGnCWogjQVBEHY6AAAgBUGf\ +CWogjgVBEHY6AAAgBUGXCWogjwVBEHY6AAAgBUGPCWogkAVBEHY6AAAgBUGHCWogkQVBEHY6AAAgBU\ +H/CGogkgVBEHY6AAAgBUH3CGogkwVBEHY6AAAgBUHvCGoglAVBEHY6AAAgBUHnCGoglQVBEHY6AAAg\ +BUHfCGoglgVBEHY6AAAgBUHXCGoglwVBEHY6AAAgBUHPCGogmAVBEHY6AAAgBUHHCGogmQVBEHY6AA\ +AgBUG/CGogmgVBEHY6AAAgBUG3CGogmwVBEHY6AAAgBUGvCGognAVBEHY6AAAgBUGnCGognQVBEHY6\ +AAAgBUGfCGogngVBEHY6AAAgBUGXCGognwVBEHY6AAAgBUGPCGogoAVBEHY6AAAgBUGHCGogoQVBEH\ +Y6AAAgBUH/B2ogogVBEHY6AAAgBUH3B2ogowVBEHY6AAAgBUHvB2ogpAVBEHY6AAAgBUHnB2ogpQVB\ +EHY6AAAgBUHfB2ogpgVBEHY6AAAgBUHXB2ogpwVBEHY6AAAgBUHPB2ogqAVBEHY6AAAgBUHHB2ogqQ\ +VBEHY6AAAgBUG/B2ogqgVBEHY6AAAgBUG3B2ogqwVBEHY6AAAgBUGvB2ogrAVBEHY6AAAgBUGnB2og\ +rQVBEHY6AAAgBUGfB2ogrgVBEHY6AAAgBUGXB2ogrwVBEHY6AAAgBUGPB2ogsAVBEHY6AAAgBUGHB2\ +ogsQVBEHY6AAAgBUH/BmogsgVBEHY6AAAgBUH3BmogswVBEHY6AAAgBUHvBmogtAVBEHY6AAAgBUHn\ +BmogtQVBEHY6AAAgBUHfBmogtgVBEHY6AAAgBUHXBmogtwVBEHY6AAAgBUHPBmoguAVBEHY6AAAgBU\ +HHBmoguQVBEHY6AAAgBUG/BmogugVBEHY6AAAgBUG3BmoguwVBEHY6AAAgBUGvBmogvAVBEHY6AAAg\ +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\ +BEHIEmoQ7RAgBEHIEmogBEHYB2oQjwMhBSDvAiDvAigCACICQQFqNgIAIAJBf0wNBiAEQdAYaiAFIO\ +8CELYBIAUQ2BcgBEHYGGohBQJAAkAgBCkD0BgizgVCAlENACAEQcgNaiAFQYAFEJMaGgwBCyAFENwX\ +CyDOBach8AIMAgsgAyAEKALYGBCuGAALIOkCQQh0IEtB/wFxciECIM8FQiCIpyEDIARB+AxqEIUOIA\ +RB4CFqEI8UIARBqCdqEJ8YDAELIARBiB9qQQhqIARB4CFqQQhqKQMANwMAIAQgBCkD4CE3A4gfIOgC\ +QQh0IOoCQf8BcXIh5gIgIEH/AXEhBSAOQQh0IQIgBEGoJ2oQnxhBACHqAiDtAiHnAiCvBCElIAghFi\ +DsAiGwBCCtBCGvBCCtAiEIIK4EIewCIKsEIa0EIK4CIa0CIKwEIa4EIKkEIasEIK8CIa4CIKoEIawE\ +IKcEIakEILACIa8CIKgEIaoEIKUEIacEILECIbACIKYEIagEIKMEIaUEILICIbECIKQEIaYEIKEEIa\ +MEILMCIbICIKIEIaQEIJ8EIaEEILQCIbMCIKAEIaIEIJ0EIZ8EILUCIbQCIJ4EIaAEIJsEIZ0EILYC\ +IbUCIJwEIZ4EIJkEIZsEILcCIbYCIJoEIZwEIJcEIZkEILgCIbcCIJgEIZoEIJUEIZcEILkCIbgCIJ\ +YEIZgEIJMEIZUEILoCIbkCIJQEIZYEIJEEIZMEILsCIboCIJIEIZQEII8EIZEEILwCIbsCIJAEIZIE\ +II0EIY8EIL0CIbwCII4EIZAEIIsEIY0EIL4CIb0CIIwEIY4EIIkEIYsEIL8CIb4CIIoEIYwEIIcEIY\ +kEIMACIb8CIIgEIYoEIIUEIYcEIMECIcACIIYEIYgEIIMEIYUEIMICIcECIIQEIYYEIIEEIYMEIMMC\ +IcICIIIEIYQEIP8DIYEEIMQCIcMCIIAEIYIEIP0DIf8DIMUCIcQCIP4DIYAEIPsDIf0DIMYCIcUCIP\ +wDIf4DIPkDIfsDIMcCIcYCIPoDIfwDIPcDIfkDIMgCIccCIPgDIfoDIPUDIfcDIMkCIcgCIPYDIfgD\ +IPMDIfUDIMoCIckCIPQDIfYDIPEDIfMDIMsCIcoCIPIDIfQDIO8DIfEDIMwCIcsCIPADIfIDIO0DIe\ +8DIM0CIcwCIO4DIfADIOsDIe0DIM4CIc0CIOwDIe4DIOkDIesDIM8CIc4CIOoDIewDIOcDIekDINAC\ +Ic8CIOgDIeoDIOUDIecDINECIdACIOYDIegDIOMDIeUDINICIdECIOQDIeYDIOEDIeMDINMCIdICIO\ +IDIeQDIN8DIeEDINQCIdMCIOADIeIDIN0DId8DINUCIdQCIN4DIeADINsDId0DINYCIdUCINwDId4D\ +INkDIdsDINcCIdYCINoDIdwDINcDIdkDINgCIdcCINgDIdoDINUDIdcDIIoDIdgCINYDIdgDINMDId\ +UDIIsDIYoDINQDIdYDINEDIdMDIIwDIYsDINIDIdQDIM8DIdEDII0DIYwDINADIdIDIM0DIc8DII4D\ +IY0DIM4DIdADIMsDIc0DII8DIY4DIMwDIc4DIMkDIcsDIJADIY8DIMoDIcwDIMcDIckDIJEDIZADIM\ +gDIcoDIMUDIccDIJIDIZEDIMYDIcgDIMMDIcUDIJMDIZIDIMQDIcYDIMEDIcMDIJQDIZMDIMIDIcQD\ +IL8DIcEDIJUDIZQDIMADIcIDIL0DIb8DIJYDIZUDIL4DIcADILsDIb0DIJcDIZYDILwDIb4DILkDIb\ +sDIJgDIZcDILoDIbwDILcDIbkDIJkDIZgDILgDIboDILUDIbcDIJoDIZkDILYDIbgDILMDIbUDIJsD\ +IZoDILQDIbYDILEDIbMDIJwDIZsDILIDIbQDIK8DIbEDIJ0DIZwDILADIbIDIK0DIa8DIJ4DIZ0DIK\ +4DIbADIKsDIa0DIJ8DIZ4DIKwDIa4DIKkDIasDIKADIZ8DIKoDIawDIKcDIakDIKEDIaADIKgDIaoD\ +IKUDIacDIKIDIaEDIKYDIagDIOACIaUDIKMDIaIDIKQDIaYDIIgCIeACIAkhowMg6wIhpAMghgIhiA\ +IgzQUhCSCHAiHrAiCEAiGGAiDMBSHNBSCFAiGHAiCCAiGEAiDLBSHMBSCDAiGFAiCAAiGCAiDKBSHL\ +BSCBAiGDAiD+ASGAAiDJBSHKBSD/ASGBAiD8ASH+ASDIBSHJBSD9ASH/ASD6ASH8ASDHBSHIBSD7AS\ +H9ASD4ASH6ASDGBSHHBSD5ASH7ASD2ASH4ASDFBSHGBSD3ASH5ASD0ASH2ASDEBSHFBSD1ASH3ASDy\ +ASH0ASDDBSHEBSDzASH1ASDwASHyASDCBSHDBSDxASHzASDuASHwASDBBSHCBSDvASHxASDsASHuAS\ +DABSHBBSDtASHvASDqASHsASC/BSHABSDrASHtASDoASHqASC+BSG/BSDpASHrASDmASHoASC9BSG+\ +BSDnASHpASDkASHmASC8BSG9BSDlASHnASDiASHkASC7BSG8BSDjASHlASDgASHiASC6BSG7BSDhAS\ +HjASDeASHgASC5BSG6BSDfASHhASDcASHeASC4BSG5BSDdASHfASDaASHcASC3BSG4BSDbASHdASDY\ +ASHaASC2BSG3BSDZASHbASDWASHYASC1BSG2BSDXASHZASDUASHWASC0BSG1BSDVASHXASDSASHUAS\ +CzBSG0BSDTASHVASDQASHSASCyBSGzBSDRASHTASDOASHQASCxBSGyBSDPASHRASDMASHOASCwBSGx\ +BSDNASHPASDKASHMASCvBSGwBSDLASHNASDIASHKASCuBSGvBSDJASHLASDGASHIASCtBSGuBSDHAS\ +HJASDEASHGASCsBSGtBSDFASHHASDCASHEASCrBSGsBSDDASHFASDAASHCASCqBSGrBSDBASHDASC+\ +ASHAASCpBSGqBSC/ASHBASC8ASG+ASCoBSGpBSC9ASG/ASC6ASG8ASCnBSGoBSC7ASG9ASC4ASG6AS\ +CmBSGnBSC5ASG7ASC2ASG4ASClBSGmBSC3ASG5ASC0ASG2ASCkBSGlBSC1ASG3ASCyASG0ASCjBSGk\ +BSCzASG1ASCwASGyASCiBSGjBSCxASGzASCuASGwASChBSGiBSCvASGxASCsASGuASCgBSGhBSCtAS\ +GvASCqASGsASCfBSGgBSCrASGtASCoASGqASCeBSGfBSCpASGrASCmASGoASCdBSGeBSCnASGpASCk\ +ASGmASCcBSGdBSClASGnASCiASGkASCbBSGcBSCjASGlASCgASGiASCaBSGbBSChASGjASCeASGgAS\ +CZBSGaBSCfASGhASCcASGeASCYBSGZBSCdASGfASCaASGcASCXBSGYBSCbASGdASCYASGaASCWBSGX\ +BSCZASGbASCWASGYASCVBSGWBSCXASGZASCUASGWASCUBSGVBSCVASGXASCSASGUASCTBSGUBSCTAS\ +GVASCQASGSASCSBSGTBSCRASGTASCOASGQASCRBSGSBSCPASGRASCMASGOASCQBSGRBSCNASGPASCK\ +ASGMASCPBSGQBSCLASGNASCIASGKASCOBSGPBSCJASGLASCGASGIASCNBSGOBSCHASGJASCEASGGAS\ +CMBSGNBSCFASGHASCCASGEASCLBSGMBSCDASGFASCAASGCASCKBSGLBSCBASGDASB+IYABIIkFIYoF\ +IH8hgQEgfCF+IIgFIYkFIH0hfyB6IXwghwUhiAUgeyF9IHgheiCGBSGHBSB5IXsgdiF4IIUFIYYFIH\ +cheSB0IXYghAUhhQUgdSF3IHIhdCCDBSGEBSBzIXUgcCFyIIIFIYMFIHEhcyBuIXAggQUhggUgbyFx\ +IGwhbiCABSGBBSBtIW8gaiFsIP8EIYAFIGshbSDkAiFqIP4EIf8EIGkhayDiAiHkAiDaAiH+BCDjAi\ +FpICYh3AIgsgQhAyAZIbIEIAYh5QIgCiEZIA0hBiAXIQogDyENIB4hICAYIQ4gIiEXICEhDyACIAVy\ +ISIg8AIh7QJBACHoAiDhAiHiAiDZAiHaAiCsAiHhAiA0IdkCIKsCIawCIDMhNCCqAiGrAiAyITMgqQ\ +IhqgIgMSEyIKgCIakCIDAhMSCnAiGoAiASITAgpgIhpwIgLyESIKUCIaYCIC4hLyCkAiGlAiAtIS4g\ +owIhpAIgLCEtIKICIaMCICshLCChAiGiAiAqISsgoAIhoQIgKSEqIJ8CIaACICghKSCeAiGfAiAnIS\ +ggnQIhngIgJCEnIJwCIZ0CICMhJCCbAiGcAiATISMgmgIhmwIgFCETIJkCIZoCIBEhFCCYAiGZAiAV\ +IREglwIhmAIgECEVIOkCIRAg3wIhAiCWAiGXAiCUAiHfAiCVAiGWAiCSAiGUAiCTAiGVAiCQAiGSAi\ +CRAiGTAiCOAiGQAiCPAiGRAiCMAiGOAiCNAiGPAiCKAiGMAiCLAiGNAiBoIYoCIIkCIYsCIGYhaCBn\ +IYkCIGQhZiBlIWcgYiFkIGMhZSBgIWIgYSFjIF4hYCBfIWEgXCFeIF0hXyBaIVwgWyFdIFghWiBZIV\ +sgViFYIFchWSBUIVYgVSFXIFIhVCBTIVUgUCFSIFEhUyBOIVAgTyFRIEwhTiBNIU8g3QIhTCCxBCFN\ +IAch3QIgASGxBCDeAiHjAiDuAiEmDAILIM8FpyHcAkIDIc8FINsCISUgCyEWIBohsAQgGyHbAiDuAi\ +HlAiAdIRsgHCEaIAwhCyAfIR0gHiEcIBghDCAhIR8LIDUhSyA2ITUgNyE2IDghNyA5ITggOiE5IDsh\ +OiA8ITsgPSE8ID4hPSA/IT4gQCE/IEEhQCBCIUEgQyFCIEQhQyBFIUQgRiFFIEchRiBIIUcgSSFIIE\ +ohSSAHIeYCIAEh5wIg3gIhSgsCQCDPBUIDUQ0AIARBqAFqIARByA1qQYAFEJMaGiAEQZgBakEIaiIB\ +IARBiB9qQQhqKQMANwMAIAQgBCkDiB83A5gBIARBEGpBCEHIEhDmEyAEKAIQIgVFDQEgBSAQOwDdCy\ +AFIBU7ANULIAUgETsAzQsgBSAUOwDFCyAFIBM7AL0LIAUgIzsAtQsgBSAkOwCtCyAFICc7AKULIAUg\ +KDsAnQsgBSApOwCVCyAFICo7AI0LIAUgKzsAhQsgBSAsOwD9CiAFIC07APUKIAUgLjsA7QogBSAvOw\ +DlCiAFIBI7AN0KIAUgMDsA1QogBSAxOwDNCiAFIDI7AMUKIAUgMzsAvQogBSA0OwC1CiAFINkCOwCt\ +CiAFINoCOwClCiAFIP4EOwCdCiAFIP8EOwCVCiAFIIAFOwCNCiAFIIEFOwCFCiAFIIIFOwD9CSAFII\ +MFOwD1CSAFIIQFOwDtCSAFIIUFOwDlCSAFIIYFOwDdCSAFIIcFOwDVCSAFIIgFOwDNCSAFIIkFOwDF\ +CSAFIIoFOwC9CSAFIIsFOwC1CSAFIIwFOwCtCSAFII0FOwClCSAFII4FOwCdCSAFII8FOwCVCSAFIJ\ +AFOwCNCSAFIJEFOwCFCSAFIJIFOwD9CCAFIJMFOwD1CCAFIJQFOwDtCCAFIJUFOwDlCCAFIJYFOwDd\ +CCAFIJcFOwDVCCAFIJgFOwDNCCAFIJkFOwDFCCAFIJoFOwC9CCAFIJsFOwC1CCAFIJwFOwCtCCAFIJ\ +0FOwClCCAFIJ4FOwCdCCAFIJ8FOwCVCCAFIKAFOwCNCCAFIKEFOwCFCCAFIKIFOwD9ByAFIKMFOwD1\ +ByAFIKQFOwDtByAFIKUFOwDlByAFIKYFOwDdByAFIKcFOwDVByAFIKgFOwDNByAFIKkFOwDFByAFIK\ +oFOwC9ByAFIKsFOwC1ByAFIKwFOwCtByAFIK0FOwClByAFIK4FOwCdByAFIK8FOwCVByAFILAFOwCN\ +ByAFILEFOwCFByAFILIFOwD9BiAFILMFOwD1BiAFILQFOwDtBiAFILUFOwDlBiAFILYFOwDdBiAFIL\ +cFOwDVBiAFILgFOwDNBiAFILkFOwDFBiAFILoFOwC9BiAFILsFOwC1BiAFILwFOwCtBiAFIL0FOwCl\ +BiAFIL4FOwCdBiAFIL8FOwCVBiAFIMAFOwCNBiAFIMEFOwCFBiAFIMIFOwD9BSAFIMMFOwD1BSAFIM\ +QFOwDtBSAFIMUFOwDlBSAFIMYFOwDdBSAFIMcFOwDVBSAFIMgFOwDNBSAFIMkFOwDFBSAFIMoFOwC9\ +BSAFIMsFOwC1BSAFIMwFOwCtBSAFIM0FOwClBSAFIAk7AJ0FIAUgowM7AJUFIAUgogM7AI0FIAUgoQ\ +M7AIUFIAUgoAM7AP0EIAUgnwM7APUEIAUgngM7AO0EIAUgnQM7AOUEIAUgnAM7AN0EIAUgmwM7ANUE\ +IAUgmgM7AM0EIAUgmQM7AMUEIAUgmAM7AL0EIAUglwM7ALUEIAUglgM7AK0EIAUglQM7AKUEIAUglA\ +M7AJ0EIAUgkwM7AJUEIAUgkgM7AI0EIAUgkQM7AIUEIAUgkAM7AP0DIAUgjwM7APUDIAUgjgM7AO0D\ +IAUgjQM7AOUDIAUgjAM7AN0DIAUgiwM7ANUDIAUgigM7AM0DIAUg2AI7AMUDIAUg1wI7AL0DIAUg1g\ +I7ALUDIAUg1QI7AK0DIAUg1AI7AKUDIAUg0wI7AJ0DIAUg0gI7AJUDIAUg0QI7AI0DIAUg0AI7AIUD\ +IAUgzwI7AP0CIAUgzgI7APUCIAUgzQI7AO0CIAUgzAI7AOUCIAUgywI7AN0CIAUgygI7ANUCIAUgyQ\ +I7AM0CIAUgyAI7AMUCIAUgxwI7AL0CIAUgxgI7ALUCIAUgxQI7AK0CIAUgxAI7AKUCIAUgwwI7AJ0C\ +IAUgwgI7AJUCIAUgwQI7AI0CIAUgwAI7AIUCIAUgvwI7AP0BIAUgvgI7APUBIAUgvQI7AO0BIAUgvA\ +I7AOUBIAUguwI7AN0BIAUgugI7ANUBIAUguQI7AM0BIAUguAI7AMUBIAUgtwI7AL0BIAUgtgI7ALUB\ +IAUgtQI7AK0BIAUgtAI7AKUBIAUgswI7AJ0BIAUgsgI7AJUBIAUgsQI7AI0BIAUgsAI7AIUBIAUgrw\ +I7AH0gBSCuAjsAdSAFIK0COwBtIAUgCDsAZSAFIBY7AF0gBSALOwBVIAUgDDsATSAFIA47AEUgBSDm\ +AjYCpA0gBSDnAjYCoA0gBSDdAjYCnA0gBSCxBDYCmA0gBSBMNgKUDSAFIE02ApANIAUgTjYCjA0gBS\ +BPNgKIDSAFIFA2AoQNIAUgUTYCgA0gBSBSNgL8DCAFIFM2AvgMIAUgVDYC9AwgBSBVNgLwDCAFIFY2\ +AuwMIAUgVzYC6AwgBSBYNgLkDCAFIFk2AuAMIAUgWjYC3AwgBSBbNgLYDCAFIFw2AtQMIAUgXTYC0A\ +wgBSBeNgLMDCAFIF82AsgMIAUgYDYCxAwgBSBhNgLADCAFIGI2ArwMIAUgYzYCuAwgBSBkNgK0DCAF\ +IGU2ArAMIAUgZjYCrAwgBSBnNgKoDCAFIGg2AqQMIAUgiQI2AqAMIAUgigI2ApwMIAUgiwI2ApgMIA\ +UgjAI2ApQMIAUgjQI2ApAMIAUgjgI2AowMIAUgjwI2AogMIAUgkAI2AoQMIAUgkQI2AoAMIAUgkgI2\ +AvwLIAUgkwI2AvgLIAUglAI2AvQLIAUglQI2AvALIAUg3wI2AuwLIAUglgI2AugLIAUgAjYC5AsgBS\ +CXAjYC4AsgBSBLOgDcCyAFIJgCNgLYCyAFIDU6ANQLIAUgmQI2AtALIAUgNjoAzAsgBSCaAjYCyAsg\ +BSA3OgDECyAFIJsCNgLACyAFIDg6ALwLIAUgnAI2ArgLIAUgOToAtAsgBSCdAjYCsAsgBSA6OgCsCy\ +AFIJ4CNgKoCyAFIDs6AKQLIAUgnwI2AqALIAUgPDoAnAsgBSCgAjYCmAsgBSA9OgCUCyAFIKECNgKQ\ +CyAFID46AIwLIAUgogI2AogLIAUgPzoAhAsgBSCjAjYCgAsgBSBAOgD8CiAFIKQCNgL4CiAFIEE6AP\ +QKIAUgpQI2AvAKIAUgQjoA7AogBSCmAjYC6AogBSBDOgDkCiAFIKcCNgLgCiAFIEQ6ANwKIAUgqAI2\ +AtgKIAUgRToA1AogBSCpAjYC0AogBSBGOgDMCiAFIKoCNgLICiAFIEc6AMQKIAUgqwI2AsAKIAUgSD\ +oAvAogBSCsAjYCuAogBSBJOgC0CiAFIOECNgKwCiAFIEo6AKwKIAUg4gI2AqgKIAUg4wI6AKQKIAUg\ +5AI2AqAKIAUgaToAnAogBSBqNgKYCiAFIGs6AJQKIAUgbDYCkAogBSBtOgCMCiAFIG42AogKIAUgbz\ +oAhAogBSBwNgKACiAFIHE6APwJIAUgcjYC+AkgBSBzOgD0CSAFIHQ2AvAJIAUgdToA7AkgBSB2NgLo\ +CSAFIHc6AOQJIAUgeDYC4AkgBSB5OgDcCSAFIHo2AtgJIAUgezoA1AkgBSB8NgLQCSAFIH06AMwJIA\ +UgfjYCyAkgBSB/OgDECSAFIIABNgLACSAFIIEBOgC8CSAFIIIBNgK4CSAFIIMBOgC0CSAFIIQBNgKw\ +CSAFIIUBOgCsCSAFIIYBNgKoCSAFIIcBOgCkCSAFIIgBNgKgCSAFIIkBOgCcCSAFIIoBNgKYCSAFII\ +sBOgCUCSAFIIwBNgKQCSAFII0BOgCMCSAFII4BNgKICSAFII8BOgCECSAFIJABNgKACSAFIJEBOgD8\ +CCAFIJIBNgL4CCAFIJMBOgD0CCAFIJQBNgLwCCAFIJUBOgDsCCAFIJYBNgLoCCAFIJcBOgDkCCAFIJ\ +gBNgLgCCAFIJkBOgDcCCAFIJoBNgLYCCAFIJsBOgDUCCAFIJwBNgLQCCAFIJ0BOgDMCCAFIJ4BNgLI\ +CCAFIJ8BOgDECCAFIKABNgLACCAFIKEBOgC8CCAFIKIBNgK4CCAFIKMBOgC0CCAFIKQBNgKwCCAFIK\ +UBOgCsCCAFIKYBNgKoCCAFIKcBOgCkCCAFIKgBNgKgCCAFIKkBOgCcCCAFIKoBNgKYCCAFIKsBOgCU\ +CCAFIKwBNgKQCCAFIK0BOgCMCCAFIK4BNgKICCAFIK8BOgCECCAFILABNgKACCAFILEBOgD8ByAFIL\ +IBNgL4ByAFILMBOgD0ByAFILQBNgLwByAFILUBOgDsByAFILYBNgLoByAFILcBOgDkByAFILgBNgLg\ +ByAFILkBOgDcByAFILoBNgLYByAFILsBOgDUByAFILwBNgLQByAFIL0BOgDMByAFIL4BNgLIByAFIL\ +8BOgDEByAFIMABNgLAByAFIMEBOgC8ByAFIMIBNgK4ByAFIMMBOgC0ByAFIMQBNgKwByAFIMUBOgCs\ +ByAFIMYBNgKoByAFIMcBOgCkByAFIMgBNgKgByAFIMkBOgCcByAFIMoBNgKYByAFIMsBOgCUByAFIM\ +wBNgKQByAFIM0BOgCMByAFIM4BNgKIByAFIM8BOgCEByAFINABNgKAByAFINEBOgD8BiAFINIBNgL4\ +BiAFINMBOgD0BiAFINQBNgLwBiAFINUBOgDsBiAFINYBNgLoBiAFINcBOgDkBiAFINgBNgLgBiAFIN\ +kBOgDcBiAFINoBNgLYBiAFINsBOgDUBiAFINwBNgLQBiAFIN0BOgDMBiAFIN4BNgLIBiAFIN8BOgDE\ +BiAFIOABNgLABiAFIOEBOgC8BiAFIOIBNgK4BiAFIOMBOgC0BiAFIOQBNgKwBiAFIOUBOgCsBiAFIO\ +YBNgKoBiAFIOcBOgCkBiAFIOgBNgKgBiAFIOkBOgCcBiAFIOoBNgKYBiAFIOsBOgCUBiAFIOwBNgKQ\ +BiAFIO0BOgCMBiAFIO4BNgKIBiAFIO8BOgCEBiAFIPABNgKABiAFIPEBOgD8BSAFIPIBNgL4BSAFIP\ +MBOgD0BSAFIPQBNgLwBSAFIPUBOgDsBSAFIPYBNgLoBSAFIPcBOgDkBSAFIPgBNgLgBSAFIPkBOgDc\ +BSAFIPoBNgLYBSAFIPsBOgDUBSAFIPwBNgLQBSAFIP0BOgDMBSAFIP4BNgLIBSAFIP8BOgDEBSAFII\ +ACNgLABSAFIIECOgC8BSAFIIICNgK4BSAFIIMCOgC0BSAFIIQCNgKwBSAFIIUCOgCsBSAFIIYCNgKo\ +BSAFIIcCOgCkBSAFIIgCNgKgBSAFIOsCOgCcBSAFIOACNgKYBSAFIKQDOgCUBSAFIKUDNgKQBSAFIK\ +YDOgCMBSAFIKcDNgKIBSAFIKgDOgCEBSAFIKkDNgKABSAFIKoDOgD8BCAFIKsDNgL4BCAFIKwDOgD0\ +BCAFIK0DNgLwBCAFIK4DOgDsBCAFIK8DNgLoBCAFILADOgDkBCAFILEDNgLgBCAFILIDOgDcBCAFIL\ +MDNgLYBCAFILQDOgDUBCAFILUDNgLQBCAFILYDOgDMBCAFILcDNgLIBCAFILgDOgDEBCAFILkDNgLA\ +BCAFILoDOgC8BCAFILsDNgK4BCAFILwDOgC0BCAFIL0DNgKwBCAFIL4DOgCsBCAFIL8DNgKoBCAFIM\ +ADOgCkBCAFIMEDNgKgBCAFIMIDOgCcBCAFIMMDNgKYBCAFIMQDOgCUBCAFIMUDNgKQBCAFIMYDOgCM\ +BCAFIMcDNgKIBCAFIMgDOgCEBCAFIMkDNgKABCAFIMoDOgD8AyAFIMsDNgL4AyAFIMwDOgD0AyAFIM\ +0DNgLwAyAFIM4DOgDsAyAFIM8DNgLoAyAFINADOgDkAyAFINEDNgLgAyAFINIDOgDcAyAFINMDNgLY\ +AyAFINQDOgDUAyAFINUDNgLQAyAFINYDOgDMAyAFINcDNgLIAyAFINgDOgDEAyAFINkDNgLAAyAFIN\ +oDOgC8AyAFINsDNgK4AyAFINwDOgC0AyAFIN0DNgKwAyAFIN4DOgCsAyAFIN8DNgKoAyAFIOADOgCk\ +AyAFIOEDNgKgAyAFIOIDOgCcAyAFIOMDNgKYAyAFIOQDOgCUAyAFIOUDNgKQAyAFIOYDOgCMAyAFIO\ +cDNgKIAyAFIOgDOgCEAyAFIOkDNgKAAyAFIOoDOgD8AiAFIOsDNgL4AiAFIOwDOgD0AiAFIO0DNgLw\ +AiAFIO4DOgDsAiAFIO8DNgLoAiAFIPADOgDkAiAFIPEDNgLgAiAFIPIDOgDcAiAFIPMDNgLYAiAFIP\ +QDOgDUAiAFIPUDNgLQAiAFIPYDOgDMAiAFIPcDNgLIAiAFIPgDOgDEAiAFIPkDNgLAAiAFIPoDOgC8\ +AiAFIPsDNgK4AiAFIPwDOgC0AiAFIP0DNgKwAiAFIP4DOgCsAiAFIP8DNgKoAiAFIIAEOgCkAiAFII\ +EENgKgAiAFIIIEOgCcAiAFIIMENgKYAiAFIIQEOgCUAiAFIIUENgKQAiAFIIYEOgCMAiAFIIcENgKI\ +AiAFIIgEOgCEAiAFIIkENgKAAiAFIIoEOgD8ASAFIIsENgL4ASAFIIwEOgD0ASAFII0ENgLwASAFII\ +4EOgDsASAFII8ENgLoASAFIJAEOgDkASAFIJEENgLgASAFIJIEOgDcASAFIJMENgLYASAFIJQEOgDU\ +ASAFIJUENgLQASAFIJYEOgDMASAFIJcENgLIASAFIJgEOgDEASAFIJkENgLAASAFIJoEOgC8ASAFIJ\ +sENgK4ASAFIJwEOgC0ASAFIJ0ENgKwASAFIJ4EOgCsASAFIJ8ENgKoASAFIKAEOgCkASAFIKEENgKg\ +ASAFIKIEOgCcASAFIKMENgKYASAFIKQEOgCUASAFIKUENgKQASAFIKYEOgCMASAFIKcENgKIASAFIK\ +gEOgCEASAFIKkENgKAASAFIKoEOgB8IAUgqwQ2AnggBSCsBDoAdCAFIK0ENgJwIAUgrgQ6AGwgBSCv\ +BDYCaCAFIOwCOgBkIAUgJTYCYCAFILAEOgBcIAUg2wI2AlggBSAaOgBUIAUgGzYCUCAFIBw6AEwgBS\ +AdNgJIIAUgIDoARCAFIB82AkAgBSAiNgI8IAUgDzYCOCAFIBc2AjQgBSANNgIwIAUgCjYCLCAFIAY2\ +AiggBSAZNgIkIAUg5QI2AiAgBSCyBDYCHCAFICY2AhggBSDPBTcDCCAFQQE2AgQgBUEBNgIAIAVB3w\ +tqIBBBEHY6AAAgBUHXC2ogFUEQdjoAACAFQc8LaiARQRB2OgAAIAVBxwtqIBRBEHY6AAAgBUG/C2og\ +E0EQdjoAACAFQbcLaiAjQRB2OgAAIAVBrwtqICRBEHY6AAAgBUGnC2ogJ0EQdjoAACAFQZ8LaiAoQR\ +B2OgAAIAVBlwtqIClBEHY6AAAgBUGPC2ogKkEQdjoAACAFQYcLaiArQRB2OgAAIAVB/wpqICxBEHY6\ +AAAgBUH3CmogLUEQdjoAACAFQe8KaiAuQRB2OgAAIAVB5wpqIC9BEHY6AAAgBUHfCmogEkEQdjoAAC\ +AFQdcKaiAwQRB2OgAAIAVBzwpqIDFBEHY6AAAgBUHHCmogMkEQdjoAACAFQb8KaiAzQRB2OgAAIAVB\ +twpqIDRBEHY6AAAgBUGvCmog2QJBEHY6AAAgBUGnCmog2gJBEHY6AAAgBUGfCmog/gRBEHY6AAAgBU\ +GXCmog/wRBEHY6AAAgBUGPCmoggAVBEHY6AAAgBUGHCmoggQVBEHY6AAAgBUH/CWogggVBEHY6AAAg\ +BUH3CWoggwVBEHY6AAAgBUHvCWoghAVBEHY6AAAgBUHnCWoghQVBEHY6AAAgBUHfCWoghgVBEHY6AA\ +AgBUHXCWoghwVBEHY6AAAgBUHPCWogiAVBEHY6AAAgBUHHCWogiQVBEHY6AAAgBUG/CWogigVBEHY6\ +AAAgBUG3CWogiwVBEHY6AAAgBUGvCWogjAVBEHY6AAAgBUGnCWogjQVBEHY6AAAgBUGfCWogjgVBEH\ +Y6AAAgBUGXCWogjwVBEHY6AAAgBUGPCWogkAVBEHY6AAAgBUGHCWogkQVBEHY6AAAgBUH/CGogkgVB\ +EHY6AAAgBUH3CGogkwVBEHY6AAAgBUHvCGoglAVBEHY6AAAgBUHnCGoglQVBEHY6AAAgBUHfCGoglg\ +VBEHY6AAAgBUHXCGoglwVBEHY6AAAgBUHPCGogmAVBEHY6AAAgBUHHCGogmQVBEHY6AAAgBUG/CGog\ +mgVBEHY6AAAgBUG3CGogmwVBEHY6AAAgBUGvCGognAVBEHY6AAAgBUGnCGognQVBEHY6AAAgBUGfCG\ +ogngVBEHY6AAAgBUGXCGognwVBEHY6AAAgBUGPCGogoAVBEHY6AAAgBUGHCGogoQVBEHY6AAAgBUH/\ +B2ogogVBEHY6AAAgBUH3B2ogowVBEHY6AAAgBUHvB2ogpAVBEHY6AAAgBUHnB2ogpQVBEHY6AAAgBU\ +HfB2ogpgVBEHY6AAAgBUHXB2ogpwVBEHY6AAAgBUHPB2ogqAVBEHY6AAAgBUHHB2ogqQVBEHY6AAAg\ +BUG/B2ogqgVBEHY6AAAgBUG3B2ogqwVBEHY6AAAgBUGvB2ogrAVBEHY6AAAgBUGnB2ogrQVBEHY6AA\ +AgBUGfB2ogrgVBEHY6AAAgBUGXB2ogrwVBEHY6AAAgBUGPB2ogsAVBEHY6AAAgBUGHB2ogsQVBEHY6\ +AAAgBUH/BmogsgVBEHY6AAAgBUH3BmogswVBEHY6AAAgBUHvBmogtAVBEHY6AAAgBUHnBmogtQVBEH\ +Y6AAAgBUHfBmogtgVBEHY6AAAgBUHXBmogtwVBEHY6AAAgBUHPBmoguAVBEHY6AAAgBUHHBmoguQVB\ +EHY6AAAgBUG/BmogugVBEHY6AAAgBUG3BmoguwVBEHY6AAAgBUGvBmogvAVBEHY6AAAgBUGnBmogvQ\ +VBEHY6AAAgBUGfBmogvgVBEHY6AAAgBUGXBmogvwVBEHY6AAAgBUGPBmogwAVBEHY6AAAgBUGHBmog\ +wQVBEHY6AAAgBUH/BWogwgVBEHY6AAAgBUH3BWogwwVBEHY6AAAgBUHvBWogxAVBEHY6AAAgBUHnBW\ +ogxQVBEHY6AAAgBUHfBWogxgVBEHY6AAAgBUHXBWogxwVBEHY6AAAgBUHPBWogyAVBEHY6AAAgBUHH\ +BWogyQVBEHY6AAAgBUG/BWogygVBEHY6AAAgBUG3BWogywVBEHY6AAAgBUGvBWogzAVBEHY6AAAgBU\ +GnBWogzQVBEHY6AAAgBUGfBWogCUEQdjoAACAFQZcFaiCjA0EQdjoAACAFQY8FaiCiA0EQdjoAACAF\ +QYcFaiChA0EQdjoAACAFQf8EaiCgA0EQdjoAACAFQfcEaiCfA0EQdjoAACAFQe8EaiCeA0EQdjoAAC\ +AFQecEaiCdA0EQdjoAACAFQd8EaiCcA0EQdjoAACAFQdcEaiCbA0EQdjoAACAFQc8EaiCaA0EQdjoA\ +ACAFQccEaiCZA0EQdjoAACAFQb8EaiCYA0EQdjoAACAFQbcEaiCXA0EQdjoAACAFQa8EaiCWA0EQdj\ +oAACAFQacEaiCVA0EQdjoAACAFQZ8EaiCUA0EQdjoAACAFQZcEaiCTA0EQdjoAACAFQY8EaiCSA0EQ\ +djoAACAFQYcEaiCRA0EQdjoAACAFQf8DaiCQA0EQdjoAACAFQfcDaiCPA0EQdjoAACAFQe8DaiCOA0\ +EQdjoAACAFQecDaiCNA0EQdjoAACAFQd8DaiCMA0EQdjoAACAFQdcDaiCLA0EQdjoAACAFQc8DaiCK\ +A0EQdjoAACAFQccDaiDYAkEQdjoAACAFQb8DaiDXAkEQdjoAACAFQbcDaiDWAkEQdjoAACAFQa8Dai\ +DVAkEQdjoAACAFQacDaiDUAkEQdjoAACAFQZ8DaiDTAkEQdjoAACAFQZcDaiDSAkEQdjoAACAFQY8D\ +aiDRAkEQdjoAACAFQYcDaiDQAkEQdjoAACAFQf8CaiDPAkEQdjoAACAFQfcCaiDOAkEQdjoAACAFQe\ +8CaiDNAkEQdjoAACAFQecCaiDMAkEQdjoAACAFQd8CaiDLAkEQdjoAACAFQdcCaiDKAkEQdjoAACAF\ +Qc8CaiDJAkEQdjoAACAFQccCaiDIAkEQdjoAACAFQb8CaiDHAkEQdjoAACAFQbcCaiDGAkEQdjoAAC\ +AFQa8CaiDFAkEQdjoAACAFQacCaiDEAkEQdjoAACAFQZ8CaiDDAkEQdjoAACAFQZcCaiDCAkEQdjoA\ +ACAFQY8CaiDBAkEQdjoAACAFQYcCaiDAAkEQdjoAACAFQf8BaiC/AkEQdjoAACAFQfcBaiC+AkEQdj\ +oAACAFQe8BaiC9AkEQdjoAACAFQecBaiC8AkEQdjoAACAFQd8BaiC7AkEQdjoAACAFQdcBaiC6AkEQ\ +djoAACAFQc8BaiC5AkEQdjoAACAFQccBaiC4AkEQdjoAACAFQb8BaiC3AkEQdjoAACAFQbcBaiC2Ak\ +EQdjoAACAFQa8BaiC1AkEQdjoAACAFQacBaiC0AkEQdjoAACAFQZ8BaiCzAkEQdjoAACAFQZcBaiCy\ +AkEQdjoAACAFQY8BaiCxAkEQdjoAACAFQYcBaiCwAkEQdjoAACAFQf8AaiCvAkEQdjoAACAFQfcAai\ +CuAkEQdjoAACAFQe8AaiCtAkEQdjoAACAFQecAaiAIQRB2OgAAIAVB3wBqIBZBEHY6AAAgBUHXAGog\ +C0EQdjoAACAFQc8AaiAMQRB2OgAAIAVBxwBqIA5BEHY6AAAgBSADrUIghiDcAq2ENwMQIAUg6AKtQi\ +iGIOoCrUL/AYNCIIaEIO0CrYQ3A6gNIAVBsA1qIARBqAFqQYAFEJMaGiAFQQA6AMQSIAUg7wI2AsAS\ +IAVBuBJqIAEpAwA3AwAgBSAEKQOYATcDsBIgACAFNgIEIABBAjYCACAAQZT3xwA2AggMAgsgBEEIak\ +EIQagNEOYTIAQoAggiBUUNACAFIOgCOwClDSAFIBA7ANULIAUgFTsAzQsgBSAROwDFCyAFIBQ7AL0L\ +IAUgEzsAtQsgBSAjOwCtCyAFICQ7AKULIAUgJzsAnQsgBSAoOwCVCyAFICk7AI0LIAUgKjsAhQsgBS\ +ArOwD9CiAFICw7APUKIAUgLTsA7QogBSAuOwDlCiAFIC87AN0KIAUgEjsA1QogBSAwOwDNCiAFIDE7\ +AMUKIAUgMjsAvQogBSAzOwC1CiAFIDQ7AK0KIAUg2QI7AKUKIAUg2gI7AJ0KIAUg/gQ7AJUKIAUg/w\ +Q7AI0KIAUggAU7AIUKIAUggQU7AP0JIAUgggU7APUJIAUggwU7AO0JIAUghAU7AOUJIAUghQU7AN0J\ +IAUghgU7ANUJIAUghwU7AM0JIAUgiAU7AMUJIAUgiQU7AL0JIAUgigU7ALUJIAUgiwU7AK0JIAUgjA\ +U7AKUJIAUgjQU7AJ0JIAUgjgU7AJUJIAUgjwU7AI0JIAUgkAU7AIUJIAUgkQU7AP0IIAUgkgU7APUI\ +IAUgkwU7AO0IIAUglAU7AOUIIAUglQU7AN0IIAUglgU7ANUIIAUglwU7AM0IIAUgmAU7AMUIIAUgmQ\ +U7AL0IIAUgmgU7ALUIIAUgmwU7AK0IIAUgnAU7AKUIIAUgnQU7AJ0IIAUgngU7AJUIIAUgnwU7AI0I\ +IAUgoAU7AIUIIAUgoQU7AP0HIAUgogU7APUHIAUgowU7AO0HIAUgpAU7AOUHIAUgpQU7AN0HIAUgpg\ +U7ANUHIAUgpwU7AM0HIAUgqAU7AMUHIAUgqQU7AL0HIAUgqgU7ALUHIAUgqwU7AK0HIAUgrAU7AKUH\ +IAUgrQU7AJ0HIAUgrgU7AJUHIAUgrwU7AI0HIAUgsAU7AIUHIAUgsQU7AP0GIAUgsgU7APUGIAUgsw\ +U7AO0GIAUgtAU7AOUGIAUgtQU7AN0GIAUgtgU7ANUGIAUgtwU7AM0GIAUguAU7AMUGIAUguQU7AL0G\ +IAUgugU7ALUGIAUguwU7AK0GIAUgvAU7AKUGIAUgvQU7AJ0GIAUgvgU7AJUGIAUgvwU7AI0GIAUgwA\ +U7AIUGIAUgwQU7AP0FIAUgwgU7APUFIAUgwwU7AO0FIAUgxAU7AOUFIAUgxQU7AN0FIAUgxgU7ANUF\ +IAUgxwU7AM0FIAUgyAU7AMUFIAUgyQU7AL0FIAUgygU7ALUFIAUgywU7AK0FIAUgzAU7AKUFIAUgzQ\ +U7AJ0FIAUgCTsAlQUgBSCjAzsAjQUgBSCiAzsAhQUgBSChAzsA/QQgBSCgAzsA9QQgBSCfAzsA7QQg\ +BSCeAzsA5QQgBSCdAzsA3QQgBSCcAzsA1QQgBSCbAzsAzQQgBSCaAzsAxQQgBSCZAzsAvQQgBSCYAz\ +sAtQQgBSCXAzsArQQgBSCWAzsApQQgBSCVAzsAnQQgBSCUAzsAlQQgBSCTAzsAjQQgBSCSAzsAhQQg\ +BSCRAzsA/QMgBSCQAzsA9QMgBSCPAzsA7QMgBSCOAzsA5QMgBSCNAzsA3QMgBSCMAzsA1QMgBSCLAz\ +sAzQMgBSCKAzsAxQMgBSDYAjsAvQMgBSDXAjsAtQMgBSDWAjsArQMgBSDVAjsApQMgBSDUAjsAnQMg\ +BSDTAjsAlQMgBSDSAjsAjQMgBSDRAjsAhQMgBSDQAjsA/QIgBSDPAjsA9QIgBSDOAjsA7QIgBSDNAj\ +sA5QIgBSDMAjsA3QIgBSDLAjsA1QIgBSDKAjsAzQIgBSDJAjsAxQIgBSDIAjsAvQIgBSDHAjsAtQIg\ +BSDGAjsArQIgBSDFAjsApQIgBSDEAjsAnQIgBSDDAjsAlQIgBSDCAjsAjQIgBSDBAjsAhQIgBSDAAj\ +sA/QEgBSC/AjsA9QEgBSC+AjsA7QEgBSC9AjsA5QEgBSC8AjsA3QEgBSC7AjsA1QEgBSC6AjsAzQEg\ +BSC5AjsAxQEgBSC4AjsAvQEgBSC3AjsAtQEgBSC2AjsArQEgBSC1AjsApQEgBSC0AjsAnQEgBSCzAj\ +sAlQEgBSCyAjsAjQEgBSCxAjsAhQEgBSCwAjsAfSAFIK8COwB1IAUgrgI7AG0gBSCtAjsAZSAFIAg7\ +AF0gBSAWOwBVIAUgCzsATSAFIAw7AEUgBSAOOwA9IAUg6gI6AKQNIAUg7QI2AqANIAUg5gI2ApwNIA\ +Ug5wI2ApgNIAUg3QI2ApQNIAUgsQQ2ApANIAUgTDYCjA0gBSBNNgKIDSAFIE42AoQNIAUgTzYCgA0g\ +BSBQNgL8DCAFIFE2AvgMIAUgUjYC9AwgBSBTNgLwDCAFIFQ2AuwMIAUgVTYC6AwgBSBWNgLkDCAFIF\ +c2AuAMIAUgWDYC3AwgBSBZNgLYDCAFIFo2AtQMIAUgWzYC0AwgBSBcNgLMDCAFIF02AsgMIAUgXjYC\ +xAwgBSBfNgLADCAFIGA2ArwMIAUgYTYCuAwgBSBiNgK0DCAFIGM2ArAMIAUgZDYCrAwgBSBlNgKoDC\ +AFIGY2AqQMIAUgZzYCoAwgBSBoNgKcDCAFIIkCNgKYDCAFIIoCNgKUDCAFIIsCNgKQDCAFIIwCNgKM\ +DCAFII0CNgKIDCAFII4CNgKEDCAFII8CNgKADCAFIJACNgL8CyAFIJECNgL4CyAFIJICNgL0CyAFIJ\ +MCNgLwCyAFIJQCNgLsCyAFIJUCNgLoCyAFIN8CNgLkCyAFIJYCNgLgCyAFIAI6ANwLIAUglwI2AtgL\ +IAUgSzoA1AsgBSCYAjYC0AsgBSA1OgDMCyAFIJkCNgLICyAFIDY6AMQLIAUgmgI2AsALIAUgNzoAvA\ +sgBSCbAjYCuAsgBSA4OgC0CyAFIJwCNgKwCyAFIDk6AKwLIAUgnQI2AqgLIAUgOjoApAsgBSCeAjYC\ +oAsgBSA7OgCcCyAFIJ8CNgKYCyAFIDw6AJQLIAUgoAI2ApALIAUgPToAjAsgBSChAjYCiAsgBSA+Og\ +CECyAFIKICNgKACyAFID86APwKIAUgowI2AvgKIAUgQDoA9AogBSCkAjYC8AogBSBBOgDsCiAFIKUC\ +NgLoCiAFIEI6AOQKIAUgpgI2AuAKIAUgQzoA3AogBSCnAjYC2AogBSBEOgDUCiAFIKgCNgLQCiAFIE\ +U6AMwKIAUgqQI2AsgKIAUgRjoAxAogBSCqAjYCwAogBSBHOgC8CiAFIKsCNgK4CiAFIEg6ALQKIAUg\ +rAI2ArAKIAUgSToArAogBSDhAjYCqAogBSBKOgCkCiAFIOICNgKgCiAFIOMCOgCcCiAFIOQCNgKYCi\ +AFIGk6AJQKIAUgajYCkAogBSBrOgCMCiAFIGw2AogKIAUgbToAhAogBSBuNgKACiAFIG86APwJIAUg\ +cDYC+AkgBSBxOgD0CSAFIHI2AvAJIAUgczoA7AkgBSB0NgLoCSAFIHU6AOQJIAUgdjYC4AkgBSB3Og\ +DcCSAFIHg2AtgJIAUgeToA1AkgBSB6NgLQCSAFIHs6AMwJIAUgfDYCyAkgBSB9OgDECSAFIH42AsAJ\ +IAUgfzoAvAkgBSCAATYCuAkgBSCBAToAtAkgBSCCATYCsAkgBSCDAToArAkgBSCEATYCqAkgBSCFAT\ +oApAkgBSCGATYCoAkgBSCHAToAnAkgBSCIATYCmAkgBSCJAToAlAkgBSCKATYCkAkgBSCLAToAjAkg\ +BSCMATYCiAkgBSCNAToAhAkgBSCOATYCgAkgBSCPAToA/AggBSCQATYC+AggBSCRAToA9AggBSCSAT\ +YC8AggBSCTAToA7AggBSCUATYC6AggBSCVAToA5AggBSCWATYC4AggBSCXAToA3AggBSCYATYC2Agg\ +BSCZAToA1AggBSCaATYC0AggBSCbAToAzAggBSCcATYCyAggBSCdAToAxAggBSCeATYCwAggBSCfAT\ +oAvAggBSCgATYCuAggBSChAToAtAggBSCiATYCsAggBSCjAToArAggBSCkATYCqAggBSClAToApAgg\ +BSCmATYCoAggBSCnAToAnAggBSCoATYCmAggBSCpAToAlAggBSCqATYCkAggBSCrAToAjAggBSCsAT\ +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\ +NgIAIABBATYCCCACQeANahCHBgwFCyADIAVqIgQtAAAhBiACQbAGakEIaigCACEbIAIpArAGISwgBC\ +Arp0EZdiIHOgAAIAMgAigC5A0gBUF4anFqQQhqIAc6AAAgCCACKQKQBzcCACAZIBs2AgAgCEEIaiAC\ +QZAHakEIaigCADYCACADQQAgBWtBGGxqQWhqIgUgLDcCACAFQQhqIBkpAwA3AgAgBUEQaiACQYAIak\ +EQaikDADcCACACIAIoAuwNQQFqNgLsDSACIAIoAugNIAZBAXFrNgLoDUGAgICAeCEFCyAFIBgQgRdB\ +ACEDDAALCyAAIAk2AhQgAEEDNgIQIABB8YnDADYCDCAAQQA2AgggAEEANgIADAILQQAhByACQQA2At\ +wLIAJBADYC1AsgAkGoDGogAkHoAmpBkIrDAEEDEIELAkACQAJAIAIoArgMQYWAgIB4Rw0AQQAhGwwB\ +CyACQYAJaiACQagMakEwEJMaGgJAAkACQCACKAKQCUGEgICAeEoNAEEBIQUgAkGoDGogAkG/D2pBxP\ +/CABD+ByEbDAELIAIoAqgJISUgAkGgDWogAkGoDGoQ/xYgAkEANgL4CSACQQA2AvAJIAJBgAhqQcAA\ +aiEjIAJBgAhqQcQAaiERIAJBgAhqQRBqIR0gAkGQB2pBwABqIRwgAkGQB2pBNGohJCACQbAGakHEAG\ +ohKCACQYAGakEUaiEJIAJBgAhqQQhqIR4gAkG4CmpBCGohEyACQZAHakEwaiEhIAJB+ARqQRRqIRgg\ +AkGgDWpBFGohGSACQbALakEMaiEMIAJBsAtqQQRqIR8gAkHQBWpBBGohFiACQdAFakEMaiEUIAJBsA\ +ZqQTRqIRcgAkGwBmpBBHIhDyACQfgEakEQaiENIAJBoA1qQTBqIRIgAkGABmpBDGohCCACQeANakE0\ +aiEaIAJB4A1qQQRyIQ4DQCACQfgEaiASEKoKAkACQAJAIAIoAvgEQYCAgIB4Rw0AIAIgAikC9AkiKz\ +cClA0gAiACKALwCSIbNgKQDSArQiCIISxBACEFAkAgAigC3A0gAigC1A1GDQAgJUG8/8IAQZT/wgAQ\ +3gohGyACQZANahDACkEBIQULICynIQcgK6chCSACQaANahDcGAwBCyACQaANahD9FiACQaANaiANQT\ +AQkxoaIAJBgAhqIAJB+ARqELMRIAIoAoQIIRsCQCACKAKACCIGQYCAgIB4Rg0AIAIoAogIIQQgAkEA\ +NgLYBSACIBs2AtAFIAIgGyAEajYC1AUCQAJAAkACQAJAAkACQAJAAkADQCACQfgBaiACQdAFahCiCy\ +ACKAL8ASIFQYCAxABGDQEgAigC+AEiA0UNACAFQcAARw0ACyACQfABaiAbIAQgA0HYm8MAENcNIAIo\ +AvABIQUgAkHoAWogGyAEIAQgAigC9AEiA2tBvJfDABCMDiACKALoASEiIAIoAuwBIhBFDQEgAkHQBW\ +pBwAAgBSADEI4JIAIoAtgFIQcgAigC1AUhFSACKALQBSIFQYGAgIB4Rw0EIAJBADYC2AUgAiAVNgLQ\ +BSACIBUgB2o2AtQFA0AgAkHgAWogAkHQBWoQogsgAigC4AEhAyACKALkASIFQS9GDQMgBUHfAEYNAy\ +AFQYCAxABHDQALQQEhJkEAIQUMAwsLIAJBgICAgHg2ArgIIAJBADYCkAggAiAiNgKMCCACIAM2AogI\ +IAIgBTYChAggAkGAgICAeDYCgAgMBQsgAkHYAWogFSAHIANBjJfDABDXDSACKALcASEFIAIoAtgBIS\ +YLIAJB0AFqIBUgByAHIAVrQbyXwwAQjA4gAigC0AEhAyACKALUASInRQ0BIAJBuApqIAMgJxD/AQJA\ +IAIoAtwKQYCAgIB4Rw0AIAJBoA5qQRBqIAJBuApqQRBqKQMANwMAIAJBoA5qQQhqIBMpAwA3AwAgAi\ +ACKQO4CjcDoA4gAkEiNgKMByACQQE2AtQOIAJBATYCxA4gAkHYzNMANgLADiACQQE2AswOIAIgAkGg\ +Dmo2AogHIAJBAzoA7AUgAkEENgLoBSACQiA3AuAFIAJBAjYC2AUgAkECNgLQBSACIAJB0AVqNgLQDi\ +ACIAJBiAdqNgLIDiACQfgKaiACQcAOahDoDSACQYAIaiAVIAcgAkH4CmoQ/RMgAkGAgICAeDYCuAgg\ +AkGgDmoQohYMBAsgAkHQBWogIiAQEMQMICFBCGogAkHQBWpBCGooAgA2AgAgISACKQLQBTcCACACQZ\ +AHaiACQbgKakEwEJMaGiACIAU2AoQIIAIgJjYCgAggHiACQZAHakHAABCTGiEFIAIoArgIQYCAgIB4\ +Rg0DIAIoAoQIIgNFDQIgAigCuAghIiACKAK8CCEHIAJBkAdqIAIoAoAIIAMQ3RggAkGwBmogAkGQB2\ +oQ3hggIiAHEPwWIAUQ9BYMBAsgAkGAgICAeDYCuAggAiACKQLcBTcCjAggAiAHNgKICCACIBU2AoQI\ +IAIgBTYCgAgMAgsgAkGAgICAeDYCuAggAkEANgKQCCACIAM2AowIIAIgBTYCiAggAiAmNgKECCACQY\ +CAgIB4NgKACAwBCyACQbAGaiAFQcAAEJMaGgwBCwJAIAIoAoAIQYCAgIB4Rw0AIAJBkAdqIBsgBBDd\ +GCACQbAGaiACQZAHahDeGAwBCyACQbAGaiACQYAIahDeGAsCQAJAAkACQAJAAkACQAJAAkAgAigC4A\ +YiIkGAgICAeEYNACACKAKwBiEFIAJBgAhqIA9BLBCTGhogAkGQB2pBCGoiAyAXQQhqKAIANgIAIAIg\ +FykCADcDkAcgAkHgDGogAkGACGpBLBCTGhogAkHACWpBCGogAygCADYCACACIAIpA5AHNwPACQwBCy\ +ACQbgKakEQaiACQbAGakEQaikDADcDACATIAJBsAZqQQhqKQMANwMAIAIgAikDsAY3A7gKIAJBIzYC\ +xA4gAkEBNgKkByACQQE2ApQHIAJB2MzTADYCkAcgAkEBNgKcByACIAJBuApqNgLADiACQQM6AJwIIA\ +JBBDYCmAggAkIgNwKQCCACQQI2AogIIAJBAjYCgAggAiACQYAIajYCoAcgAiACQcAOajYCmAcgAkHQ\ +BWogAkGQB2oQ6A0gFCAbIAQQxAwgAkG4CmoQohYgHSAWQRBqKAIAIgU2AgAgHiAWQQhqKQIAIis3Aw\ +AgAiAWKQIAIiw3A4AIIAIoAtAFIQMgHyAsNwIAIB9BCGogKzcCACAfQRBqIAU2AgAgAiADNgKwCyAC\ +QQA2AsAKIAJCgICAgBA3ArgKIAIgDDYCwA4gAkECNgKUByACQfSgwwA2ApAHIAJCAjcCnAcgAkEONg\ +K8BiACQQ42ArQGIAIgAkGwBmo2ApgHIAIgAkHQBWo2ArgGIAIgAkHADmo2ArAGIAIgAkGwC2o2AtAF\ +IAJBuApqQeCAwwAgAkGQB2oQhBcNASACQZAHakEIaiATKAIANgIAIAIgAikCuAo3A5AHIAJBkAdqEL\ +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\ +s2ApAKIAVBACADa0EwbGpBUGogIUEsEJMaQSxqIB02AgAgAiACKAKUCkEBajYClAoMAwsgISAiKQIA\ +NwIAICFBCGogIkEIaikCADcCACAhQRBqICJBEGopAgA3AgAgIUEYaiAiQRhqKQIANwIAIAIgAikClA\ +c3A4gIIAIgAigCkAciBTYChAggAkEANgKACCACIBcgBmo2ArAIIAIgAkGICmo2ArQIIAVBA0YNAiAI\ +ELoXDAILIAUgGEEIaiIYaiADcSEFDAALCwsgAkGcDGoQwAoMBQsgAkHUC2oQzgMgCg0BCyACQeQJah\ +C+CgsgAkGABGoQxgMLIAJB+A5qEMEGCyACQegCahDzFAwBCyACQZgDakEIaiACQfgOakEIaikDADcD\ +ACACQZgDakEQaiACQfgOakEQaikDADcDACACQZgDakEYaiACQfgOakEYaikDADcDACACQcADaiACQd\ +QLakEIaigCADYCACACQcwDaiACQYAEakEIaigCADYCACACIAIpA/gONwOYAyACIAIpAtQLNwO4AyAC\ +IAIpAoAENwLEAwJAIAoNACACQeQJahC+CgsgAkGACGogAkHoAmpB9IrDAEEJEOwCIAJB2ARqQQhqIA\ +JBjAhqIgUoAgA2AgAgAiACKQKECDcD2AQCQAJAAkACQAJAAkACQCACKAKACCIDQQdHDQAgAkGACGog\ +AkHoAmpB6onDAEEGEOwCIAJB8ARqIgMgBSgCADYCACACIAIpAoQINwPoBAJAIAIoAoAIIgVBB0YNAC\ +AAQRhqIAJBkAhqQcAAEJMaGiAAQRRqIAMoAgA2AgAgACACKQPoBDcCDCAAIAU2AgggAEEANgIAIAJB\ +2ARqEL8KIAJBmANqEKMWIAJB6AJqEPMUDAgLIAJB0AVqIAJB6AJqQf2KwwBBCRCBCwJAIAIoAuAFQY\ +WAgIB4Rw0AIAJBkAdqEIAIIAIoApAHIQMMBwsgAkGABmogAkHQBWpBMBCTGhoCQCACKAKQBkGEgICA\ +eEoNAEEAIQMgAkHQBWogAkG/D2pB5P/CABD+ByEFDAULIAIoAqgGISUgAkGACWogAkHQBWoQ/xYgAk\ +EANgLsCSACQoCAgICAATcC5AkgAkH4CmpBCGohCSACQbALakEIaiEYIAJBsAZqQSRqIRIgAkGwBmpB\ +CGohBiACQfgOakEIaiEHIAJBoA1qQQRyIScgAkHgDWpBFGohCyACQfgOakEEciEWIAJB4A1qQQxqIQ\ +ogAkGADmohJiACQeANakEIaiEgIAJBsAZqQRRqIQ0gAkGgDWpBFGohDiACQbAGakEQaiEDIAJBoA1q\ +QTBqIQQgAkGgDmpBCGohHCACQcAOakEIaiEVIAJB4AxqQRRqISIgAkG4CmpBFGohFyACQbALakEQai\ +EjIAJBiApqQRRqIRsgAkGACWpBFGohHSACQeANakEEciEMIAJBgAlqQTBqIR8gAkHACWpBCGohGkEI\ +ISRBACEoQQAhIQNAIAJBsAZqIB8QqgoCQAJAAkACQCACKAKwBiIZQYCAgIB4Rw0AIAIgHjYCxAkgAi\ +AhNgLACSAhDQEgAkEgahCzEiACQcgOakEAKQPwxUo3AwAgAkEAKQPoxUo3A8AOIAIgAikDKDcD2A4g\ +AiACKQMgNwPQDgwCCyACQYAJahD9FiACQYAJaiADQTAQkxoaQZWAgIB4IQ8CQCACKAK0BiIFIAIoAr\ +gGIhNBzIzDAEEHEPEUIggNACAMIAUgExDEDEGMgICAeCEPCyAZIAUQ/BYgCEUNAgJAICENACACKAKQ\ +CSEFIAJBhYCAgHg2ApAJAkAgBUGFgICAeEcNABDrByEFDAcLIBsgHSkCADcCACACQYgKakEIaiACQY\ +AJakEIaikDADcDACAbQQhqIB1BCGopAgA3AgAgG0EQaiAdQRBqKQIANwIAIBtBGGogHUEYaigCADYC\ +ACACIAIpA4AJNwOICiACIAU2ApgKAkAgBUGEgICAeEoNACACQYgKaiACQb8PakGEgMMAEP4HIQUgAk\ +GICmoQiREMBwsgAigCsAohESACQbgKaiACQYgKahD/FiACKALsCiEFIAIoAvQKISEgAkH4AGoQsxIg\ +AikDeCErIAIpA4ABISwgAkGwBmpB0AAgISAFa0EGdiIFQbPmACAFQbPmAEkbENcFIBggBikDADcDAC\ +ACICw3A8gLIAIgKzcDwAsgAiACKQOwBjcDsAsDQCACQZwMaiACQbgKahC/CQJAAkACQAJAAkACQAJA\ +AkAgAigCnAwiGUGAgICAeGoOAgIAAQsgAigCoAwhBQwECyACKALICiEFIAJBhYCAgHg2AsgKIAIoAq\ +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\ +AvQaIAUgGjYC8BogBSABNgLgGiAFQeAUaiAFQcAtahD9BSAFKALgFCIBQYGAgIB4Rw0DIAUoAuQUIQ\ +QgBUHgGmoQ5hYMAQsgASEECyAFQbAsahCXFwsgBUHAJ2oQ5hYMEQsgBSgC5BQhGiAFKALoFCEbIAVB\ +4BRqIAVBkCJqQQRyQSwQkxoaIAVB4BRqQSxqIAVBwCJqQTAQkxoaIAVBvBVqIAVB8CJqQTAQkxoaIA\ +VB7BVqIAVBoCNqQTAQkxoaIAVBnBZqIAVB0CNqQTAQkxoaIAVBzBZqIAVBgCRqQTAQkxoaIAVB/BZq\ +IAVBsCRqQTAQkxoaIAVBrBdqIAVB4CRqQTAQkxoaIAVB3BdqIAVBkCVqQTAQkxoaIAVBjBhqIAVBwC\ +VqQTAQkxoaIAVBvBhqIAVB8CVqQTAQkxoaIAVB7BhqIAVBoCZqQTAQkxoaIAVBnBlqIAVB0CZqQTAQ\ +kxoaIAVBzBlqIAVBgCdqQTAQkxoaIAVB/BlqIAVBwCdqQTAQkxoaIAVBkC1qQQhqIhYgBUGwLGpBCG\ +ooAgA2AgAgBSAFKQKwLDcDkC0gBUGsGmogBUHgGmpBMBCTGhogBSAENgKgGyAFQaAbakEEciAFQeAU\ +akH8BRCTGiESIAVBoBtqQawGaiAWKAIANgIAIAUgAjYCwCEgBSAONgK8ISAFIAs2ArghIAUgHDYCtC\ +EgBSANNgKwISAFIAk2AqwhIAUgDDYCqCEgBSAINgKkISAFIAc2AqAhIAUgDzoA3CEgBUEAIBsgAUGA\ +gICAeEYiBxs2AtghIAVBBCAaIAcbNgLUISAFQQAgASAHGyIHNgLQISAFIAUpA5AtNwLEISAFKALMLS\ +AFKALELUYNDiAGQYz/wgBBlP/CABDeCiEEIAVBoBtqEOkHQYCAgIB4IQcMDwsgCSEEDB4LIAkhBAwc\ +CyAJIQQMGgsgCSEEDBgLIAkhBAwWCyAJIQQMFAsgCSEEDBILIAkhBAwQCyAJIQQMDgsgCSEEDAwLIA\ +khBAwKCyAJIQQMCAsgASEEDAQLIAEhBAwCCyAFQaAOaiASQawGEJMaGiAFQZAOakEIaiAFQdQhaiIG\ +QQhqKAIANgIAIAUgBikCADcDkA4LIAVBwC1qELMPDBILIAVBgCdqEOYWCyALIA4Q8RYLIAkgDRDxFg\ +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\ +ACABIARBf2o2AtQBCyACQQFqIQIMAQsLCyADQeACaiADQaADakEEckE8EJMaGgsgASABKALIAUEBaj\ +YCyAEgASABKAK4AUEBajYCuAECQCAEQSpHDQAgACADQfAAahCVBCAUIBQoAgBBAWo2AgAgDCAMKAIA\ +QQFqNgIAIAEgASgChAFBAWo2AoQBDBILIABBBGogA0HgAmpBPBCTGhogACAENgIADAgLIANB0AJqIA\ +0oAgAgDSgCBBDbEyANQQhqIQ0DQCADQfwBaiADQdACahDfAQJAIAMtAPwBQQRHDQAgAygC0AIgAygC\ +1AIQlhYMAgsgA0HAAmpBCGogA0H8AWpBCGotAAA6AAAgAyADKQD8ASImNwPAAkECIQICQAJAAkACQA\ +JAAkAgJqdB/wFxDgQDAgABAwtBAyECDAELQQQhAgsgA0HIAGogAkEBdiIHIBEgB0Gs4cgAEIEUIAMo\ +AkwhGiADKAJIIRsgA0HAAGogByARIAJBAXRqIAJBBnEiC2sgB0G84cgAEIEUIAMoAkAgC2pBfmohBE\ +EAIQIgAygCRCEJIBohCCAHQX9qIhkhBwNAIAsgAkYNASAIRQ0CAkAgGSAJTw0AIBsgAmoiBi8AACEK\ +IAYgBC8AADsAACAEIAo7AAAgCEF/aiEIIARBfmohBCAHQX9qIQcgAkECaiECDAELCyAHIAlB3OHIAB\ +DICwALIANBOGogA0HAAmoQwhUgASkCrAEhJiADKAI8IQIgAygCOCEEIAFCgICAgMAANwKsASABQQA2\ +ArQBIANBADYCyAEgAyAmNwPAASADQaADakEBIAQgAhC2CiADQcABaiADQaADahDiDgJAAkADQCADKA\ +LIASICRQ0EIAMgAkF/aiICNgLIASADQdABakEIaiADKALEASACQQR0aiICQQhqKQIAIiY3AwAgAyAC\ +KQIAIic3A9ABIANB8ABqQQhqICY3AwAgAyAnNwNwIAMtAHwiAkEESw0CIAJFDQEgAy0AcSEcIAMtAH\ +AhGiADQTBqQQEgA0HwAGogAkH4psgAEOUSIAMoAjQhHSADKAIwIR4gBSAmpyIfENwTIgIoAgQhBkEA\ +IRkgAigCCCIHIQICQANAIBkgAk8NAQJAIBkgAmpBAXYiBCAHTw0AIARBAWogGSAGIARBA3RqQQVqLQ\ +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\ +A0GgA2ogASgC6AEQowUgASgC3AEgAUHgAWooAgAQ/xUgBEEIaiADQeACakEIaigCADYCACAEIAMpAu\ +ACNwIACyADQaADaiABEPcMIAMoAqQDIQkCQAJAAkACQAJAAkAgAygCoAMiBEEqRw0AIANBoANqIAEQ\ +1A8gAygCpAMhDCADKAKgAyIEQSpHDQEgDSACQQN0aiEUA0ACQCANIBRHDQAgACAMNgIIIAAgCTYCBC\ +AAQSo2AgAMBwsgA0HgAmogDSgCACANKAIEENsTIA1BCGohDQNAIANB0AFqIANB4AJqEN8BAkAgAy0A\ +0AFBBEcNACADKALgAiADKALkAhCWFgwCCyADQfAAakEIaiADQdABakEIai0AADoAACADIAMpANABNw\ +NwIANBGGogA0HwAGoQwhUgAygCHEEBdCEIIAMoAhghAiAMIQQDQAJAAkACQAJAIAgNACADQaADaiAB\ +IAkgBBDGBSADKAKgAyICQSpGDQUgAEEEaiADQaADakEEckE8EJMaGiAAIAI2AgAMAQsgASgC5AEiB0\ +UNCCAHIAStIiZCpcaIocicp/lLhUKzg4CAgCB+IAItAAAiBq1C/wGDIieFQrODgICAIH4gAi0AASIK\ +rUL/AYMiKIVCs4OAgIAgfiAHrYKnIgVNDQkCQCABKALgASAFQQR0IgtqIgcvAQwgAS8B7AFHDQAgBC\ +AHKAIARw0AIAZB/wFxIActAARHDQAgCkH/AXEgBy0ABUcNACAHKAIIIQQMAwsgA0GgA2ogASAGIAoQ\ +oQggAygCqAMhBiADKAKkAyEHAkAgAygCoAMiCkEqRw0AIANBoANqIAEgBiAEEMYFIAMoAqADIgRBKk\ +YNAiAAQQRqIANBoANqQQRyQTwQkxoaIAAgBDYCAAwBCyAAQQxqIANBoANqQQxqQTQQkxoaIAAgBjYC\ +CCAAIAc2AgQgACAKNgIACyADKALgAiADKALkAhCWFgwKCyABKALkASIEIAVNDQggASgC4AEgC2oiBC\ +ABLwHsATsBDCAEIAc2AgggBCAnQiCGIChCKIaEICaENwIAIAchBAsgAkECaiECIAhBfmohCAwACwsL\ +CyAAQQhqIANBoANqQQhqQTgQkxoaIAAgCTYCBCAAIAQ2AgAMBAsgAEEIaiADQaADakEIakE4EJMaGi\ +AAIAw2AgQgACAENgIADAMLQYicyAAQihIACyAFIAdBmJzIABDICwALIAUgBEGonMgAEMgLAAsgASAB\ +KALYAUEBajYC2AEMBwsgCCAIKAIAQQFqNgIAIAQgBCgCAEEBajYCAAwGCyACKAIIIgcgAigCDCIFQR\ +xsaiEcAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBUUNAEEAIQQgByECIAUhCANAIAQg\ +AigCAEEBRmohBCACQRxqIQIgCEF/aiIIDQALIARBAkkNACAEIAVPDQELIAMgATYC2AEgAyAcNgLUAS\ +ADIAc2AtABIANBoANqIANB0AFqEOYSAkAgAygCoAMiAkErRw0AIAAgARDXCAwVCyADKAKoAyEIIAMo\ +AqQDIQQgAkEqRw0KIANBoANqIANB0AFqEOYSAkAgAygCoAMiAkErRw0AIAAgCDYCCCAAIAQ2AgQgAE\ +EqNgIADBULIAMoAqgDIQUgAygCpAMhByACQSpHDQkgA0GgA2ogARD3DCADKAKkAyECIAMoAqADIgZB\ +KkcNCCADQaADaiABENQPIAMoAqQDIQYgAygCoAMiCkEqRw0HIANBoANqIAEgAiAEEMYFIAMoAqADIg\ +RBKkcNBiADQaADaiABIAggBhDGBSADKAKgAyIEQSpHDQUgA0GgA2ogASACIAcQxgUgAygCoAMiBEEq\ +Rw0EIANBoANqIAEgBSAGEMYFIAMoAqADIgRBKkcNAyADQfAAakEIaiADQdABakEIaigCADYCACADIA\ +MpAtABNwNwIANB7AJqIQUDQCADQeACaiADQfAAahDmEgJAIAMoAuACIgRBK0cNACAAIAY2AgggACAC\ +NgIEIABBKjYCAAwWCyADKALoAiEHIAMoAuQCIQggBEEqRw0DIANBoANqIAEgAiAIEMYFIAMoAqADIg\ +RBKkcNAiADQaADaiABIAcgBhDGBSADKAKgAyIEQSpGDQALIABBBGogA0GgA2pBBHJBPBCTGhogACAE\ +NgIADBQLIAEtAAshAkEYQQQQzBEiFEIENwIQIBRCADcCCCAUQoCAgIDAADcCACADIAJBAXEiGjoAfC\ +ADQQE2AnggAyAUNgJ0IANBATYCcEEBIQlBASEEAkACQANAAkAgByAcRw0AIANB4ABqIAFBIGpBoJLI\ +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\ +mANqIAEgAxCKBSAEQcgAaiIDIARBmANqQQxqKQIANwMAIAQgBCkCnAM3A0AgBCgCmAMiAUGAgICAeE\ +cNASAEQaABakEMaiADKQMANwIAIAQgBCkDQDcCpAEgBEEANgKgASAEQZgDaiAEQaABahDiByACIARB\ +mANqEMkQDBgLIARBmANqIAEgAxDBAyAEQcgAaiIDIARBmANqQQxqKQIANwMAIAQgBCkCnAM3A0AgBC\ +gCmAMiAUGAgICAeEYNDiAAIAQpAqwDNwIUIABBJGogBEGYA2pBJGooAgA2AgAgAEEcaiAEQZgDakEc\ +aikCADcCACAAQQxqIAMpAwA3AgAgACAEKQNANwIEIAAgATYCAAwZCyAAIAQpAqwDNwIUIABBJGogBE\ +GYA2pBJGooAgA2AgAgAEEcaiAEQZgDakEcaikCADcCACAAQQxqIAMpAwA3AgAgACAEKQNANwIEIAAg\ +ATYCAAwYCyABKAIAIgItABRFDQsgBEGYA2ogAhDBCCAEKAKYA0EQRg0IIARBwABqQRhqIARBmANqQR\ +hqKAIANgIAIARBwABqQRBqIARBmANqQRBqKQIANwMAIARBwABqQQhqIARBmANqQQhqKQIANwMAIAQg\ +BCkCmAM3A0AgBEGAA2ogBEHAAGoQuAsgBEGYA2ogASADQdgAaiADLQBwIARBgANqEJUKAkAgBCgCmA\ +MiA0GAgICAeEcNACAEQcwAaiAEQYADakEIaikCADcCACAEIAQpAoADNwJEIARBADYCQCAEQZgDaiAE\ +QcAAahDiByACIARBmANqEMkQDBYLIABBBGogBEGYA2pBBGpBJBCTGhogACADNgIAIAQoAoADIAQoAo\ +QDEJYWDBcLIARBADYCzAIgBEKAgICAwAA3AsQCIAEoAgAhBSAEQcAAakEEaiEBIARBmANqQQRqIQIC\ +QAJAA0AgBEGYA2ogBRDBCCAEKAKYAyIDQRBGDQEgASACKQIANwIAIAFBEGogAkEQaikCADcCACABQQ\ +hqIgcgAkEIaikCADcCACAEIAM2AkACQAJAAkACQAJAAkACQAJAAkACQEEAIANBeWogA0EISRsOCQgA\ +AQIDBAUHBggLIARBgANqQQhqIAcoAgA2AgAgBCABKQIANwOAAyAEQdACaiAEQYADahCvDAwICyAEQQ\ +E2ApwDIARB/JnJADYCmAMgBEIANwKkAyAEIARBiAFqNgKgAyAEQZgDakGEmskAEKYOAAsgBEEBNgKc\ +AyAEQeSayQA2ApgDIARCADcCpAMgBCAEQYgBajYCoAMgBEGYA2pB7JrJABCmDgALIARBATYCnAMgBE\ +HMm8kANgKYAyAEQgA3AqQDIAQgBEGIAWo2AqADIARBmANqQdSbyQAQpg4ACyAEQQE2ApwDIARBsJzJ\ +ADYCmAMgBEIANwKkAyAEIARBiAFqNgKgAyAEQZgDakG4nMkAEKYOAAsgBEEBNgKcAyAEQZydyQA2Ap\ +gDIARCADcCpAMgBCAEQYgBajYCoAMgBEGYA2pBpJ3JABCmDgALIARBATYCnAMgBEGMnskANgKYAyAE\ +QgA3AqQDIAQgBEGIAWo2AqADIARBmANqQZSeyQAQpg4ACyAEQQg2AtACIARBwABqEIcODAQLIARB0A\ +JqQRhqIARBwABqQRhqKAIANgIAIARB0AJqQRBqIARBwABqQRBqKQIANwMAIARB0AJqQQhqIARBwABq\ +QQhqKQIANwMAIAQgBCkCQDcD0AILIAQoAtACQQhGDQIgBEGYA2ogBRDBCCAEKAKYA0EQRg0LIARBwA\ +BqQRhqIARBmANqQRhqKAIANgIAIARBwABqQRBqIARBmANqQRBqKQIANwMAIARBwABqQQhqIARBmANq\ +QQhqKQIANwMAIAQgBCkCmAMiDjcDQCAOp0EPRw0MIARBwABqEIcOIARBxAJqIARB0AJqENwLDAALCy\ +AEQQg2AtACCyAEQdACahDkFyAEKALIAiAEKALMAhC1BSAEQZgDaiAEQcQCahBGIAUgBEGYA2oQyRAM\ +FAsgBEEANgKkAiAEQoCAgIDAADcCnAIgASgCACEHIARBwABqQQRqIQEgBEGYA2pBBGohAgNAIARBmA\ +NqIAcQwQgCQAJAAkAgBCgCmAMiA0EQRg0AIAEgAikCADcCACABQRBqIAJBEGopAgA3AgAgAUEIaiIF\ +IAJBCGopAgA3AgAgBCADNgJAAkACQAJAAkACQAJAAkACQAJAAkBBACADQXlqIANBCEkbDgkIAAECAw\ +QHBQYICyAEQYADakEIaiAFKAIANgIAIAQgASkCADcDgAMgBEGoAmogBEGAA2oQrwwMCAsgBEEBNgKc\ +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\ +C/FUUNARDdDSECIAMQphgMAgsgBSACQQFBARC/FUUNACAEQYgDaiAEQegBaikCADcDACAEQZADaiAE\ +QfABaigCADYCACAEIAQpAuABNwOAAyAEKAL0ASECIAQoAtwBIQEMAQsgBEHAAGoQxAQhAiAEQYADak\ +EQaiAEQcAAakEQaigCADYCACAEQYADakEIaiAEQcAAakEIaikCADcDACAEIAQpAkA3A4ADQQQhAQwB\ +CyADEOkZCyAEQaQDaiAEQYgDaikDADcCACAEQawDaiAEQZADaigCADYCACAEIAE2ApgDIAQgBCkDgA\ +M3ApwDIAQgAjYCsAMgByAEQZgDahDJEAwDCwJAAkACQAJAAkAgB0EBcQ0AIAZBAXEhBwJAIAJB/wFx\ +DQAgBw0EIARB7AJqIAVBCHQgBUH/AXFyEN8FIARB7AJqEKUFIARBjANqIARB7AJqQQhqKQIANwIAIA\ +QgBCkC7AI3AoQDIARBATYCgAMgBEHAAGogBEGAA2oQ4gcMBQsgBw0CIAVBf0oNAUECIQgMBQsCQCAC\ +Qf8BcUUNACAEQYQDakKAgICA8P+/CBDUBSAEQQA2AoADIARBwABqIARBgANqEOIHDAQLIARBhANqQY\ +D+AxDfBSAEQQE2AoADIARBwABqIARBgANqEOIHDAMLIARB7AJqIAWtQv8BgyIOQiCGIA6EENQFIARB\ +7AJqELoFIARBjANqIARB9AJqKQIANwIAIAQgBCkC7AI3AoQDIARBADYCgAMgBEHAAGogBEGAA2oQ4g\ +cMAgsgBEKOgICA8P+/CDcCkAMgBEKLgICAwAE3AogDIARCgICAgJABNwKAAyAEQfACaiAEQYADahDz\ +BCAEQQA2AuwCIARBwABqIARB7AJqEOIHDAELIARBjv4DOwDwAiAEQYCSrOAANgDsAiAEQYQDaiAEQe\ +wCahCSBSAEQQE2AoADIARBwABqIARBgANqEOIHCyAEQbQDaiAEQdgAaigCADYCACAEQawDaiAEQdAA\ +aikCADcCACAEQaQDaiAEQcgAaikCADcCACAEIAQpAkA3ApwDDAELIARBmANqIAEoAgQgASgCCCAEQY\ +gBaiAIEPEQIAQoApgDIgFBgICAgHhHDQILIARBgAFqIARBtANqKAIANgIAIARB+ABqIARBrANqKQIA\ +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\ +AnQgDiAQampBlNXHABC8FCgCACEKDAYLIBIoAgAgESgCACAOIBBqIAtBAnRqQQFqQYTVxwAQvBQoAg\ +AhCgwFCyASKAIAIBEoAgAgDiAQaiALQQJ0akECakH01McAELwUKAIAIQoMBAsgEigCACARKAIAIA1B\ +AWpB1NXHABC8FCgCACENDAALCyAEIAZBoIvAABDICwALIBIoAgAgESgCACANQQJqQbTVxwAQvBQoAg\ +AhCgsCQAJAIAogASgCtAJLDQAgCkUNBAJAIAogASgCuAJLDQAgASgCKCEMIANBwABqIAFBBGooAgAg\ +AUEIaigCACAKQfTVxwAQ0xAgAygCRCIKRQ0GAkACQCADKAJAIggtAAAiAkH/AUYNACACIAJBAnZqIA\ +JBA3FBAEdqQQJqIQIMAQsgDEECaiECCyACIApPDQcgCCACQQJ0aigCACIMQX9MDQICQCACQQFqIgIg\ +Ck8NACAIIAJBAnRqKAIAIQIMBQsgAiAKQbTDxwAQyAsACyADQaABaiABKAIcIBMoAgAgByAGIAQgBR\ +DKEyADQThqIAMoAqABIAMoAqQBEOMVAkAgAygCOA0AIABBADYCAAwRCyADKAI8IgIgBEsNAgsgBEEB\ +aiECDAELCyAMQf////8HcSECCyADQZABaiACIARBAWoiCiABQRBqKAIAIAFBFGooAgAgAkHk1ccAEL\ +wUKAIAayAKEOQMIABBATYCACAAQQxqIANBmAFqKAIANgIAIAAgAykCkAE3AgQMDAsgAEEANgIADAsL\ +QQBBAEHUw8cAEMgLAAsgAiAKQaTDxwAQyAsACyACIApBpMPHABDICwALQQBBAEHUw8cAEMgLAAsgAC\ +ADKQKkATcCBCAAQQxqIANBoAFqQQxqKAIANgIACyAAIAI2AgAMBQsgC0ECaiEICyAIIAxPDQECQAJA\ +IA0gCEECdGooAgAiC0F/TA0AAkAgCEEBaiIIIAxPDQAgDSAIQQJ0aigCACEIDAILIAggDEG0w8cAEM\ +gLAAsgC0H/////B3EhCAsgA0GQAWogCCAEIAFBEGooAgAgAUEUaigCACAIQeTVxwAQvBQoAgBrIAQQ\ +5AwgASgCHCEIQQEhCQsgA0GgAWogCCABQSBqIhQoAgAgAigCCCIGIAIoAgwiECAEIAUQyhMCQAJAAk\ +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\ +ACEPEDIAMoAighBAJAAkACQAJAAkAgAygCLCIFRQ0AIANBADYCnAIgA0KAgICAgAE3ApQCIANBuAVq\ +QThqIQYgA0HQB2pBOGohByADQYALakE4aiEIIANB2AZqQegAaiEJIANB2AZqQRRqIQogA0HYCGpB4A\ +BqIQsgA0HYCGpBDGohDCADQdAHakHgAGohDSADQdAHakEMaiEOIANB2AZqQRhqIQ8gA0G4BWpBCGoh\ +ECADQaACakEIaiERIANBoAJqQegAaiESIANBoAJqQRRqIRMgA0G4BWpB4ABqIRQgA0G4BWpBDGohFS\ +ADQYALakHgAGohFiADQYALakEMaiEXIANB2AZqQQhqIRggA0HICWpBCGohGSADQcgJakEcaiEaIANB\ +2AhqQSRqIRsgA0HYCGpBEGohHCADQZgKakEkaiEdIANBmApqQRxqIR4gA0HQB2pBCGohHyADQdgIak\ +EcaiEgIANBuAVqQSRqISEgA0GABmohIiADQbgFakEcaiEjIANBnAZqISQgA0HYBmpBJGohJSADQYAL\ +akEcaiEmIANBqQpqIScgA0GrCmohKCADQZgKakEPaiEpIAUhKiAEISsCQAJAA0ACQCAqDQBBACEsDA\ +ILIANBuAVqICsgKhCYAgJAAkACQAJAAkACQAJAAkACQAJAIAMpA8AFIjdCAlENACADKAK8BSEtIAMo\ +ArgFISwgAygCyAUhAiADKALMBSEBIAMoAtAFIS4gAykC1AUhOCAmICFBLBCTGiEvIAMgODcClAsgAy\ +AuNgKQCyADIAE2AowLIAMgAjYCiAsgAyA3NwOACyADQbgFaiAsIC0QtwMgAygCwAUhMCADKAK8BSEx\ +IAMoArgFIjJBgYCAgHhHDQIgA0HYBmpB4bLJAEEBEMQMIANBuAVqIAMoAtwGIi0gAygC4AYgMSAwEO\ +gLIAMoAsAFITAgAygCvAUhMSADKAK4BSIyQYGAgIB4Rw0BIAMoAtgGIC0Q/BYgA0G4BWogMSAwELcD\ +IAMoAsAFITAgAygCvAUhMSADKAK4BSIyQYGAgIB4Rw0CIANB2AZqIDEgMBCYAgJAIAMpA+AGIjlCAl\ +INACADKQL0BiE3IAMoAvAGITAgAygC7AYhMSADKALoBiEyDAQLIAMoAtwGIS0gAygC2AYhMiADKQPo\ +BiE6IAMoAvAGISwgAykC9AYhOyAkICVBLBCTGhogIyAvQSwQkxoaIAMgOzcClAYgAyAsNgKQBiADID\ +o3A4gGIAMgOTcDgAYgAyA4NwLMBSADIC42AsgFIAMgATYCxAUgAyACNgLABSADIDc3A7gFIANB0Adq\ +IANBuAVqEMEKIANB2AZqQRBqQgA3AwAgGEIANwMAIA9CgICAgMAANwMAIANCADcD2AYgA0IENwOABy\ +ADQgA3A/gGAkACQCADKQOgBlBFDQBBASECQgEhNwwBCyADIAMpA6gGNwPoBkEAIQJCACE3CwJAAkAg\ +AykDkAZCAFINAEIBITggA0IBNwPYBkEBIQJCACE3DAELIDcgAykDmAZ8ITdCACE4CyADIDc3A+AGAk\ +ACQCA5QgBSDQAgA0HYBmoQ9BZBgICAgHghAQwBCyADIDggAykDiAZ8NwPYBgJAIAINACADQYALaiAD\ +KAK0BiADKAK4BhCWByAPEI0WIA9BCGogA0GAC2pBCGooAgA2AgAgDyADKQKACzcCAAsgByADQdgGak\ +EwEJMaGiADIAI6ALgIIAMoAqwIIQELIANBuAVqEMkXICIQyRcgAygC0AchMCADKALUByEzIAMoAtgH\ +IQIgA0HoBGogDkHQABCTGhogA0HYBGpBCGoiLiANQQhqKQMANwMAIAMgDSkDADcD2AQCQCABQYGAgI\ +B4Rw0AIC0hMQwGCyADQYgEaiADQegEakHQABCTGhogA0H4A2pBCGogLikDADcDACADIAMpA9gENwP4\ +AwwGCyADKQLUBSE3IAMoAtAFITAgAygCzAUhMSADKALIBSEyDAMLIAMpAsQFITcgAygC2AYgLRD8Fg\ +wBCyADKQLEBSE3CyADQYALahDJFwsgN0IgiKchAiA3pyEzCwJAAkACQAJAIDJBgICAgHhHDQAgA0EA\ +NgLUBiADQoCAgICAATcCzAZBCCE0QQAhNUEAIS8gKiEtICshLgJAAkACQANAAkAgLQ0AQQAhLQwCCy\ +ADQbgFaiAuIC0QtgYgAygCwAUhLCADKAK8BSECAkACQAJAAkACQAJAAkACQAJAIAMoArgFIgFBgYCA\ +gHhHDQAgA0G4BWogAiAsEPcEIAMoAsAFISwgAygCvAUhAiADKAK4BSIBQYGAgIB4Rg0BCyADKQLEBS\ +E3AkAgAUGAgICAeEYNACADIDc8AOQIIANB2AhqQQ9qIDenIjJBGHY6AAAgAyAsNgLgCCADIAI2AtwI\ +IAMgATYC2AggAyA3QiCIPgLoCCADIDJBCHY7AOUIDAILIANB2AhqIC4gLRD3BEGAgICAeCACEIEXIA\ +MoAuAIISwgAygC3AghAiADKALYCCIBQYGAgIB4Rw0BCyADQbgFaiACICwQmAICQCADKQPABSI3QgJS\ +DQAgAykC1AUhNyADKALQBSEsIAMoAswFIQIgAygCyAUhAQwCCyADKAK4BSEBIAMoArwFIQIgAykDyA\ +UhOCADKALQBSEsIAMpAtQFITkgICAhQSwQkxoaIAMgOTcC7AggAyAsNgLoCCADIDg3A+AIIAMgNzcD\ +2AggHyADQdgIahCPCiADQdgIahDJFyADIAI2AtQHIAMgATYC0AcgAygCtAhBgYCAgHhGDQIgA0HYBm\ +ogA0HQB2pB+AAQkxoaDAMLIAMpAuQIITcLIANBgYCAgHg2ArQIIAMgNzcC3AcgAyAsNgLYByADIAI2\ +AtQHIAMgATYC0AcLAkACQAJAAkACQCABQYCAgIB4Rw0AIANB2AhqIC4gLRC2BiADKALgCCEyIAMoAt\ +wIIQECQAJAIAMoAtgIIixBgYCAgHhHDQAgA0HYCGogASAyEIYFIAMoAuAIITIgAygC3AghASADKALY\ +CCIsQYGAgIB4Rg0BCyADKQLkCCE3AkAgLEGAgICAeEYNACADIDc8AKQKICkgN6ciNkEYdjoAACADID\ +I2AqAKIAMgATYCnAogAyAsNgKYCiADIDdCIIg+AqgKIAMgNkEIdjsApQoMAwsgA0GYCmogLiAtEIYF\ +QYCAgIB4IAEQgRcgAygCoAohMiADKAKcCiEBIAMoApgKIixBgYCAgHhHDQILIANB2AhqIAEgMhCYAg\ +JAIAMpA+AIIjdCAlINACADKQL0CCE3IAMoAvAIITIgAygC7AghASADKALoCCEsDAMLIAMoAtgIISwg\ +AygC3AghASADKQPoCCE4IAMoAvAIITIgAykC9AghOSAeIBtBLBCTGhogAyA5NwKsCiADIDI2AqgKIA\ +MgODcDoAogAyA3NwOYCiAQIANBmApqENYEIANBmApqEMkXIAMgATYCvAUgAyAsNgK4BSADKAKcBkGB\ +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\ +IAMgLiAta0HwAG42AlxBAEEIEP0VIANBADYCUCArIQIMAwsgAygCpAEhASADKAKgASECAkACQCADKA\ +K0ASIuIAMoArgBIjIQsQgiLQ0AIANB2ABqIANBsAFqKAIANgIAIAMgATYCTCADIAI2AkggAyADKQOo\ +ATcCUCABISwMAQsgA0HUAGogLiAyEMQMIANBATYCUCACIAEQgRcgKyECCyADQaACahDhECAtDQIMAw\ +sgA0GQAWpBCGoiASAQQQhqKAIANgIAIAMgECkCADcDkAEgAygCvAUhLCADQZQCahDhECADQdgAaiAB\ +KAIANgIAIAMgAykDkAEiNzcDgAEgAyA3NwJQDAILQfAAQQgQzBEiAkGAgICAeDYCXCACQYCAgIB4Ng\ +IkIANBATYCXCADIAI2AlggA0KAgICAEDcCUEEAISwgBCECCyADQTBqQQhqIANBxABqQRRqKQIAIjc3\ +AwAgAyADKQJQIjg3AzAgA0G4BWpBCGoiASA3NwMAIAMgODcDuAUgA0HwAGogBCAFEMQMIANB4ABqQQ\ +hqIAEpAwAiNzcDACADQaACakEIaiIuIANB4ABqQRRqKAIANgIAIAMgAykDuAUiODcDYCADIAMpAmw3\ +A6ACIAMoAmQhASA3pyEtAkAgOKciMkECRw0AIAEhAiAtISwMAgsgAygCeCEvIANBuAVqQRRqIC4oAg\ +A2AgAgAyAtNgLABSADIAE2ArwFIAMgMjYCuAUgAyADKQOgAjcCxAUgAyAvNgLQBQJAICxFDQAgA0HY\ +BmogAiAsEN0YIANB0AdqIANB2AZqEMoXIANBuAVqELATDAMLIANB0AdqQRhqIANBuAVqQRhqKAIANg\ +IAIANB0AdqQRBqIANBuAVqQRBqKQIANwMAIANB0AdqQQhqIANBuAVqQQhqKQIANwMAIAMgAykCuAU3\ +A9AHDAILIANBqAJqIANB2ABqKAIANgIAIAMgAykCUDcDoAILAkAgAkGAgICAeEcNACADQbgFaiAEIA\ +UQ3RggA0HQB2ogA0G4BWoQyhcMAQsgA0HIBWogA0GoAmooAgA2AgAgAyAsNgK8BSADIAI2ArgFIAMg\ +AykDoAI3AsAFIANB0AdqIANBuAVqEMoXCwJAAkAgAygC0AdBAkYNACAAIAMpA9AHNwIAIABBGGogA0\ +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\ +ogAkGEAWoQRiACQdABaiACQeABahDcCyACQeABaiACQdABahB4IAJB6ABqQQhqIgEgAkHgAWpBDGoo\ +AgA2AgAgAkHYAGpBCGoiBCACQeABakEYaigCADYCACACIAIpAuQBNwNoIAIgAikC8AE3A1ggAigC4A\ +EiA0EIRg0EIAAgAikDaDcCBCAAIAIpA1g3AhAgACADNgIAIABBDGogASgCADYCACAAQRhqIAQoAgA2\ +AgAMCAsgBiAMKQIENwIAIAZBCGogDEEMaikCADcCACANIAxBFGopAgA3AgAgAiAENgKgASACQeABai\ +ACQaABahC5EQJAIAIoAuABQQZHDQAgAkHAAWpBCGoiBSAHQQhqKAIAIgQ2AgAgAiAHKQIANwPAASAE\ +IApJDQIgAkHgAWogBCAKayIEENQIIAIoAuQBIQkgAigC4AENAyACIAo2AsgBIAIoAugBIAIoAsQBIA\ +pBHGxqIARBHGwQkxohCCACIAQ2AogCIAIgCDYChAIgAiAJNgKAAiACQeABaiACQYACahB4IAJBhAFq\ +IAJB4AFqENwLAkACQCACKAKAAQ0AIAJB+ABqEJgYIAJB+ABqQQhqIAUoAgA2AgAgAiACKQPAATcDeA\ +wBCyACQcABahCYGAsgDEEcaiEMIANBHGohAyABQWRqIQEMAQsLQdKtygBBKEG4ockAEO0PAAsgCiAE\ +QYjI0wAQ0gsACyAJIAIoAugBEK4YAAsgAkEIakEIaiACQegAakEIaigCACIBNgIAIAIgAikDaDcDCC\ +ACIAIoAgwiBCABQRxsajYC7AEgAiAENgLoASACQQA2AuABIAJB4AFqEL8MIQECQAJAIAJB4AFqEL8M\ +IgQNAEEAIQQMAQsgBCgCACgCACIEKAIUIQ4gBCgCECEECyACKALgAUUhCSACKALsASEPIAIoAugBIR\ +AgAigC5AEhEUEBIQZBASEHQQAhA0EAIQxBACEIQX9BACABGyIFIQ1BACESQQAhCkEAIRNBACEUA0BB\ +ACEVA0AgCiEWA0ACQAJAAkACQAJAIAlBAXFFDQAgECAPRg0CIBBBGGohASAQQRxqIRAMAQsgESEBIB\ +FFDQELIAEoAgAhASAHQQFxIQpBACEHAkAgCkUNACABLQAwQQBHIQcLIAEoAiwhCiABKAIQIgkgBHJF\ +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\ +JqKQMANwIAIABBIGogAkH4AWopAwA3AgAMEwsgACACKQPwATcCGCAAQYYGOwEwIABCgoCAgKgBNwIQ\ +IABBIjYCACAAQShqIAJBgAJqKQMANwIAIABBIGogAkH4AWopAwA3AgAMEgsgACACKQPwATcCGCAAQY\ +YIOwEwIABCgoCAgNgBNwIQIABBIjYCACAAQShqIAJBgAJqKQMANwIAIABBIGogAkH4AWopAwA3AgAM\ +EQsgACACKQPwATcCGCAAQYYKOwEwIABCgoCAgLgBNwIQIABBIjYCACAAQShqIAJBgAJqKQMANwIAIA\ +BBIGogAkH4AWopAwA3AgAMEAsgACACKQPwATcCFCAAQQI6ACwgAEGDgICAeDYCECAAQSI2AgAgAEEk\ +aiACQYACaikDADcCACAAQRxqIAJB+AFqKQMANwIADA8LIAAgAikD8AE3AhQgAEEDOgAsIABBg4CAgH\ +g2AhAgAEEiNgIAIABBJGogAkGAAmopAwA3AgAgAEEcaiACQfgBaikDADcCAAwOCyACQYgCakEQaiIH\ +IAJB8AFqQRBqKQMANwMAIAJBiAJqQQhqIgggAkHwAWpBCGopAwA3AwAgAiACKQPwATcDiAJBBCEGIA\ +UoAgAgASgCCCIERg0IIAEQ3QhB+wBHDQggAiABEN0IIgk2AuQCIAlB+wBHDQQgAkHoAmpBCGogBUEI\ +aiIJKAIANgIAIAIgBSkCADcD6AIgARCGFA0DIAJBrANqIAkoAgA2AgAgAkGYA2pBCGogAkEQakEIai\ +gCADYCACACIAIpAxA3A5gDIAIgBSkCADcCpAMgAkEeNgKYASACQaQCaiABKAIEIAQgAkGYA2ogAkGY\ +AWoQiAsMBwsgACACKQPwATcCFCAAQQU6ACwgAEGDgICAeDYCECAAQSI2AgAgAEEkaiACQYACaikDAD\ +cCACAAQRxqIAJB+AFqKQMANwIADAwLIAAgAikD8AE3AhQgAEEIOgAsIABBg4CAgHg2AhAgAEEiNgIA\ +IABBJGogAkGAAmopAwA3AgAgAEEcaiACQfABakEIaikDADcCAAwLCyAAIAIpA/ABNwIUIABBCToALC\ +AAQYOAgIB4NgIQIABBIjYCACAAQSRqIAJBgAJqKQMANwIAIABBHGogAkH4AWopAwA3AgAMCgsgAkH4\ +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\ +AgA2AgAgAUEIaiACQYgEakEIaikDADcCACABQRBqIAJBiARqQRBqKQMANwIAIAFBGGogAkGIBGpBGG\ +ooAgA2AgAgAiAENgLABCACIAM2AtAEAkAgA0GFgICAeEYNACACQcABaiACQcAEahClEQwBCwsgAkHA\ +BGoQ5hYgAEEIaiACQcABakEIaigCADYCACAAIAIpAsABNwIAIABBhICAgHg2AhAMCgsgAkGgAmogAR\ +DsBiACKAKgAiEBAkACQAJAIAItAKQCIgNBfmoOAgIAAQsgAEGFgICAeDYCECAAIAE2AgAMCwsgAiAB\ +NgLAASACIANBAEc6AMQBIAJBADYC4AMgAkKAgICAgAE3AtgDIAJBmANqQRRqIQEgAkGYA2pBBHIhBC\ +ACQaACakEUaiEFIAJBoAJqQQRyIQgCQAJAAkACQANAIAJBCGogAkHAAWoQngkgAigCDCEHQYWAgIB4\ +IQMCQAJAIAIoAggOAwADAQALIAJBoAJqIAcQViACKAKgAiEGIAIoArACIgNBhYCAgHhGDQMgAkHgAm\ +pBCGogCEEIaigCADYCACACQYgEakEIaiAFQQhqKQIANwMAIAJBiARqQRBqIAVBEGopAgA3AwAgAkGI\ +BGpBGGogBUEYaigCADYCACACIAgpAgA3A+ACIAIgBSkCADcDiAQLIAQgAikD4AI3AgAgASACKQOIBD\ +cCACAEQQhqIAJB4AJqQQhqKAIANgIAIAFBCGogAkGIBGpBCGopAwA3AgAgAUEQaiACQYgEakEQaikD\ +ADcCACABQRhqIAJBiARqQRhqKAIANgIAIAIgBjYCmAMgAiADNgKoAyADQYWAgIB4Rg0DIAJB2ANqIA\ +JBmANqEKURDAALCyAHIQYLIABBhYCAgHg2AhAgACAGNgIAIAJB2ANqEO8XDAELIAJBmANqEOYWIABB\ +CGogAkHYA2pBCGooAgA2AgAgACACKQLYAzcCACAAQYSAgIB4NgIQCyACKALAARDwFwwKCyAAIAJB+A\ +BqELQSDAkLAkAgARCrGUUNABABIgMgARD8GCEEIAMQ8BcCQCAERQ0AIAEQrBlFDQELIAIgATYCcCAC\ +QaACaiABEOwGIAIoAqACIQMCQAJAIAItAKQCIgRBfmoOAgYAAQsgAEGFgICAeDYCECAAIAM2AgAMCQ\ +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\ +NgIAIAVB1AJqQSw2AgAgBUHMAmpBLjYCACAFQQU2AuQBIAVBgKLHADYC4AEgBUIENwLsASAFQS42As\ +QCIAUgBUHAAmo2AugBIAUgBUHUAGo2AtgCIAUgBUHYAGo2AtACIAUgBUHcAGo2AsgCIAUgBUHMAGo2\ +AsACIABBCGogBUHgAWoQ6A0gAEKDgICAgICAgIB/NwIACyAFQbADaiQAC6cYARJ/IwBBMGsiAyQAAk\ +ACQAJAAkACQAJAAkACQCACKAIAIgQgAigCBCIFSw0AIAEtANgCRSACLQARQQBHciEGAkACQAJAIAIt\ +ABANACABKAIoIgdFDQQgBg0FIAEoAtACIghFDQFBACEJAkAgCCABKALMAksNACABQRBqKAIAIAFBFG\ +ooAgAgCCABKAI8dkF+akGI08cAELgUIgooAgQgCigCCEEAQZjTxwAQvBQoAgAhCiADQRBqIAogBCAB\ +QRxqKAIAIAFBIGooAgAgCkH40scAELwUKAIAayAEEOQMIAEoAighB0EBIQkLIANBIGogByABQSxqIg\ +soAgAgAigCCCIMIAIoAgwiCiAEIAUQyhMgAygCICICDgMHBggHCyABKALUAiIIRQ0BQQAhDQJAIAgg\ +ASgCzAJLDQAgAUEQaigCACABQRRqKAIAIAggASgCPHZBfmpBiNPHABC4FCIKKAIEIAooAghBAEGY08\ +cAELwUKAIAIQogA0EQaiAKIAQgAUEcaigCACABQSBqKAIAIApB+NLHABC8FCgCAGsgBBDkDEEBIQ0g\ +A0EQaiEKIAYNCQsgBSAEIAUgBEsbIQUgAigCDCIOIAQgDiAESxshCiABQcAAaiEMIAIoAgghByABQQ\ +hqIQsgAUEEaiEPIAFBFGohECABQRBqIREgAUEgaiESIAFBHGohEyAEIQIDQAJAIAUgAkcNACAAIAMp\ +AxA3AgQgACANNgIAIABBDGogA0EYaigCADYCAAwLCwJAAkAgCiACRg0AIA8oAgAgCygCACAIIAwgBy\ +ACai0AAGotAABqQejSxwAQvBQoAgAiCCABKALIAksNAQJAIAgNACADQRBqIQoMDAsgCCABKALMAksN\ +ASARKAIAIBAoAgAgCCABKAI8dkF+akGI08cAELgUIhQoAgQgFCgCCEEAQZjTxwAQvBQoAgAhFCADQS\ +BqIBQgAkEBaiIJIBMoAgAgEigCACAUQfjSxwAQvBQoAgBrIAkQ5AwgAygCICAESw0BIANBEGpBCGog\ +A0EgakEIaigCADYCACADIAMpAiA3AxBBASENIAZFDQEgA0EgaiEKDAsLIAogDkGgi8AAEMgLAAsgAk\ +EBaiECDAALCxCZGiECIABBAjYCACAAIAI2AgQMCAsQmhohAiAAQQI2AgAgACACNgIEDAcLIABBADYC\ +AAwGCwJAIAYNAAJAIAEoAtACIghFDQBBACEJAkAgCCABKALMAksNACABQRBqKAIAIAFBFGooAgAgCC\ +ABKAI8dkF+akGI08cAELgUIgooAgQgCigCCEEAQZjTxwAQvBQoAgAhCiADQSBqIAogBCABQRxqKAIA\ +IAFBIGooAgAgCkH40scAELwUKAIAayAEEOQMQQEhCQsgBSAEIAUgBEsbIQUgAigCDCITIAQgEyAESx\ +shCiABQcAAaiEMIAIoAgghAiABQQhqIQcgAUEEaiELIAFBFGohBiABQRBqIRAgAUEgaiERIAFBHGoh\ +EgNAAkAgBSAERw0AIAAgAykCIDcCBCAAIAk2AgAgAEEMaiADQShqKAIANgIADAkLAkACQCAKIARGDQ\ +AgCygCACAHKAIAIAggDCACIARqLQAAai0AAGpB6NLHABC8FCgCACIIIAEoAsgCSw0BAkACQCAIRQ0A\ +IAggASgCzAJNDQEMAwsgACADKQIgNwIEIAAgCTYCACAAQQxqIANBKGooAgA2AgAMCwsgECgCACAGKA\ +IAIAggASgCPHZBfmpBiNPHABC4FCIPKAIEIA8oAghBAEGY08cAELwUKAIAIQ9BASEJIANBIGogDyAE\ +QQFqIhQgEigCACARKAIAIA9B+NLHABC8FCgCAGsgFBDkDAwBCyAKIBNBoIvAABDICwALIARBAWohBA\ +wACwsQmRohAiAAQQI2AgAgACACNgIEDAYLAkAgASgC0AIiCEUNAAJAAkACQCAIIAEoAswCTQ0AIAIo\ +AgwiDyAEIA8gBEsbIQogAUHAAGohDCACKAIIIQIgAUEIaiEHIAFBBGohCwNAAkAgBSAERw0AIABBAD\ +YCAAwLCwJAAkAgCiAERg0AIAsoAgAgBygCACAIIAwgAiAEai0AAGotAABqQejSxwAQvBQoAgAiCCAB\ +KALIAksNAQJAIAgNAEEAIQIMBgsgCCABKALMAksNASABQRBqKAIAIAFBFGooAgAgCCABKAI8dkF+ak\ +GI08cAELgUIgIoAgQgAigCCEEAQZjTxwAQvBQoAgAhAiADQSBqIAIgBEEBaiIIIAFBHGooAgAgAUEg\ +aigCACACQfjSxwAQvBQoAgBrIAgQ5AwMBAsgCiAPQaCLwAAQyAsACyAEQQFqIQQMAAsLIAFBEGooAg\ +AgAUEUaigCACAIIAEoAjx2QX5qQYjTxwAQuBQiAigCBCACKAIIQQBBmNPHABC8FCgCACECIANBIGog\ +AiAEIAFBHGooAgAgAUEgaigCACACQfjSxwAQvBQoAgBrIAQQ5AwLIAAgAykCIDcCBCAAQQxqIANBKG\ +ooAgA2AgBBASECCyAAIAI2AgAMBgsQmRohAiAAQQI2AgAgACACNgIEDAULAkACQAJAAkACQCABKALQ\ +AiIIRQ0AAkAgCCABKALMAksNACABQRBqKAIAIAFBFGooAgAgCCABKAI8dkF+akGI08cAELgUIgIoAg\ +QgAigCCEEAQZjTxwAQvBQoAgAhAiADQRBqIAIgBCABQRxqKAIAIAFBIGooAgAgAkH40scAELwUKAIA\ +ayAEEOQMIABBATYCACAAQQxqIANBGGooAgA2AgAgACADKQIQNwIEDAoLIANBIGogByABQSxqIhQoAg\ +AgAigCCCIMIAIoAgwiCiAEIAUQyhMCQCADKAIgIgIOAwUEAAULIAFBwABqIQcgAygCJCEEIAFBCGoh\ +CyABQQRqIQ8DQAJAIAQiAiAFSQ0AIABBADYCAAwLCyACIApPDQICQAJAIA8oAgAgCygCACAIIAcgDC\ +ACai0AAGotAABqQejSxwAQvBQoAgAiCCABKALIAksNACAIRQ0FIAggASgCzAJNDQEgA0EgaiABKAIo\ +IBQoAgAgDCAKIAIgBRDKEyADIAMoAiAgAygCJBDjFQJAIAMoAgANACAAQQA2AgAMDQsgAygCBCIEIA\ +JLDQILIAJBAWohBAwBCwsgAUEQaigCACABQRRqKAIAIAggASgCPHZBfmpBiNPHABC4FCIIKAIEIAgo\ +AghBAEGY08cAELwUKAIAIQggA0EQaiAIIAJBAWoiAiABQRxqKAIAIAFBIGooAgAgCEH40scAELwUKA\ +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\ +CAgMAAcQ0AIAtBgICAgARxDQEgC0GAgICAAnFFDQIgASADKAIcEKcPAkAgAygCHCIDIAZPDQAgAiAD\ +ai0AACADEPERIQUMCgsgAyAGQaDvxwAQyAsACyADQoGAgIAQNwIUQQAhBSADIAAgASALQQAQ+gk2Ag\ +QgA0EBNgIAIAMgAygCHCILNgIIIAEgCxCnDwwICyABIAMoAhwQpw8MAQsgBEEBNgKQASAEQajuxwA2\ +AowBIARCADcCmAEgBCAEQbwBajYClAEgBEGMAWpBkO/HABCmDgALQQAhBQwFCyAKIQULIAMgCzYCEC\ +ADQQE2AgwgAygCAEUNAQsgA0KBgICAEDcCFAsgASAHEKcPDAELIAshBQsgBEHAAWokACAFC4YYAh1/\ +BH4jAEHACWsiAyQAIAMgAjYCFAJAAkAgAUEEakEAIAFBCGogASgCBBsgASgCABsiAkUNACADQdAHai\ +ACKAIAQQhqEKYJIAMoAtQHIQICQCADKALQByIEQYGAgIB4Rg0AIAMgAygC2Ac2AvgFIAMgAjYC9AUg\ +AyAENgLwBQJAIARBgICAgHhGDQAgA0EYakEIaiIEIANB8AVqQQhqKAIANgIAIAMgAykC8AU3AxggA0\ +EkaiABEMYHIANBADYCdCADQQA2AmwgAygCHCICIAQoAgBBDGxqIQUgA0HQB2pBEGohBiADQdAHakEE\ +aiEEIANB0AdqQcgAaiEHIANB6AhqIQggA0GoBWpBGGohCSADQagFakEEaiEKIANB+AhqQQRqIQsgA0\ +GoB2pBCGohDCADQagHakEEaiENIANB+AhqQRhqIQ4gA0HAAWpBCGohDyADQcABakEEaiEQIANBkARq\ +QQRqIREgA0GQBGpBEGohEiADQfgAakEIaiETIANB0AdqQQxqIRQgA0GcCGohFSADQagFakEIaiEWAk\ +ACQANAAkAgAiAFRw0AIAAgAykCbDcCBCAAQQA2AgAgAEEMaiADQfQAaigCADYCACADKAI0IAMoAjgQ\ +5xYgA0EYahCNFgwHCyADQcQHaiACQQRqIhcoAgAiGCACQQhqIhkoAgAiGhCtCiADQagFaiADQSRqIA\ +MoAsgHIhsgAygCzAcQqRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAKoBSIBQQJGDQAgAygC\ +rAUhGCADQegEaiAWQcAAEJMaGgwBCyADLQCsBSEBIANB+AhqIANBJGoQmwsgCCAYIBoQwgwgA0HQB2\ +ogA0H4CGpByAAQkxoaIAMgAToAnAggA0ELNgKYCCADKALUByEBIAMoAtgHIRggAygC0AchGiADQegE\ +aiAUQcAAEJMaGiADQZAEaiAVQdgAEJMaGiAaQQ1GDQAgA0HQA2ogA0HoBGpBwAAQkxoaIANBvAZqIA\ +NBkARqQdgAEJMaGiADIBg2AvgFIAMgATYC9AUgAyAaNgLwBSADQfwFaiADQdADakHAABCTGhogA0Hw\ +BWoQsxghGCADKALEByAbEPEWDAELIANB0ANqIANB6ARqQcAAEJMaGiADQcABaiADQdADakHAABCTGh\ +ogAygCxAcgGxDxFiABQQJGDQAgEyADQcABakHAABCTGhogAyAYNgJ8IAMgATYCeCADIANBFGo2ApQH\ +IANB+AhqIANB+ABqELUCIAMoAvgIQQJHDQQgAygC/AghHCADQdAHaiADKAIUIAMoAoAJIhsgAygChA\ +kiHRBHIANB+AhqQQhqIhogBEEIaiIYKAIANgIAIAMgBCkCADcD+AggAygC0AciAUEJRw0FIANBmAdq\ +QQhqIgEgGigCADYCACADIAMpA/gIIiA3A5gHICCnQQJGDQYgDCABKAIANgIAIAMgAykDmAc3A6gHIA\ +NBmAdqEMUNDQEgA0EBNgLMByADIB02AsgHIAMgGzYCxAcgAygCkAEhHiADKAKMASEfDAILIABBATYC\ +ACAAIBg2AgQMDAtBACEBAkAgDUEAIAwgAygCrAcbIAMoAqgHGyIaRQ0AIBooAgBBCGohAQsgA0G4B2\ +ogAUEAENAHIA8gDCgCADYCACADIAMpA6gHNwPAASADQegEahCxDiADQfgIaiADQcABaiADQbgHakEB\ +QazswgAgA0HoBGogA0GUB2oQQiADKAL4CCIBQQJGDQEgA0HQB2pBGGogC0EYaikCACIgNwMAIAYgC0\ +EQaikCACIhNwMAIANB0AdqQQhqIhggC0EIaikCACIiNwMAIAMgCykCACIjNwPQByAKQRhqICA3AgAg\ +CkEQaiAhNwIAIApBCGogIjcCACAKICM3AgAgAyABNgKoBSADQegEahCzBiADQdAHaiADQagFahDGBy\ +ADQdAHahCnDiEBIBggFigCADYCACADIAMpAqgFNwPQByADQfgIaiAJIAEgA0HQB2oQrQEgA0H4CGoQ\ +txcgEUEIaiAJQQhqKAIANgIAIBEgCSkCADcCACADKAK0BSADKAK4BRDxFgwGCwNAIANBCGogA0HEB2\ +oQjQkCQCADKAIIIgENACADQdAHaiADQfgAahCbCyADQdAHahCnDiEBIAtBCGogDCgCADYCACALIAMp\ +A6gHNwIAIAMgATYC+AggESADQfgIahCyAQwHCyADQdAHaiADKAKUBygCACABIAMoAgwQixkCQAJAIA\ +MoAtAHQQlHDQAgAygC1AdBAkcNAQsgA0HQB2oQuRUMAQsgDyAYKAIANgIAIAMgBCkCADcDwAECQCAD\ +QcABahDFDQ0AIANBwAFqEIsSDAELQQAhAQJAIBBBACAPIAMoAsQBGyADKALAARsiHUUNACAdKAIAQQ\ +hqIQELIANB0ANqIAFBABDQByADQegEakEIaiAPKAIANgIAIAMgAykDwAE3A+gEIANBqAVqELEOIANB\ +0AdqIANB6ARqIANB0ANqQQFBrOzCACADQagFaiADQZQHahBCAkAgAygC0AdBAkcNACADQdAHahC6FS\ +ADQagFahCzBgwBCyADQfgIaiADQdAHakEkEJMaGiADQagFahCzBgJAIAMoApAJIAMoApQJIB8gHhCs\ +CA0AIANB+AhqEOoVDAELCyADQdAHaiADQfgIahDGByADQdAHahCnDiEBIANB0AdqQQhqIBooAgA2Ag\ +AgAyADKQL4CDcD0AcgA0GoBWogDiABIANB0AdqEK0BIANBqAVqELcXIBFBCGogDkEIaigCADYCACAR\ +IA4pAgA3AgBBDSEBIANBDTYCkAQgAygChAkgAygCiAkQ8RYgA0GoB2oQixIMBAsgAygC/AghAUEEQQ\ +QQzBEiGiABNgIAIAMgGjYClARBDCEBIANBDDYCkAQgA0HoBGoQswYMAwsgA0HQB2ogA0H4CGpByAAQ\ +kxoaQZzG0wBBKyADQdAHakHY1cIAQaTwwgAQqQoACyASIAZBwAAQkxoaIBFBCGogGigCADYCACARIA\ +MpA/gINwIAIAMgATYCkAQMAQsgESADQfgAahCbC0EJIQEgA0EJNgKQBAsgHCAbEOcWIAFBDUYNASAD\ +QfgIaiADQSRqEJsLIAggFygCACAZKAIAEJENIANB0AdqIANB+AhqQcgAEJMaGiAHIANBkARqQdAAEJ\ +MaGiADQaACakEIaiAYKAIANgIAIAMgBCkCADcDoAIgAygC0AchASADQfAFaiAGQZQBEJMaGiABQQ1G\ +DQIgA0GQAmpBCGoiAiADQaACakEIaigCADYCACADIAMpA6ACNwOQAiADQbwCaiADQfAFakGUARCTGh\ +ogA0G4AmogAigCADYCACADIAE2AqwCIAMgAykDkAI3ArACIANBrAJqELMYIQEgAEEBNgIAIAAgATYC\ +BAwECyAcIBsQ5xYLIANBoAJqQQhqIBFBCGooAgA2AgAgAyARKQIANwOgAgsgAkEMaiEaIANBgAJqQQ\ +hqIANBoAJqQQhqKAIAIhs2AgAgAyADKQOgAiIgNwOAAiADKAKEAiEYIAMgG0EAICCnIgEbNgKwBCAD\ +IBg2AqwEIAMgATYCqAQgA0EANgKkBCADIAFBAEciGzYCoAQgAyAYNgKcBCADIAE2ApgEIANBADYClA\ +QgAyAbNgKQBANAAkAgA0GQBGoQ2wQiAQ0AIANB7ABqIANBgAJqEP8FIAMoAogBIAMoAowBEOcWIBoh\ +AgwCCyABKAIAIgFBHGooAgAgAUEgaigCACADKAI4IAMoAjwQ/xhFDQALCyADQfAFaiADQSRqEJsLIA\ +NB6AhqIAJBBGooAgAgAkEIaigCABCRDSADQdAHaiADQfAFakHIABCTGhogA0EKNgKYCCADQdAHahDr\ +DyEBIABBATYCACAAIAE2AgQgA0GAAmoQvAoLIAMoAogBIAMoAowBEOcWCyADQewAahC8CiADKAI0IA\ +MoAjgQ5xYgA0EYahCNFgwDCyADQfAFahCXFyAAQQA2AgwgAEIANwIADAILIAIQnxYhASAAQQE2AgAg\ +ACABNgIEDAELIABBADYCDCAAQgA3AgALIANBwAlqJAALxhgBEH8jAEHABmsiBCQAAkACQCACQf8BcQ\ +0AIARB+ABqEP8KDAELIARB+ABqIANByABqQYACEJMaGgsgAygCCCEFAkACQAJAAkACQAJAAkACQCAB\ +Qf8BcQ0AIAVBf0wNAiAFQQFNDQEgBUEBdEF8aiEFCwJAIAVBfyAELQD3AiIGZ3YiB0EBaiIIaEEAIA\ +YbIgl0IgIgCCAHQX9zcUEBIAYbIgdJDQACQCACIAdrIgdB/v///wdLDQAgAygC1AIhBwJAAkACQAJA\ +IAFB/wFxDQAgB0UNAwJAIAdBf2oiB0F/TA0AIAdBAXQhCAwCC0HIj8AAEPsYAAsgB0UNASAHQX9qIQ\ +gLIARBgAZqIAIQ8AVBACEKQQQhCwJAIAhFDQAgCEEMbCECQQAhByAIQarVqtUASw0LIAJBAEgNC0EE\ +IQcgBEHwAGpBBCACEP4QIAQoAnAiC0UNCyAIIQoLIAhBASAIQQFLGyIMQX9qIQcgCyECA0ACQCAHDQ\ +ACQAJAIAgNAEEAQQQQ+hUgDEF/aiEMDAELIAJBADYCCCACQoCAgIDAADcCAAsgBEGYBmogAygCNCAD\ +KAI4ELsJAkACQAJAIAMoAjwiAg0ADAELIAIgAigCACIHQQFqNgIAIAdBf0wNASADKAJEIQ0gAygCQC\ +EHCyADLQDgAiEOIARBuANqIARB+ABqQYACEJMaIQggBEHIBWpCADcDACAEQfgCakEIaiAEQYAGakEI\ +aigCADYCACAEQZgDaiAEQZgGakEIaigCADYCACAEQgA3A8AFIARBADYCnAMgBCAMNgKMAyAEIAs2Ao\ +gDIAQgCjYChAMgBCAOOgDQBSAEIA02AqgDIAQgBzYCpAMgBCACNgKgAyAEIAQpAoAGNwP4AiAEIAQp\ +ApgGNwOQAyAEIAMpAsgCNwO4BSAEIAk2ArQDIAQgBkEBajYCsAMgBCAFNgKsAwJAIAFB/wFxDgMACw\ +oACyADKAIEIQcgBEHYBWogAygCCCICEPAFIARB5AVqIAIQ8AUgBEHwBWogBRCPCyAEQQA2AvwFIAQg\ +AhCXDTYCjAYgBEEANgKIBiAEIAcgAkEUbGo2AoQGIAQgBzYCgAZBASAJdCENIAMoAtwCIQ8gAygC2A\ +IhDiAEKALsBSEQIAQoAugFIREgBCgC4AUhEiAEKALcBSETA0AgBEHoAGogBEGABmoQgQ0CQAJAAkAC\ +QCAEKAJsIgcNAEEAIQUgBCgCrAMhAQNAIAUgAUYNAiAEKAL0BSAEKAL4BSAFQbiQwAAQqxUhAiAFIA\ +l0IQcgBUEBaiEFIAQoAoADIQYgBCgC/AIhCAJAIAItAAANACAEQRhqIAggBiAHQciQwAAQwhIgBEEQ\ +aiANIAQoAhggBCgCHEHYkMAAEOsTIAQoAhRBAnQhByAEKAIQIQIDQCAHRQ0CIAIgBCgC3AUgBCgC4A\ +UgAigCAEHokMAAELwUKAIANgIAIAdBfGohByACQQRqIQIMAAsLIARBKGogCCAGIAdB+JDAABDCEiAE\ +QSBqIA0gBCgCKCAEKAIsQYiRwAAQ6xMgBCgCJEECdCEHIAQoAiAhAgNAIAdFDQEgAiAEKALoBSAEKA\ +LsBSACKAIAQZiRwAAQvBQoAgA2AgAgB0F8aiEHIAJBBGohAgwACwsLAkAgBCgCaCICQQJJDQACQAJA\ +IAIgDkYNAAJAIAIgD0YNACAEIAQoAvwFIgU2ApAGIAQgBSANaiIFNgKUBiAEIAUgDWo2AvwFIBMgEi\ +ACQaiRwAAQvBQgBCgCkAY2AgAgESAQIAJBuJHAABC8FCAEKAKUBiIFNgIAIAQoAvQFIAQoAvgFIAUg\ +CXZByJHAABCrFUEBOgAAIAcoAghFDQYgBEHgAGogAyACEKoVIARB+AJqIAQoApAGIAQoAmAgBCgCZB\ +CnBiAEQdgAaiADIAIQqhUgBEH4AmogBCgClAYgBCgCWCAEKAJcEKcGDAYLIBMgEiAPQdiRwAAQvBRB\ +ADYCACAEKAL8BSEFIBEgECAPQeiRwAAQvBQgBTYCACAEKAL0BSAEKAL4BSAEKAL8BSAJdkH4kcAAEK\ +sVQQE6AAAMAQsgBCgC/AUhBSATIBIgDkGIksAAELwUIAU2AgAgESAQIA5BmJLAABC8FEEANgIACyAH\ +KAIIRQ0CIAQoAvwFIQcgBEHAAGogAyACEKoVIARB+AJqIAcgBCgCQCAEKAJEEKcGDAILIAQoAvwFIQ\ +cgEyASIAJBqJLAABC8FCAHNgIAIAQoAvwFIQcgESAQIAJBuJLAABC8FCAHNgIAIAQgBCgC/AUgDWo2\ +AvwFDAMLIAQgBCgC6AUiAiAEKALsBSIHIAMoAtACQfiPwAAQvBQoAgA2AsAFIAQgAiAHIAMoAtQCQY\ +iQwAAQvBQoAgA2AsQFIAQgBCgC3AUiBSAEKALgBSAOQZiQwAAQvBQoAgA2AsgFIAQgAiAHIA9BqJDA\ +ABC8FCgCADYCzAUgBCgC8AUgBCgC9AUQ/BYgBCgC5AUgAhD6FSAEKALYBSAFEPoVDA4LIARBOGogAy\ +ACEKkVIAQgBCkDODcCtAZBACEHQQAhAgJAA0AgBEGYBmogBEG0BmoQ9QsCQCAELQCYBg0AIARBADoA\ +oAYgBEH/ATYCnAYgBCACNgKYBgNAIARBMGogBEGYBmoQ4gwgBCgCMEUNAyAIIAQoAjRB/wFxai0AAC\ +ECAkAgB0H/AXFFDQBBASEHIAtB/wFxIAJB/wFxRg0BC0EBIQcgBEH4AmogBEH8BWogAkEBENIQIAIh\ +CwwACwsgAiAELQCZBiIMIAIgDEsbIQEgBCgAmgYhCgNAAkAgASACRw0AIAggDGotAAAhAgJAAkAgB0\ +H/AXFFDQAgC0H/AXEgAkH/AXFGDQELIARB+AJqIARB/AVqIAIgChDSECACIQsLIAFBAWohAkEBIQcM\ +AgsgAkEBaiEGIAggAkH/AXFqLQAAIQUCQCAHQf8BcUUNAEEBIQcgBiECIAtB/wFxIAVB/wFxRg0BC0\ +EBIQcgBEH4AmogBEH8BWogBUEBENIQIAUhCyAGIQIMAAsLCyAEIAQoAvwFIA1qNgL8BQwBCyAEIAM2\ +ApwGIAQgBzYCmAYgBCAEQZQGajYCqAYgBCAEQZAGajYCpAYgBCAEQfgCajYCoAYgBEHQAGogAyACEK\ +kVIAQgBCkDUDcCrAZBACEHQQAhBQNAIARBtAZqIARBrAZqEPULAkAgBC0AtAYNACAEQQA6ALwGIARB\ +/wE2ArgGIAQgBTYCtAYDQCAEQcgAaiAEQbQGahDiDCAEKAJIRQ0DIAggBCgCTCIFQf8BcWotAAAhAg\ +JAIAdB/wFxRQ0AQQEhByALQf8BcSACQf8BcUYNAQtBASEHIARBmAZqIAUgAkEBEO0DIAIhCwwACwsg\ +BSAELQC1BiIMIAUgDEsbIQEgBCgAtgYhCgNAAkAgASAFIgJHDQAgCCAMai0AACECAkACQCAHQf8BcU\ +UNACALQf8BcSACQf8BcUYNAQsgBEGYBmogDCACIAoQ7QMgAiELCyABQQFqIQVBASEHDAILIAJBAWoh\ +BSAIIAJB/wFxai0AACEGAkAgB0H/AXFFDQBBASEHIAtB/wFxIAZB/wFxRg0BC0EBIQcgBEGYBmogAi\ +AGQQEQ7QMgBiELDAALCwsLAAsgBEH4AmpBBEEAEJUMIAJBCGogBEH4AmpBCGooAgA2AgAgAiAEKQL4\ +AjcCACAHQX9qIQcgAkEMaiECDAALC0HYj8AAEPsYAAtBuI/AABD7GAALIABC/v///wc3AxAgACAHNg\ +IMIABBADYCCCAAQQE2AgAgACAHrTcDGAwGC0Goj8AAEPsYAAtBmI/AABD7GAALQYiPwAAQ+xgAC0EB\ +IAMgBEH4AmoQswIMAQtBACADIARB+AJqELMCCwJAAkACQAJAIAQoAvgCIAQoAoADIgJNDQAgBEEIai\ +AEQfgCaiACEKkLIAQoAggiAkGBgICAeEcNAQsgBEGQA2oQrA4gBCgChAMiByAEKAKMAyICTQ0CIAdB\ +DGwhByAEKAKIAyEFAkAgAg0AQQQhBiAFQQQgBxDzFgwCCyAFIAcgAkEMbCIIEMgTIgYNAUEEIAgQrh\ +gACyACIAQoAgwQrhgACyAEIAI2AoQDIAQgBjYCiAMLIABBBGogBEH4AmpB3AIQkxoaIABBADYCAAsg\ +BEHABmokAA8LIAcgAhCuGAALkhgCDX8BfiMAQcAAayIGJAAgBUECdCEHQQAhCAJAAkACQAJAA0ACQC\ +AHIAhHDQAgAkEANgIIIAJBACADKAIUIgkgAygCECIKayIIIAggCUsbIgdBAWoiCDYCGAJAIAEoAhgi\ +CzUCyAIgCK1+IhNCIIinDQAgE6ciCCABKAIEQQN0QYCAgAEgASgCABtLDQACQCACKAIUIgwgCEEFdi\ +AIQR9xQQBHaiINSQ0AIAIgDTYCFCANIQwLIAJBDGohDiAMQQJ0IQggAigCECEHAkADQAJAIAgNACAN\ +IAxNDQggDSACKAIUIgxNDQcgDigCACAMayANIAxrIgdJDQIMBgsgB0EANgIAIAhBfGohCCAHQQRqIQ\ +cMAAsLIA4gDCAHELgQIAIoAhQhDAwDCyAGQQI6ADQgBiAHNgI4IAZBNGoQqhQhCCAAQQI2AgAgACAI\ +NgIEDAULIAQgCGpBADYCACAIQQRqIQgMAAsLIAIoAhAgDEECdGohCEEBIAdBASAHQQFLGyINayEHAk\ +ADQCAIQQA2AgAgB0UNASAHQQFqIQcgCEEEaiEIDAALCyAMIA1qIQ0LIAIgDTYCFAsCQAJAAkACQAJA\ +IAogCUsNACADKAIADgMBAwIBCyAAQQA2AgAMBAsgCygCqAIiDCALKAKsAkYNAkH06ccAIAFBCGogAS\ +0AFEEDRhsiCCgCACEPIAhBBGooAgAhECADKAIMIQEgAygCCCEDIAgtAAxB/wFxQQJGIREgCiESA0AC\ +QAJAAkAgEiAJSw0AIBENAiAGQTRqIA8gECADIAEgEiAJEJsRIAYoAjQNAQsgAEEANgIADAYLIAYoAj\ +ghEgsgBiASNgI8IAYgDDYCOCAGQQA2AjQgAiAGQTRqEOUOA0ACQAJAIAIoAggiCEUNACACIAhBf2oi\ +CDYCCCACKAIEIAhBDGxqIg0oAgghByANKAIEIQgCQCANKAIADgMAAgECCyAGIAc2AjADQCAOIAggBy\ +AKaxCGDEUNAwJAAkACQAJAAkACQAJAAkACQAJAAkACQCALIAgQ3RMiBygCAA4JAwQFAAYBAg8HAwsg\ +BygCBCEIIAYoAjAhDQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAHKAIIaA4SAA\ +ECAwQFBgcICQoLDA0ODxARAAsgDQ0fDBsLIA0gAUcNHgwaCyALLQDYAiADIAEgDRDsEEUNHQwZCyAL\ +LQDYAiADIAEgDRDDEEUNHAwYCyADIAEgDRDRDEUNGwwXCyADIAEgDRCMDUUNGgwWCyADIAEgDRDAC0\ +UNGQwVCyADIAEgDRDsGEUNGAwUC0GcxtMAQSsgBkE0akGwy8cAQaSwyAAQqQoACyADIAEgDRDqAkH/\ +AXEiB0ECRg0PIAdFDRYMEgsgAyABIA0QlApFDRUMEQsgAyABIA0QtQtFDRQMEAtBnMbTAEErIAZBNG\ +pBsMvHAEHEsMgAEKkKAAtBnMbTAEErIAZBNGpBsMvHAEHUsMgAEKkKAAsgAyABIA0QnBFFDREMDQsg\ +DSABTw0MIAMgDWotAABBmMrIAGotAAANEAwMCyADIAEgDRCZBEH/AXEiB0ECRg0JIAdFDQ8MCwsgAy\ +ABIA0QrAZB/wFxIgdBAkYNCSAHRQ0ODAoLIAcoAgQhCCAHKAIIIQcgBiAGKAIwNgI8IAYgBzYCOCAG\ +QQA2AjQgAiAGQTRqEOUODAkLIAcoAgQhCCAHKAIQIgcgBU8NCCAEIAUgB0GQiMgAEKkUIQ0gBiAHNg\ +I4IAYgDSgCADYCPCAGQQE2AjQgAiAGQTRqEOUOIAYoAjAhDSAEIAUgB0GgiMgAELEUIA1BAWo2AgAM\ +CAsgBigCMCIIIAlPDQsgCCABTw0LIActAAggAyAIai0AACINSw0LIActAAlB/wFxIA1JDQsgBiAIQQ\ +FqNgIwIAcoAgQhCAwHCyAGKAIwIg0gCU8NCiAGQRhqIAcoAgQgBygCCCADIAEgDRCODSAGKAIYRQ0K\ +IAYoAhwhCCAGIA1BAWo2AjAMBgsgBigCMCIIIAlPDQkgBkEgaiAHKAIEIAcoAgggAyABIAgQjw0gBi\ +gCIEUNCSAGKAIkIQggBiAGKAIwQQFqNgIwDAULIAcoAggiDUUNCCAHKAIEIgcoAgAhCCAGIAcgDUEC\ +dGo2AjggBiAHQQRqNgI0IAYgBkEwajYCPCACIAZBNGoQngcMBAsgBygCBCEIIAAgBigCMDYCCCAAIA\ +g2AgQgAEEBNgIADAwLQZzG0wBBKyAGQTRqQbDLxwBBtLDIABCpCgALQZzG0wBBKyAGQTRqQbDLxwBB\ +5LDIABCpCgALQZzG0wBBKyAGQTRqQbDLxwBB9LDIABCpCgALIAYoAjAhBwwACwsgEkEBaiESDAILIA\ +QgBSAIQYCIyAAQsRQgBzYCAAwACwsLIAZBKGogCyADKAIEEJgRAkAgBigCKEUNACAGKAIsIQwMAgsg\ +AEEANgIADAILIAsoAqgCIQwLIAYgCjYCPCAGIAw2AjhBACERIAZBADYCNCACIAZBNGoQ5Q4gAygCDC\ +EBIAMoAgghAwNAAkACQAJAIAIoAggiCA0ADAELIAIgCEF/aiIINgIIIAIoAgQgCEEMbGoiDSgCCCEH\ +IA0oAgQhCAJAIA0oAgAOAwACAQILIAYgBzYCMANAIA4gCCAHIAprEIYMRQ0DAkACQAJAAkACQAJAAk\ +ACQAJAAkACQAJAIAsgCBDdEyIHKAIADgkDBAUABgECDwcDCyAHKAIEIQggBigCMCENAkACQAJAAkAC\ +QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAcoAghoDhIAAQIDBAUGBwgJCgsMDQ4PEBEACyANDR\ +8MGwsgDSABRw0eDBoLIAstANgCIAMgASANEOwQRQ0dDBkLIAstANgCIAMgASANEMMQRQ0cDBgLIAMg\ +ASANENEMRQ0bDBcLIAMgASANEIwNRQ0aDBYLIAMgASANEMALRQ0ZDBULIAMgASANEOwYRQ0YDBQLQZ\ +zG0wBBKyAGQTRqQbDLxwBBpLDIABCpCgALIAMgASANEOoCQf8BcSIHQQJGDQ8gB0UNFgwSCyADIAEg\ +DRCUCkUNFQwRCyADIAEgDRC1C0UNFAwQC0GcxtMAQSsgBkE0akGwy8cAQcSwyAAQqQoAC0GcxtMAQS\ +sgBkE0akGwy8cAQdSwyAAQqQoACyADIAEgDRCcEUUNEQwNCyANIAFPDQwgAyANai0AAEGYysgAai0A\ +AA0QDAwLIAMgASANEJkEQf8BcSIHQQJGDQkgB0UNDwwLCyADIAEgDRCsBkH/AXEiB0ECRg0JIAdFDQ\ +4MCgsgBygCBCEIIAcoAgghByAGIAYoAjA2AjwgBiAHNgI4IAZBADYCNCACIAZBNGoQ5Q4MCQsgBygC\ +BCEIIAcoAhAiByAFTw0IIAQgBSAHQZCIyAAQqRQhDSAGIAc2AjggBiANKAIANgI8IAZBATYCNCACIA\ +ZBNGoQ5Q4gBigCMCENIAQgBSAHQaCIyAAQsRQgDUEBajYCAAwICyAGKAIwIgggCU8NCyAIIAFPDQsg\ +By0ACCADIAhqLQAAIg1LDQsgBy0ACUH/AXEgDUkNCyAGIAhBAWo2AjAgBygCBCEIDAcLIAYoAjAiDS\ +AJTw0KIAZBCGogBygCBCAHKAIIIAMgASANEI4NIAYoAghFDQogBigCDCEIIAYgDUEBajYCMAwGCyAG\ +KAIwIgggCU8NCSAGQRBqIAcoAgQgBygCCCADIAEgCBCPDSAGKAIQRQ0JIAYoAhQhCCAGIAYoAjBBAW\ +o2AjAMBQsgBygCCCINRQ0IIAcoAgQiBygCACEIIAYgByANQQJ0ajYCOCAGIAdBBGo2AjQgBiAGQTBq\ +NgI8IAIgBkE0ahCeBwwECyAHKAIEIRIgBigCMCEMQQEhEQwFC0GcxtMAQSsgBkE0akGwy8cAQbSwyA\ +AQqQoAC0GcxtMAQSsgBkE0akGwy8cAQeSwyAAQqQoAC0GcxtMAQSsgBkE0akGwy8cAQfSwyAAQqQoA\ +CyAGKAIwIQcMAAsLIAAgDDYCCCAAIBI2AgQgACARNgIADAILIAQgBSAIQYCIyAAQsRQgBzYCAAwACw\ +sgBkHAAGokAAvtFwIefwR+IwBBsAlrIgMkAAJAAkAgAUEEakEAIAFBCGogASgCBBsgASgCABsiBEUN\ +ACADQcAHaiAEKAIAQQhqEKYJIAMoAsQHIQQCQCADKALAByIFQYGAgIB4Rg0AIAMgAygCyAc2AugFIA\ +MgBDYC5AUgAyAFNgLgBQJAIAVBgICAgHhGDQAgA0EIakEIaiIFIANB4AVqQQhqKAIANgIAIAMgAykC\ +4AU3AwggA0EUaiABEMYHIANBADYCZCADQQA2AlwgAygCDCIEIAUoAgBBDGxqIQYgA0HAB2pBEGohBy\ +ADQcAHakEEaiEFIANBwAdqQcgAaiEIIANB2AhqIQkgA0GYBWpBGGohCiADQZgFakEEaiELIANB6Ahq\ +QQRqIQwgA0GYB2pBCGohDSADQZgHakEEaiEOIANB6AhqQRhqIQ8gA0GwAWpBCGohECADQbABakEEai\ +ERIANBgARqQQRqIRIgA0GABGpBEGohEyADQegAakEIaiEUIANBwAdqQQxqIRUgA0GMCGohFiADQZgF\ +akEIaiEXAkACQANAAkAgBCAGRw0AIAAgAykCXDcCBCAAQQA2AgAgAEEMaiADQeQAaigCADYCACADKA\ +IkIAMoAigQ5xYgA0EIahCNFgwHCyADQbQHaiAEQQRqIhgoAgAiGSAEQQhqIhooAgAiGxCtCiADQZgF\ +aiADQRRqIAMoArgHIhwgAygCvAcQqRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAKYBSIBQQ\ +JGDQAgAygCnAUhGSADQdgEaiAXQcAAEJMaGgwBCyADLQCcBSEBIANB6AhqIANBFGoQmwsgCSAZIBsQ\ +wgwgA0HAB2ogA0HoCGpByAAQkxoaIAMgAToAjAggA0ELNgKICCADKALEByEBIAMoAsgHIRkgAygCwA\ +chGyADQdgEaiAVQcAAEJMaGiADQYAEaiAWQdgAEJMaGiAbQQ1GDQAgA0HAA2ogA0HYBGpBwAAQkxoa\ +IANBrAZqIANBgARqQdgAEJMaGiADIBk2AugFIAMgATYC5AUgAyAbNgLgBSADQewFaiADQcADakHAAB\ +CTGhogA0HgBWoQsxghGSADKAK0ByAcEPEWDAELIANBwANqIANB2ARqQcAAEJMaGiADQbABaiADQcAD\ +akHAABCTGhogAygCtAcgHBDxFiABQQJGDQAgFCADQbABakHAABCTGhogAyAZNgJsIAMgATYCaCADIA\ +I2AoQHIANB6AhqIANB6ABqELUCIAMoAugIQQJHDQQgAygC7AghHSADQcAHaiACIAMoAvAIIhwgAygC\ +9AgiHhBHIANB6AhqQQhqIhsgBUEIaiIZKAIANgIAIAMgBSkCADcD6AggAygCwAciAUEJRw0FIANBiA\ +dqQQhqIgEgGygCADYCACADIAMpA+gIIiE3A4gHICGnQQJGDQYgDSABKAIANgIAIAMgAykDiAc3A5gH\ +IANBiAdqEMUNDQEgA0EBNgK8ByADIB42ArgHIAMgHDYCtAcgAygCgAEhHyADKAJ8ISAMAgsgAEEBNg\ +IAIAAgGTYCBAwMC0EAIQECQCAOQQAgDSADKAKcBxsgAygCmAcbIhtFDQAgGygCAEEIaiEBCyADQagH\ +aiABQQAQ0AcgECANKAIANgIAIAMgAykDmAc3A7ABIANB2ARqELEOIANB6AhqIANBsAFqIANBqAdqQQ\ +FBrOzCACADQdgEaiADQYQHahBBIAMoAugIIgFBAkYNASADQcAHakEYaiAMQRhqKQIAIiE3AwAgByAM\ +QRBqKQIAIiI3AwAgA0HAB2pBCGoiGSAMQQhqKQIAIiM3AwAgAyAMKQIAIiQ3A8AHIAtBGGogITcCAC\ +ALQRBqICI3AgAgC0EIaiAjNwIAIAsgJDcCACADIAE2ApgFIANB2ARqELMGIANBwAdqIANBmAVqEMYH\ +IANBwAdqEKcOIQEgGSAXKAIANgIAIAMgAykCmAU3A8AHIANB6AhqIAogASADQcAHahCtASADQegIah\ +C3FyASQQhqIApBCGooAgA2AgAgEiAKKQIANwIAIAMoAqQFIAMoAqgFEPEWDAYLA0AgAyADQbQHahCN\ +CQJAIAMoAgAiAQ0AIANBwAdqIANB6ABqEJsLIANBwAdqEKcOIQEgDEEIaiANKAIANgIAIAwgAykDmA\ +c3AgAgAyABNgLoCCASIANB6AhqELIBDAcLIANBwAdqIAMoAoQHIAEgAygCBBBHAkACQCADKALAB0EJ\ +Rw0AIAMoAsQHQQJHDQELIANBwAdqELkVDAELIBAgGSgCADYCACADIAUpAgA3A7ABAkAgA0GwAWoQxQ\ +0NACADQbABahCLEgwBC0EAIQECQCARQQAgECADKAK0ARsgAygCsAEbIh5FDQAgHigCAEEIaiEBCyAD\ +QcADaiABQQAQ0AcgA0HYBGpBCGogECgCADYCACADIAMpA7ABNwPYBCADQZgFahCxDiADQcAHaiADQd\ +gEaiADQcADakEBQazswgAgA0GYBWogA0GEB2oQQQJAIAMoAsAHQQJHDQAgA0HAB2oQuhUgA0GYBWoQ\ +swYMAQsgA0HoCGogA0HAB2pBJBCTGhogA0GYBWoQswYCQCADKAKACSADKAKECSAgIB8QrAgNACADQe\ +gIahDqFQwBCwsgA0HAB2ogA0HoCGoQxgcgA0HAB2oQpw4hASADQcAHakEIaiAbKAIANgIAIAMgAykC\ +6Ag3A8AHIANBmAVqIA8gASADQcAHahCtASADQZgFahC3FyASQQhqIA9BCGooAgA2AgAgEiAPKQIANw\ +IAQQ0hASADQQ02AoAEIAMoAvQIIAMoAvgIEPEWIANBmAdqEIsSDAQLIAMoAuwIIQFBBEEEEMwRIhsg\ +ATYCACADIBs2AoQEQQwhASADQQw2AoAEIANB2ARqELMGDAMLIANBwAdqIANB6AhqQcgAEJMaGkGcxt\ +MAQSsgA0HAB2pB2NXCAEGk8MIAEKkKAAsgEyAHQcAAEJMaGiASQQhqIBsoAgA2AgAgEiADKQPoCDcC\ +ACADIAE2AoAEDAELIBIgA0HoAGoQmwtBCSEBIANBCTYCgAQLIB0gHBDnFiABQQ1GDQEgA0HoCGogA0\ +EUahCbCyAJIBgoAgAgGigCABCRDSADQcAHaiADQegIakHIABCTGhogCCADQYAEakHQABCTGhogA0GQ\ +AmpBCGogGSgCADYCACADIAUpAgA3A5ACIAMoAsAHIQEgA0HgBWogB0GUARCTGhogAUENRg0CIANBgA\ +JqQQhqIgQgA0GQAmpBCGooAgA2AgAgAyADKQOQAjcDgAIgA0GsAmogA0HgBWpBlAEQkxoaIANBqAJq\ +IAQoAgA2AgAgAyABNgKcAiADIAMpA4ACNwKgAiADQZwCahCzGCEBIABBATYCACAAIAE2AgQMBAsgHS\ +AcEOcWCyADQZACakEIaiASQQhqKAIANgIAIAMgEikCADcDkAILIARBDGohGyADQfABakEIaiADQZAC\ +akEIaigCACIcNgIAIAMgAykDkAIiITcD8AEgAygC9AEhGSADIBxBACAhpyIBGzYCoAQgAyAZNgKcBC\ +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\ +APKAIAIAkgES0AAGpBmMXHABC8FCgCACEJDAELIANBGGogACAHEKkVIAMgAykDGDcCqAEDQCADQZgB\ +aiADQagBahD1CyADLQCYAUUNAiADLQCZASIJIAFJDQALIAkgAUcNASADKACaASEJCyAJQQFHDQILIA\ +ooAgAgCCgCACAHQZTWxwAQvRQoAgwhBwwACwsgCSAAKALQAk0NASAEIQEMAgsgBCANQbCLwAAQyAsA\ +CyACIAk2AhQgAkEBNgIQIAlFDQUCQAJAIAkgACgC1AJLDQAgAkKBgICAEDcCGCADQRBqIAAgCRCqFS\ +ADIAMpAxA3ApgBIANBCGogA0GYAWpBABC7CyADKAIIRQ0BIAMoAgwhASADQZgBaiABIARBAWoiCSAA\ +QTRqKAIAIABBOGooAgAgAUGk1scAELwUKAIAayAJEOQMIAJBATYCACAGIAMpApgBNwIAIAZBCGogA0\ +GYAWpBCGooAgA2AgAMBwsgA0GYAWogCygCACALQQRqKAIAIA4gDSAEIAUQyhMgAyADKAKYASADKAKc\ +ARDjFSADKAIARQ0GIAMoAgQiBCACKAIgIgFNDQEMAgtBtNbHABD7GAALIAFBAWohBAsgAiAENgIgDA\ +ALCyACQQA2AhggAiAJNgIUIAJBATYCECACIAQ2AiAgAkEANgIACyAEIAUgBCAFSxshDSAEIAEoAgwi\ +EiAEIBJLGyEOIABByABqIQwgASgCCCELIABBCGohCCAAQQRqIQogB0H/AXEhESAAQSBqIRAgAEEcai\ +EFA0ACQCAEIA1HDQAgAiAJNgIUIAJBATYCEAwCCwJAAkAgBCAORg0AIAwgCyAEai0AACIBaiEPIAkh\ +BwNAAkACQAJAIAooAgAgCCgCACAHQYjFxwAQvRQoAgQiCUUNACAFKAIAIBAoAgAgCSAPLQAAakGYxc\ +cAELwUKAIAIQkMAQsgA0HgAGogACAHEKkVIAMgAykDYDcCqAEDQCADQZgBaiADQagBahD1CyADLQCY\ +AUUNAiADLQCZASIJIAFJDQALIAkgAUcNASADKACaASEJCyAJQQFHDQMLAkAgEUUNACACQgE3AhAMBQ\ +sgCigCACAIKAIAIAdBlNbHABC9FCgCDCEHDAALCyAOIBJBsIvAABDICwALAkAgCSAAKALQAksNACAC\ +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\ +IARGDQECQCADLQDdDA0AAkAgAygCvAxBgAFJDQAgA0EBOgDdDCADQbQMahDrDQwBCwJAIAEgBGoiB0\ +EIaigCACIIRQ0AIANBtAxqIAdBBGooAgAgCBDzBwwBCyADQQE6AN0MIANBtAxqEOsNCyAEQRBqIQQM\ +AAsLIANBmA9qIANBtAxqEL4BAkACQAJAIAMoApgPIgRBgICAgHhGDQAgA0HYA2pBBGogA0GYD2pBBG\ +pBLBCTGhogAyAENgLYAyADQbQMahCgGCADQoOAgIAQNwPACSADQYICOwHICSADQZgPaiADQcAJaiAB\ +IAIQhAECQCADKAKYD0UNACADQeAGakEQaiADQZgPakEQaikDADcDACADQeAGakEYaiADQZgPakEYai\ +kDADcDACADIAMpA6APNwPoBiADQQE2AuAGDAILIANBtAxqIANBmA9qQQRyQeQCEJMaGiADQdAJaiAD\ +QbQMakHkAhCTGhogA0HgBmogAy0AyAkgAy0AyQkgA0HQCWoQXSADQdAJahDvDyADKALgBg0BIAMoAu\ +QGIQQgA0GIBGogA0HoBmpB2AIQkxoaIARBgICAgHhGDQEgA0H8AGogA0GIBGpB2AIQkxoaIANByABq\ +IANB2ANqQTAQkxoaIAMgBTYC1AMgAyAENgJ4IAMoAkhBgICAgHhGDQIgACADQcgAakGQAxCTGhoMAw\ +sgA0GAgICAeDYCSCADQbQMahCgGAwBCyADQYCAgIB4NgJIIANB2ANqELYWCyADQcgAahDeFyADQcgA\ +akEAQYACEJAaGiACQQR0IQUgASEEAkACQANAIAVFDQEgBCgCCEEBRw0CIANByABqIAQoAgQtAABqQQ\ +E6AAAgBUFwaiEFIARBEGohBAwACwsgAy0ASCEEIANBmA9qIANByQBqQf8BEJMaGiAEQQJGDQAgACAE\ +OgAEIABBBWogA0GYD2pB/wEQkxoaIABBhYCAgHg2AgAMAQsgA0KDgICAEDcCmAQgA0KDgICAEDcCjA\ +QgA0KDgICAEDcCpAQgA0EAOgCtBCADQYACOwGgBCADQQI2AogEIANBAToAlAQgA0ECQQEgAkH1A0ki\ +BRsiBDoArAQgA0HIAGogA0GIBGpBHGogASACEIQBAkACQAJAAkACQAJAAkAgAygCSA0AIANB6AZqIg\ +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\ +Rw0AIANBAToALCADQQA2AiggA0KAgICAEDcCICADQRRqIANBIGoQwRECQANAIAZFDQEgA0EUahDDCw\ +0BIANBMGpBCGogA0EUakEIaigCADYCACADIAMpAhQ3AzAgA0EgaiADQQhqEKAHIANBFGogASADQTBq\ +IANBIGoQtQEgBkF/aiEGIANBIGoQ2hcMAAsLIAUgB00NCSADQRRqEOYPDAkLIANBAToALCADQQA2Ai\ +ggA0KAgICAEDcCICADQRRqIANBIGoQwREDQCAGRQ0IIANBFGoQwwsNCCADQTBqQQhqIANBFGpBCGoo\ +AgA2AgAgAyADKQIUNwMwIANBIGogA0EIahCgByADQRRqIAEgA0EwaiADQSBqELUBIAZBf2ohBiADQS\ +BqENoXDAALCyACKAIEIQIMAAsLIAIoAgxBHGwhBiABLQAQIQggASgCDCEJIAIoAgghBUEEIQRBACEC\ +QQAhBwJAA0AgBkUNASACQYCAgIB4Rg0BIAMgBzYCOCADIAQ2AjQgAyACNgIwIANBIGogASAFEHAgA0\ +EUaiAJIAggA0EwaiADQSBqEOADIAZBZGohBiAFQRxqIQUgAygCFCECIAMoAhghBCADKAIcIQcgA0Eg\ +ahDaFwwACwsgACAHNgIIIAAgBDYCBCAAIAI2AgAMBwsgAigCBEUNAiACKAIMIgggAigCEEEBdCIGai\ +EKIAEoAgAhCUEAIQUgCCECAkACQAJAAkADQCAGRQ0BIAUgCUsNAiACLQABIgQgAi0AACIHSQ0EIAZB\ +fmohBiACQQJqIQIgBCAHa0H/AXEgBWpBAWohBQwACwsgBSAJSw0AIANBADYCOCADQoCAgIDAADcCMA\ +wBCyAAQYCAgIB4NgIADAgLA0ACQCAIIApHDQAgASgCCCABLQAQIANBMGoQ2xUgAEEIaiADQTBqQQhq\ +KAIANgIAIAAgAykCMDcCAAwJCyAILQABIQcgCC0AACECQQAhBAJAA0AgBEEBcQ0BIAJB/wFxIgYgB0\ +H/AXEiBUsNAUEBQQEQ5BEiBCACOgAAIANBAToALCADQQE2AiggAyAENgIkIANBATYCICAGIAVPIQQg\ +AiAGIAVJaiECIANBMGogA0EgahCJCwwACwsgCEECaiEIDAALC0GMockAEPsYAAsgA0EgakEIaiADQQ\ +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\ +FCIIKAIEIAgoAgggBUGY08cAELwUKAIAIQUgA0EQaiAFIAZBAWoiCCAAQRxqKAIAIABBIGooAgAgBU\ +H40scAELwUKAIAayAIEOQMIAJBATYCACAHIAMpAhA3AgAgB0EIaiADQRBqQQhqKAIANgIADAYLAkAC\ +QAJAIAIoAhANACAAKALQAiIIRQ0JIAggACgCzAJNDQEMBAsgAigCFCEIIAIoAhgNASACKAIgIQUMBA\ +tBACEEIAIoAhxBACACKAIYGyIKIABBEGoiCygCACAAQRRqIgwoAgAgCCAAKAI8dkF+akGo08cAELgU\ +KAIITw0CIAJBATYCGCACIApBAWo2AhwgCygCACAMKAIAIAggACgCPHZBfmpBiNPHABC4FCIIKAIEIA\ +goAgggCkGY08cAELwUKAIAIQggA0EQaiAIIAUgAEEcaigCACAAQSBqKAIAIAhB+NLHABC8FCgCAGsg\ +BRDkDCACQQE2AgAgByADKQIQNwIAIAdBCGogA0EQakEIaigCADYCAAwICwJAIAIoAhwiBSAAQRBqIg\ +QoAgAgAEEUaiIKKAIAIAggACgCPHZBfmpBqNPHABC4FCgCCEkNACACQQA2AhggAkEANgIAIAIgAigC\ +IEEBaiIFNgIgDAMLIAJBATYCGCACIAVBAWo2AhwgAigCICEGIAQoAgAgCigCACAIIAAoAjx2QX5qQY\ +jTxwAQuBQiCCgCBCAIKAIIIAVBmNPHABC8FCgCACEFIANBEGogBSAGQQFqIgggAEEcaigCACAAQSBq\ +KAIAIAVB+NLHABC8FCgCAGsgCBDkDCACQQE2AgAgByADKQIQNwIAIAdBCGogA0EQakEIaigCADYCAA\ +wFCxCaGiEEDAYLIAJBADYCGCACIAg2AhQgAkEBNgIQIAIgBTYCICACQQA2AgALIABBKGpBACAJGyEN\ +IABBwABqIQsgASgCDCEJIAEoAgghCiAAQQhqIQwgAEEEaiEOA0ACQCAFIAZJDQAgAiAINgIUIAJBAT\ +YCEAwECwJAAkACQAJAIAUgCU8NACAOKAIAIAwoAgAgCCALIAogBWotAABqLQAAakHo0scAELwUKAIA\ +IgggACgCyAJNDQEgBSEBDAILIAUgCUGwi8AAEMgLAAsgAiAINgIUIAJBATYCEEEAIQQgCEUNBwJAIA\ +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\ +yAFqQRhqIgkgAkGoAmoiCigCADYCACACIAIpApACNwPIASACKAKMAiEBIAIoAogCIgtBIkcNBCACQc\ +gCaiACQcAAakE4EJMaGiACQYgCaiACQcgCaiADIAQQuAcgAkHoAWpBCGogBikCADcDACACQegBakEQ\ +aiAIKQIANwMAIAJB6AFqQRhqIAooAgA2AgAgAiACKQKQAjcD6AEgAigCjAIhBSACKAKIAiIGQSJHDQ\ +UgAkH4AGpBCGogAkHoAWpBCGopAwA3AwAgAkH4AGpBEGogAkHoAWpBEGopAwA3AwAgAkH4AGpBGGog\ +AkHoAWpBGGooAgA2AgAgAkH4AGpBJGogAkGwAWpBCGopAwA3AgAgAkGkAWogAkGwAWpBEGopAwA3Ag\ +AgAiACKQPoATcDeCACIAIpA7ABNwKUAQJAIAEgBU0NACACQQI2AogCIABBBGogAyAEIAJBsAFqIAJB\ +iAJqEIgLIABBiIDEADYCAAwICyAAIAIpA8gBNwIEIABBHGogAkHIAWpBGGooAgA2AgAgAEEUaiACQc\ +gBakEQaikDADcCACAAQQxqIAJByAFqQQhqKQMANwIAIABBJGogAkH4AGpBNBCTGhogACAFNgIgIAAg\ +ATYCAAwHCyAAQQRqIAEQ5QUgAEGIgMQANgIADAULIAJBCGpBEGohAyACKQI4IQwCQAJAAkACQCACKA\ +IUIgZB/v///wdqIgVBBCAFQQRJGw4FAQAAAgMACyACQYgCakEIaiACQQhqQQhqKAIANgIAIAJBiAJq\ +QRhqIANBCGopAgA3AwAgAkGoAmogA0EQaikCADcDACACQbACaiADQRhqKQIANwMAIAIgAikCCDcDiA\ +IgAiAGNgKUAiACIAw3A7gCIAIgAykCADcDmAIgAkHAAGpBEGogAkGIAmoQiBQiA0EQaikCADcDACAC\ +QcAAakEIaiADQQhqKQIANwMAIAIgAykCADcDQCACQQE2AsgCIABBBGogASgCBCAEIAJBwABqIAJByA\ +JqEIgLIABBiIDEADYCACACQYgCahC7FgwICyAAQYGAxAA2AgAgACADKQIANwIEIABBHGogA0EYaikC\ +ADcCACAAQRRqIANBEGopAgA3AgAgAEEMaiADQQhqKQIANwIADAcLIABBhYDEADYCACAAIAMpAgA3Ag\ +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\ +QgACACKQN4NwIQIABBGGogAkH4AGpBCGopAwA3AgAgAEEgaiACQfgAakEQaikDADcCACACQcQBaiAD\ +QQhqKAIAIgE2AgAgAkGwAWpBCGogATYCACACIAMpAgAiCzcCvAEgAiALNwOwASACQQhqIAJBsAFqEJ\ +MQIAIoAgwhA0EIQQQQ5BEiASADNgIEIAFBADYCACAAIAE2AiwgAEGCgICAeDYCACAAIAIpAiA3AjAg\ +AEE4aiACQSBqQQhqKQIANwIAIABBwABqIAJBIGpBEGopAgA3AgAMCAsgACACKQLYATcCLCAAQTxqIA\ +JB6AFqKQIANwIAIABBNGogAkHgAWopAgA3AgAgACAENgIQIAAgCDYCDCAAIAk2AgggACACKQNQNwIU\ +IABBHGogBikDADcCACAAQSRqIAcpAwA3AgAgACAKNgIEIABBhICAgHg2AgAMBwsCQCAERQ0AIAJBrA\ +FqIANBCGooAgA2AgAgACAENgIMIAAgCDYCCCAAIAk2AgQgAEGDgICAeDYCACAAIAIpA3g3AhAgAkGY\ +AWpBCGoiASACQSBqQQhqKAIANgIAIABBGGogAkH4AGpBCGopAwA3AgAgAEEgaiACQfgAakEQaikDAD\ +cCACACIAMpAgA3AqQBIAIgAikCIDcDmAEgAEE4aiACQZgBakEQaikDADcCACAAQTBqIAEpAwA3AgAg\ +ACACKQOYATcCKAwHCyACQRs2ArABIABBBGogASgCBCAFIAJBOGogAkGwAWoQiAsgAEGEgICAeDYCAC\ +AJIAgQiRYMBgsgAkEANgKwASACQZQBakHo8sgAIAJBsAFqQezyyAAQ9hEACyAAQQxqIAJBuAFqQTgQ\ +kxoaIAAgBDYCCCAAIAY2AgQgAEGEgICAeDYCAAwECyAAIAIpAtwBNwIwIABBwABqIAJB7AFqKAIANg\ +IAIABBOGogAkHkAWopAgA3AgAgAEEIaiACQdAAakEoEJMaGiAAQYSAgIB4NgIAIAAgATYCBAwDCyAC\ +QQA2ArABIAJBHGpB3O3IACACQbABakH88sgAEPYRAAsgAkHQAGpBCGogAkEgakEIaigCADYCACACQe\ +QAaiABKAIAIgNB2ABqKAIANgIAIAIgAikCIDcDUCACIAMpAlA3AlwgAkEhNgKwASAAQQRqIAEoAgQg\ +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\ +ACADIAMpA/ACNwPgAyADIAg3A9gDIANB+AFqQQhqIANB2ANqENYEIANB2ANqEMkXIAMgBzYC/AEgAy\ +AENgL4ASADKALcAkGBgICAeEYNACADQQhqIANB+AFqQfgAEJMaGgwBCwJAIARBgICAgHhGDQAgA0EI\ +akEQaiADQfgBakEQaigCADYCACADQQhqQQhqIANB+AFqQQhqKQMANwMAIAMgAykD+AE3AwggA0GBgI\ +CAeDYCbAwBCyADQYgDaiABIAIQ7wECQAJAIAMpA5ADIghCAlENACADQfACakEIaiIEIANBiANqQRhq\ +KQMANwMAIANB8AJqQRBqIgUgA0GoA2ooAgA2AgAgAyADKQOYAzcD8AIgAykDiAMhCSADQfQDaiADQa\ +wDakEsEJMaGiADQdgDakEQaiAEKQMANwMAIANB2ANqQRhqIAUoAgA2AgAgAyADKQPwAjcD4AMgAyAI\ +NwPYAyADQQhqQQhqIANB2ANqEJsIIANB2ANqEMkXIAMgCTcDCAwBCyADQRBqIANBoANqKQMANwMAIA\ +NBGGogA0GoA2ooAgA2AgAgAyADKQOYAzcDCCADQYGAgIB4NgJsCyADKALcAkGBgICAeEcNAEGAgICA\ +eCADKAL8ARCBFwsgAygC5AFBgYCAgHhHDQBBgICAgHggAygChAEQgRcLIAMoAgwhBCADKAIIIQUCQA\ +JAAkACQCADKAJsIgZBgYCAgHhGDQAgA0GAAWogASACEMQMQfAAQQgQzBEiAiADQQhqQQhqQdwAEJMa\ +IgEgBjYCXCABIAMpA3A3A2AgAUHoAGogA0EIakHwAGopAwA3AwBBACEBQQEhBkEBIQcMAQsgA0GAAW\ +ogASACEMQMIAEgAhCxCEUNASADQfgBaiABIAIQxAwgAygCgAIhByADKAL8ASECIAMoAvgBIQYgBSAE\ +EIEXQQEhAUEAIQRBASEFCyADKQOAASEIIAMgAygCiAE2ApACIAMgCDcCiAIgAyAHNgKEAiADIAI2Ao\ +ACIAMgBjYC/AEgAyABNgL4AQJAIARFDQAgA0EIaiAFIAQQ3RggA0GAAWogA0EIahDKFyADQfgBahCw\ +EwwCCyADQYABakEYaiADQfgBakEYaigCADYCACADQYABakEQaiADQfgBakEQaikCADcDACADQYABak\ +EIaiADQfgBakEIaikCADcDACADIAMpAvgBNwOAAQwBCyADKQIUIQggAygCECEGIAMoAoABIAMoAoQB\ +EPwWAkAgBUGAgICAeEYNACADIAg3AoQCIAMgBjYCgAIgAyAENgL8ASADIAU2AvgBIANBgAFqIANB+A\ +FqEMoXDAELIANB+AFqIAEgAhDdGCADQYABaiADQfgBahDKFwsCQAJAIAMoAoABQQJGDQAgACADKQOA\ +ATcCACAAQRhqIANBgAFqQRhqKAIANgIAIABBEGogA0GAAWpBEGopAwA3AgAgAEEIaiADQYABakEIai\ +kDADcCAAwBCyAAIAMpAoQBNwIEIABBAjYCACAAQRRqIANBgAFqQRRqKQIANwIAIABBDGogA0GAAWpB\ +DGopAgA3AgALIANBoARqJAALlA4BBX8jAEHwAGsiAiQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAk\ +ACQCAAKAIAIgAoAgAOCQABCAIDBAUGBwALIABBBGogARCsBSEDDAwLIAAoAgQhAyACQShqIAAoAggi\ +BBDLCCACKAIsIQUCQCACKAIoDQBBACEAIAJBADYCWCACIAIoAjAiBjYCVCACIAU2AlACQCAEIAVLDQ\ +AgBEUNDAwLCyACQdAAakEAIAQQmxAgAigCVCEGIAIoAlghAAwKCyAFIAIoAjAQrhgACyACIABBCGo2\ +AgggACgCBCEAIAJBHGpBPDYCACACQQI2AiwgAkGE4McANgIoIAJCAjcCNCACQc4BNgIUIAIgADYCaC\ +ACIAJBEGo2AjAgAiACQegAajYCGCACIAJBCGo2AhAgASgCFCABKAIYIAJBKGoQhBchAwwKCyAAKAIE\ +IQMgAkEoaiAAKAIIIgQQywggAigCLCEFAkAgAigCKA0AQQAhACACQQA2AmQgAiACKAIwIgY2AmAgAi\ +AFNgJcAkAgBCAFSw0AIARFDQgMBwsgAkHcAGpBACAEEJsQIAIoAmAhBiACKAJkIQAMBgsgBSACKAIw\ +EK4YAAsgACgCCCEDIAAoAgQhACACQRxqQQQ2AgAgAiAANgIIIAJBAzYCLCACQfygyAA2AiggAkICNw\ +I0IAJBBDYCFCACIAM2AmggAiACQRBqNgIwIAIgAkHoAGo2AhggAiACQQhqNgIQIAEoAhQgASgCGCAC\ +QShqEIQXIQMMCAsgACgCBCEDIAAoAhAhBCAAKAIMIQUgACgCCCEAIAJBxABqQTw2AgAgAkE8akE8Ng\ +IAIAJBNGpBPDYCACACIAA2AkggAiAFNgJMIAIgBDYCCCACQQA2AiAgAkEENgIUIAJBtKHIADYCECAC\ +QTw2AiwgAiADNgJoIAIgAkHoAGo2AkAgAiACQQhqNgI4IAIgAkHMAGo2AjAgAiACQcgAajYCKCACQQ\ +Q2AhwgAiACQShqNgIYIAEoAhQgASgCGCACQRBqEIQXIQMMBwsgAkEANgI4IAJBATYCLCACQdihyAA2\ +AiggAkIENwIwIAEoAhQgASgCGCACQShqEIQXIQMMBgsgACgCBCEAIAJBAjYCLCACQeihyAA2AiggAk\ +IBNwI0IAJBPDYCFCACIAA2AmggAiACQRBqNgIwIAIgAkHoAGo2AhAgASgCFCABKAIYIAJBKGoQhBch\ +AwwFCyACQQA2AjhBASEDIAJBATYCLCACQcSgyAA2AiggAkIENwIwIAEoAhQiBCABKAIYIgEgAkEoah\ +CEFw0EIAAoAgghAyAAKAIEIQAgAkIANwIYIAIgADYCECACIAAgA0ECdGo2AhQDQCACQShqIAJBEGoQ\ +oQoCQCACKAIoDQAgAkEANgI4IAJBATYCLCACQcygyAA2AiggAkIENwIwIAQgASACQShqEIQXIQMMBg\ +sgAiACKAIcIgBBAWo2AhwgAiACKQIsNwMIAkACQCAARQ0AIAJBADYCOCACQQE2AiwgAkHg38cANgIo\ +IAJCBDcCMCAEIAEgAkEoahCEFw0BCyACQQE2AiwgAkHYzNMANgIoIAJCATcCNCACQc8BNgJsIAIgAk\ +HoAGo2AjAgAiACQQhqNgJoIAQgASACQShqEIQXRQ0BCwtBASEDDAQLIAAgBGohBSAGIABBDGxqIQAD\ +QCACQQE2AiwgAkHYzNMANgIoIAJCATcCNCACQTw2AmwgAiADKAIANgIIIAIgAkHoAGo2AjAgAiACQQ\ +hqNgJoIAJBEGogAkEoahCCDiAAQQhqIAJBEGpBCGooAgA2AgAgACACKQIQNwIAIANBBGohAyAAQQxq\ +IQAgBEF/aiIEDQALIAUhAAsgAiAANgJkIAJBEGogAigCYCAAQZuSygBBAhC7AiACQdwAahCNFiACQQ\ +I2AiwgAkHcoMgANgIoIAJCATcCNCACQQg2AmwgAiACQegAajYCMCACIAJBEGo2AmggASgCFCABKAIY\ +IAJBKGoQhBchAyACKAIQIAIoAhQQ/BYMAgsgACAEaiEFIAYgAEEMbGohAANAIAIgAzYCCCACQQE2Ai\ +wgAkHYzNMANgIoIAJCATcCNCACQdABNgJsIAIgAkHoAGo2AjAgAiACQQhqNgJoIAJBEGogAkEoahCC\ +DiAAQQhqIAJBEGpBCGooAgA2AgAgACACKQIQNwIAIABBDGohACADQQhqIQMgBEF/aiIEDQALIAUhAA\ +sgAiAANgJYIAJBEGogAigCVCAAQZuSygBBAhC7AiACQdAAahCNFiACQQI2AiwgAkGsoMgANgIoIAJC\ +ATcCNCACQQg2AmwgAiACQegAajYCMCACIAJBEGo2AmggASgCFCABKAIYIAJBKGoQhBchAyACKAIQIA\ +IoAhQQ/BYLIAJB8ABqJAAgAwvUDQIJfwF+IwBB4AFrIgMkACADQgQ3AjQgA0IANwIsIANCgICAgMAA\ +NwIkIANBADYCQCADIAE2AjwgA0GgAWpBCGohBCADQaABakEEaiEFIANB1ABqQQRqIQYgA0EwaiEHAk\ +ACQANAQdgAIQECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACKAIADgwEBAQEBAQEAwABAgIEC0Eo\ +IQEMAgtBMCEBDAELQQwhAQsgA0GgAWogA0E8aiACKAIEIAFqEI8GIAMoAqABIgFBIkcNAQsCQAJAAk\ +AgAigCAEF5ag4FAAYBBwIKCyACKAIEIgEgASgCAEGIgMQARiIIQQJ0aiEBA0ACQAJAIAgNAAJAAkAC\ +QCABKAIAQYCAvH9qIglBAiAJQQhJGw4IBAQEBAQEAAEECyABKAIEQdgAaiEJDAELIAFBEGohCQsgA0\ +GgAWogA0E8aiAJEI8GIAMoAqABIglBIkYNASADKQKsASEMIAMoAqgBIQEgAygCpAEhAiADQeQAaiAD\ +QbQBakEsEJMaGgwHCyADQaABaiADQTxqIAFBCGoQjwYgAygCoAEiCUEiRg0AIAMpAqwBIQwgAygCqA\ +EhASADKAKkASECIANB5ABqIANBtAFqQSwQkxoaDAYLIANBkAFqIAggARDcBwJAIAMoApABQQRGDQAg\ +BCADKQKQATcCACAEQQhqIANBkAFqQQhqKQIANwIAIANBCGogA0GQAWoQtgsgAyABNgKkASADIAg2Aq\ +ABIAMoAgwhASADKAIIIQggByADQaABahD6DAwBCyADQaABaiAIIAEgA0E8ahChFSADKAKgASIJQSJH\ +DQQgAygCOCIBQX9qIQggAygCNCABQRhsakFoaiEBA0ACQCAIQX9HDQBBACEIDAsLIAEoAgAiCUECRg\ +0KIAFBBGooAgAhCiADQZABaiABQQhqEPsKAkAgAygCkAFBBEYNACADIAg2AjggBEEIaiADQZABakEI\ +aikCADcCACAEIAMpApABNwIAIAMgA0GQAWoQtgsgAyAKNgKkASADIAk2AqABIAMoAgQhASADKAIAIQ\ +ggByADQaABahD6DAwCCyADQaABaiAJIAogA0E8ahChFQJAIAMoAqABIglBIkYNACADIAg2AjggAygC\ +pAEhAiADKAKoASEBIAMpAqwBIQwgA0HkAGogA0G0AWpBLBCTGhoMBwsgAUFoaiEBIAhBf2ohCAwACw\ +sLIAIoAgQhCEEBIQlBACEKDAYLIAIoAgQiAUEIaiIJKAIAIghFDQcgAUEEaiIBKAIAIAhBzPzIABDd\ +FiEIIANBGGogASgCACAJKAIAQdz8yAAQnxFBAiEJIAMoAhghCyADKAIcIQoMBQsgAEEEaiADQaABak\ +EEakE8EJMaGiAAIAE2AgAMCQsgAykCrAEhDCADKAKoASEBIAMoAqQBIQIgA0HkAGogA0G0AWpBLBCT\ +GhoLIABBFGogA0HkAGpBLBCTGhogACAMNwIMIAAgATYCCCAAIAI2AgQgACAJNgIADAcLIAIoAgQhCE\ +EAIQpBACEJDAELIAIoAgQiAUEIaiIJKAIAIghFDQIgAUEEaiIBKAIAIAhBrPzIABDdFiEIIANBEGog\ +ASgCACAJKAIAQbz8yAAQnxFBAyEJIAMoAhAhCyADKAIUIQoLIANBxABqQQhqIgEgCq1CIIYgC62ENw\ +IAIAMgCDYCSCADIAk2AkQgA0HEAGoQrRIhCCAFIAMpAkQ3AgAgBUEIaiABKQIANwIAIAMgAjYCoAEg\ +A0EkaiADQaABahD7DCAIIQIMAgsgAyAINgI4CyADQaABaiADQTxqIAIoAgAQuhYgAygCoAEiAUEiRw\ +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\ +JAAkAgAkF7akEAIAJBempB/wFxQQRJG0H/AXEOBQACAAABAAsgAEECNgIAIAMoAkwgAygCUBD8FiAD\ +KAIgIAQQgRcMBgsgAygC0AEhAiADKALUASEBIANBgAJqIANBPGoQ6AwCQCADKAKAAkGAgICAeEYNAC\ +ADQegBakEQaiADQYACakEQaikCADcDACADQegBakEIaiADQYACakEIaikCADcDACADIAMpAoACNwPo\ +ASADQYACaiACIAEQ2AIgA0HoAWogAygChAIiAiADKAKIAhD2BCEBIAMoAoACIAIQgRcgARCVGAwCC0\ +GcxtMAQSsgA0GfAmpBxJTDAEGMlsMAEKkKAAsgA0GAAmogA0E8ahDoDAJAIAMoAoACQYCAgIB4Rg0A\ +IANB6AFqQRBqIANBgAJqQRBqKQIANwMAIANB6AFqQQhqIANBgAJqQQhqKQIANwMAIAMgAykCgAI3A+\ +gBIANB6AFqQQFBABD2BBCVGAwBCwtBnMbTAEErIANBnwJqQcSUwwBB/JXDABCpCgALIAMgAy0AiAE6\ +AMwBQZzG0wBBKyADQcwBakG0lMMAQeyVwwAQqQoACyADQYQBahC0EQJAAkAgAygChAFBAkYNACADQT\ +xqIANBhAFqQcgAEJMaGiADQRBqIAQgBUGslsMAQQgQrRMCQCADKAIQIgJFDQAgA0GEAWogAiADKAIU\ +EMAJIAMoAoQBIgJFDQIgAygCkAEhASADKAKMASEFIANBPGogAiADKAKIARCqA0H/AXFBCkcNAiADQc\ +wBaiAFIAEQxAwgAygCICAEEIEXIANBIGpBCGogA0HMAWpBCGooAgA2AgAgAyADKQLMATcDIAwCCyAD\ +QQhqIAQgBUG0lsMAQQQQrRMCQCADKAIIIgJFDQAgA0EwaiACIAMoAgwQxAwgAygCICAEEIEXIANBIG\ +pBCGogA0EwakEIaigCADYCACADIAMpAjA3AyAMAgsgAyAEIAVB77XKAEECEK0TIAMoAgAiAkUNASAD\ +QYQBaiACIAMoAgQQwAkgAygChAEiAkUNASADKAKQASEBIAMoAowBIQUgA0E8aiACIAMoAogBEKoDQf\ +8BcUEKRw0BIANBzAFqIAUgARDEDCADKAIgIAQQgRcgA0EgakEIaiADQcwBakEIaigCADYCACADIAMp\ +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\ +ABDICwALIAogB0G4lMoAEMgLAAsgFiARQaiUygAQyAsACyAAIAU2AggMAwsgByAGQQAgBUGwlsoAEI\ +EYAAtBACEGC0EAIQkLIAFBMGpBCGogAEEIaigCADYCACABIAApAgA3AzAgASABQTBqEO8LIAEpAwAh\ +HhC9FiIKIAY2AhAgCiAJNgIMIAogHjcCBCAKQQA2AgAgAUHwAGokACAKC74LAgp/A34jAEHQAWsiAy\ +QAIANBEGogASACQS8QgA0gA0HAAGogAygCECIEIAEgBBsiBSADKAIUIAIgBBsiBkEvELkGQQAhBwJA\ +AkACQAJAIAMoAkQgBiADKAJAIgQbIgYNAAwBCyADKAJMQQAgBBshCCADKAJIIQkCQAJAAkACQAJAAk\ +ACQAJAAkACQCAEIAUgBBsiByAGQcAAEM4QDQAgA0G4AWogByAGEMEJIAMoArgBIglFDQFBACEHDAML\ +IANBwABqIAlBASAEGyIJIAhBLxC5BiADKAJEIAggAygCQCIEGyIFDQFBASEHDAkLIAMgBjYCnAEgAy\ +AHNgKYAUECIQUgBiEKIAchCQwCCyADKAJMQQAgBBshCCADQbgBaiAEIAkgBBsiBCAFEMEJIAMoArgB\ +IgkNACADIAU2ApwBIAMgBDYCmAFBAiEFDAILIAMoArwBIQogA0HAAGogAygCwAEgAygCxAEQOyADQR\ +hqQQhqIgsgA0HMAGopAgA3AwAgA0EYakEQaiIMIANB1ABqKAIANgIAIAMgAykCRDcDGCADKAJYIQQg\ +AygCQCIFQQJGDQMgA0GgAWpBEGogDCgCADYCACADQaABakEIaiALKQMANwMAIAMgAykDGDcDoAEgAy\ +AKNgKcASADIAk2ApgBIAcNAQsgA0G4AWogCSAKEMQMDAELIAMgBjYCzAEgAyAHNgLIASADQSRqQQc2\ +AgAgA0ECNgJEIANB9JnHADYCQCADQgI3AkwgA0EHNgIcIAMgA0EYajYCSCADIANBmAFqNgIgIAMgA0\ +HIAWo2AhggA0G4AWogA0HAAGoQ6A0LIAVBAkcNARCFDSADQcAAahC7CCADKAJAIQUMAgsgA0GAAWpB\ +EGogDCgCADYCACADQYABakEIaiALKQMANwMAIAMgAykDGDcDgAFBBCEHDAILIANBzABqIANBqAFqKQ\ +MANwIAIANB1ABqIANBsAFqKAIANgIAIAMgBTYCQCADIAMpA6ABNwJEIAMgBDYCWAsgA0GAAWpBCGoi\ +BiADQcAAakEQaiIJKQIANwMAIANBgAFqQRBqIgogA0HYAGoiCygCADYCACADIAMpAkg3A4ABIAMoAk\ +QhByADKAK4ASEEIAVBAkYNACADKQK8ASENIANB6ABqQRBqIAooAgAiCjYCACADQegAakEIaiAGKQMA\ +Ig43AwAgAyADKQOAASIPNwNoIAsgCjYCACAJIA43AgAgAyAPNwJIIAMgDTcCYCADIAQ2AlwgAyAHNg\ +JEIAMgBTYCQAJAIAhFDQAgA0EIaiABIAIgCEF/cyACakGwm8MAENcNIANBoAFqIAMoAgggAygCDEHA\ +m8MAQRgQuQwgA0EgaiADQaABahD0AiADQQM2AhwgA0HAAGoQlhgMAgsgA0EYaiADQcAAakEoEJMaGi\ +ADKAIYQQJGDQEgAEEEaiADQRhqQSgQkxoaIABBADYCAAwCCyADQRhqQRBqIANBiAFqKQMANwIAIANB\ +MGogA0GAAWpBEGooAgA2AgAgAyADKQOAATcCICADIAQ2AjQgAyAHNgIcCyADQcAAakEIaiIEIANBGG\ +pBEGopAgA3AwAgA0HAAGpBEGoiByADQRhqQRhqKQIANwMAIAMgAykCIDcDQCADKAIcIQYgA0GgAWog\ +ASACEMQMAkACQCABIAJBwAAQzhANACABIAIQ1BINAQsgA0GAAWpBCGogA0GgAWpBCGooAgAiAjYCAC\ +ADIAMpAqABIg03A4ABIAAgBjYCBCAAIAMpA0A3AgggAEEQaiAEKQMANwIAIABBGGogBykDADcCACAA\ +IA03AiAgAEEoaiACNgIAIABBATYCAAwBCyADQYABakEIaiADQaABakEIaigCACICNgIAIAMgAykCoA\ +EiDTcDgAEgAEKBgICAIDcCACAAIA03AiAgAEEoaiACNgIAIANBHGoQphYLIANB0AFqJAAL0QoCFH8C\ +fiMAQZABayICJAAgAkEYahClFyACQSBqQQhqIgMgASkCADcCACACQSBqQRBqIgQgAUEIaikCADcCAE\ +EAIQUgAkE4aiACKAIYIgZBABCWDyACKAI8IQcgAigCOCEIIAJB0ABqIAQpAgA3AgAgAkE4akEQaiIJ\ +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\ +ATYCECAHKAIAIgYoAghFDQwgBigCDA0MQQEhBiACQQE2AgggAiADQQBHIgM2AhQgAiAFRSAEQQBHci\ +IENgIMDA0LIAEoAgQhAQwACwsgASgCCCEDIAJBNGogASgCDCIEENQIIAIoAjghBSACKAI0DQFBACEB\ +IAJBADYCJCACIAIoAjwiBjYCICACIAU2AhwgBCAFSw0CIARFDQgMBwsgASgCCCEDIAJBNGogASgCDC\ +IEENQIIAIoAjghBSACKAI0DQJBACEBIAJBADYCMCACIAIoAjwiBjYCLCACIAU2AiggBCAFSw0DIARF\ +DQUMBAsgBSACKAI8EK4YAAsgAkEcakEAIAQQvBAgAigCICEGIAIoAiQhAQwECyAFIAIoAjwQrhgACy\ +ACQShqQQAgBBC8ECACKAIsIQYgAigCMCEBCyABIARqIQUgBiABQRxsaiEBA0AgAkE0aiADELwBIAFB\ +GGogAkE0akEYaigCADYCACABQRBqIAJBNGpBEGopAgA3AgAgAUEIaiACQTRqQQhqKQIANwIAIAEgAi\ +kCNDcCACABQRxqIQEgA0EcaiEDIARBf2oiBA0ACyAFIQELIAIgATYCMCAAIAJBKGoQRgwECyABIARq\ +IQUgBiABQRxsaiEBA0AgAkE0aiADELwBIAFBGGogAkE0akEYaigCADYCACABQRBqIAJBNGpBEGopAg\ +A3AgAgAUEIaiACQTRqQQhqKQIANwIAIAEgAikCNDcCACABQRxqIQEgA0EcaiEDIARBf2oiBA0ACyAF\ +IQELIAIgATYCJCAAIAJBHGoQeAwCCyAFIQYLAkACQAJAAkAgAw4CAAECCyAGIARBAUEAEL8VRQ0BIA\ +AQ5RggARCfGAwCCyAGIARBAUEBEL8VRQ0AIAAgASkCADcCACAAQRhqIAFBGGooAgA2AgAgAEEQaiAB\ +QRBqKQIANwIAIABBCGogAUEIaikCADcCAAwBCyAAIAJBCGoQxAQ2AhggAEEENgIAIAAgAikCCDcCBC\ +AAQRRqIAJBGGooAgA2AgAgAEEMaiACQRBqKQIANwIADAELIAEQ6RkLIAJB0ABqJAAL0goCCH8BfiMA\ +QeAAayINJAACQAJAAkACQAJAAkACQAJAAkACQAJAIANBAWogCkYNACADQQNqIApHDQogDUEgaiABKA\ +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\ +gAJqIAIgARDYAiADQegBaiADKAKEAiICIAMoAogCEPYEIQEgAygCgAIgAhCBFyABEJUYDAALCyADIA\ +MtAIgBOgA8QZzG0wBBKyADQTxqQayPwwBBrJPDABCpCgALQZzG0wBBKyADQZ8CakG8j8MAQbyTwwAQ\ +qQoAC0GcxtMAQSsgA0GfAmpBvI/DAEHck8MAEKkKAAsgA0GEAWoQtBECQAJAIAMoAoQBQQJGDQAgA0\ +E8aiADQYQBakHIABCTGhogA0EgaiAEIAVBrJbDAEEIEK0TAkAgAygCICICRQ0AIANBhAFqIAIgAygC\ +JBCjCyADKAKEASICRQ0CIAMoApABIQEgAygCjAEhBSADQTxqIAIgAygCiAEQqgNB/wFxQQpHDQIgA0\ +HMAWogBSABEMQMIAMoAjAgBBCBFyADQTBqQQhqIANBzAFqQQhqKAIANgIAIAMgAykCzAE3AzAMAgsg\ +A0EYaiAEIAVBtJbDAEEEEK0TAkAgAygCGCICRQ0AIANB6AFqIAIgAygCHBDEDCADKAIwIAQQgRcgA0\ +EwakEIaiADQegBakEIaigCADYCACADIAMpAugBNwMwDAILIANBEGogBCAFQe+1ygBBAhCtEyADKAIQ\ +IgJFDQEgA0GEAWogAiADKAIUEKMLIAMoAoQBIgJFDQEgAygCkAEhASADKAKMASEFIANBPGogAiADKA\ +KIARCqA0H/AXFBCkcNASADQcwBaiAFIAEQxAwgAygCMCAEEIEXIANBMGpBCGogA0HMAWpBCGooAgA2\ +AgAgAyADKQLMATcDMAwBCyADIAMtAIgBOgA8QZzG0wBBKyADQTxqQayPwwBB7JPDABCpCgALIANBhA\ +FqIAMoAjQiBCADKAI4QdwAEPYUA0AgA0EIaiADQYQBahCsBwJAIAMoAggiAg0AIAAgA0E8akHIABCT\ +GhoMAgsgAygCDCEBIANBzAFqIANBPGoQ6AwCQCADKALMAUGAgICAeEYNACADQYACakEQaiADQcwBak\ +EQaikCADcDACADQYACakEIaiADQcwBakEIaikCADcDACADIAMpAswBNwOAAiADQYACaiACIAEQ9gQQ\ +lRgMAQsLQZzG0wBBKyADQZ8CakG8j8MAQfyTwwAQqQoACyADKAIwIAQQgRcgA0GgAmokAAuECgIMfw\ +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\ +ABD2EQALIANBjAJqIAEQ2wcgA0EWNgKwAiAAIAEoAgQgASgCCCADQYwCaiADQbACahCICwwECyADQY\ +wCaiAHQSQQkxoaAkAgBigCCCIHDQBBgYCAgHghBiADQYGAgIB4NgKwAgwDCyAGIAdBf2oiBzYCCCAD\ +QbACaiAGKAIEIAdB8ABsakHwABCTGhogAygCsAIiBkGCgICAeEgNAiADQThqQRxqIANBsAJqQRxqKQ\ +IANwIAIANBOGpBFGogA0GwAmpBFGopAgA3AgAgA0E4akEMaiADQbACakEMaikCADcCACADIAMpArQC\ +NwI8IANB+ANqIANB1AJqQcgAEJMaGiADQcgEaiADQYwCakEMaikCADcDACADQdAEaiADQYwCakEUai\ +kCADcDACADQdgEaiADQYwCakEcaikCADcDACADIAMpApACNwPABCADIAY2AjggAygCjAIhCiADLQCc\ +AyEGIANB3ABqIANB+ANqQTwQkxoaDAELIANBxABqIAdBCGopAgA3AgAgA0HMAGogB0EQaikCADcCAC\ +ADQdQAaiAHQRhqKQIANwIAIAMgCTYCOCADIAcpAgA3AjwgCC0AbCEGIANB3ABqIANBxAFqQTwQkxoa\ +CyAFIAZB/wFxQQBHOgBkIAIgBSkCUDcCGCACQSBqIAVB2ABqIgYoAgA2AgAgARDsBRogA0GgAWogBi\ +gCADYCACADIAUpAlA3ApgBAkACQCAKQYCAgIB4Rw0AIANBsAJqIAJBJBCTGhogAyADQbACahDeCSAD\ +KQMAIQtBCEEEEOQRIgEgCzcCACADQYgBahDmFyADIAE2AogBDAELIANB1ANqQQxqIgYgA0HABGpBCG\ +opAwA3AgAgA0HoA2ogA0HQBGooAgA2AgAgA0HUA2pBIGogAkEYaiIBQQhqKAIANgIAIAMgCjYC1AMg\ +AyADKQPABDcC2AMgAyABKQIANwLsAyADQbACaiACQSQQkxoaIANBIGogA0GwAmoQ3gkgA0HUA2ogAy\ +gCICADKAIkEPAQAkACQAJAAkACQCADKALcAw4CAgEACyADQQhqIANB1ANqEPUVQQohBiADKAIMIQIM\ +AwsgA0EYaiADQdQDahDsDgJAIAMoAhgiBkEMRg0AIAMoAhwhAgwCC0Hk/cgAEPsYAAsgA0EQaiAGEJ\ +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\ +NgIIIANBAzoAXCADQQA2AlggA0KggICAEDcCUCADQQI2AkggA0ECNgJAIANBAzoAPCADQQg2AjggA0\ +IgNwIwIANCgICAgOAANwIoIANBAjYCICADIANBIGo2ApQBIANBAjYCkAEgAyADQQhqNgKMASABIAIg\ +A0GEAWoQhBcNBCALQQFqIQsMAAsLIAMgBjYCBAJAAkAgCiALRg0AAkAgCSALRg0AIANBIDYCgAEMAg\ +sgA0E+NgKAAQwBCyADQd4ANgKAAQsgBkEUaiEGIANBzAE2ApgBIANBPDYCkAEgA0GyATYCiAEgAyAD\ +QQRqNgKUASADIANBnAFqNgKMASADIANBgAFqNgKEASADIAs2ApwBIANBAzoAfCADQQA2AnggA0KggI\ +CAIDcCcCADQQI2AmggA0ECNgJgIANBAzoAXCADQQg2AlggA0KggICAEDcCUCADQoCAgIDgADcCSCAD\ +QQI2AkAgA0EDOgA8IANBADYCOCADQiA3AjAgA0ECNgIoIANBAjYCICADQQM2AhwgA0EENgIMIANBhJ\ +/IADYCCCADIANBIGo2AhggA0EDNgIUIAhBbGohCEEBIQQgC0EBaiELIAMgA0GEAWo2AhAgASACIANB\ +CGoQhBdFDQAMAwsLIANBADYCMCADQQE2AiQgA0GI3scANgIgIANCBDcCKCABIAIgA0EgahCEFw0AIA\ +NBAjYCJCADQcSeyAA2AiAgA0IBNwIsIANBzQE2AogBIAMgBTYChAEgAyADQYQBajYCKEEBIQQgASAC\ +IANBIGoQhBcNASADQQA2AjAgA0EBNgIkIANB1N7HADYCICADQgQ3AiggASACIANBIGoQhBchBAwBC0\ +EBIQQLIANBoAFqJAAgBAuyBwEbfyMAQRBrIgEkACAAEPIXAkACQAJAIAAoAgANAEEAIQIgAEEANgIA\ +IAAoAgghAyAAKAIYIQQgACgCHCEFIAAoAmAhBiAAKAJkIQcgACgCqAEhCCAAKAKsASEJIAAoArABIQ\ +ogACgCtAEhCyAAKAK4ASEMIAAoAtgBIQ0gACgC3AEhDiAAKALgASEPIAAoAuQBIRAgACgC6AEhESAA\ +KAL4ASESIAAoAvwBIRMgACgCgAIhFCAAKAKIAiEVIAAoAowCIRYgACgCkAIhFyAAKAKYAiEYIAAoAp\ +wCIRkgACgCoAIhGiAAKAKUAiEbIABBqAJBCBCSDCAbEK0PAkADQCAXRQ0BIBYgAmoiAEEQaigCACAA\ +QRRqKAIAEOcWIABBqAFqKAIAIABBrAFqKAIAEOcWIABB+ABqEPcWIABB5ABqKAIAIABB6ABqKAIAEP\ +cXIABB3ABqIhsoAgAgAEHgAGooAgAQrg8gAEHYAGooAgAgGygCABCCFiAXQX9qIRcgAkG4AWohAgwA\ +CwsCQCAVRQ0AIBZBCCAVQbgBbBDzFgsCQCADQQJGDQAgBCAFEOcWIAYgBxDnFiALIAwQ9xcgCSAKEK\ +oRIAggCRCKFiAQIBEQ9xcgDiAPEKsRIA0gDhCLFiATIBQQtAwgEiATEIkWC0EAIQIgGkEAIBgbIRsg\ +GEUhAANAAkAgGw0AIABBAXENBAJAIAJFDQAgGCEADAQLA0ACQCAZDQBBACEAIBghAgwFCyAZQX9qIR\ +kgGCgCoAUhGAwACwsCQAJAIABBAXENAAJAIAJFDQAgGSEXIBghACACIRgMAgsCQANAIBlFDQEgGUF/\ +aiEZIBgoAqAFIRgMAAsLQQAhF0EAIQAMAQtBxILDABD7GAALIBtBf2ohGwJAAkADQCAXIBgvAZoFSQ\ +0BIAFBBGogGCAAEOUNIAEoAgQiGEUNAiABKAIMIRcgASgCCCEADAALCyAXQQFqIRkCQAJAIAANACAY\ +IQIMAQsgGCAZQQJ0akGgBWohGQNAIBkoAgAiAkGgBWohGSAAQX9qIgANAAtBACEZCyAYIBdBAnRqQe\ +wEaigCABCtDyAYIBdBOGxqIhgoAhwgGEEgaigCABD3FyAYQRRqIgAoAgAgGEEYaigCABCJCiAYKAIQ\ +IAAoAgAQjBYgGCgCMBDmBUEAIRhBACEADAELC0H0hcMAEPsYAAsQtRkACwNAIAFBBGogAiAAEOUNIA\ +EoAgQiAkUNASABKAIIIQAMAAsLIAFBEGokAAuaCAECfwJAAkACQCAAQYBeakETSQ0AIABBgKh9aiIC\ +Qf//A3FBHHAhAyACQaPXAEsNASABQdhcakEaSw0BIAMNASAAIAFqQdlcag8LIAFBn11qQRVJDQELAk\ +ACQCABIAByQYCABEkNAEGAgMQAIQICQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB\ +4r16ag4FARISAgMACwJAIABBnaV6ag4HBRISEgYSBwALAkACQAJAAkACQAJAAkACQAJAAkACQAJAAk\ +ACQAJAAkAgAEHn3ntqDgMBIQIACwJAIABBz917ag4CBAUACwJAIABB/th7ag4DByEIAAsCQCAAQcjU\ +e2oOAg0OAAsgAEGpwgVGDRICQCAAQdqLBEYNACAAQaWhBEYNAyAAQcemBEYNBiAAQYunBEYNCSAAQZ\ +CnBEYNCiAAQcKnBEYNCyAAQbmpBEYNDCAAQbWyBEYNDyAAQdKLBEcNIUHJiwRBgIDEACABQYcGRhsP\ +C0HkiwRBgIDEACABQYcGRhsPC0GaoQRBgIDEACABQbqhBEYbDwtBnKEEQYCAxAAgAUG6oQRGGw8LQa\ +uhBEGAgMQAIAFBuqEERhsPC0GuogRBgIDEACABQaeiBEYbDwtBr6IEQYCAxAAgAUGnogRGGw8LQcum\ +BEHMpgRBgIDEACABQdemBEYbIAFBvqYERhsPC0GDpwRBgIDEACABQcmnBEYbDwtBhacEQYCAxAAgAU\ +G7pwRGGw8LQY6nBEGAgMQAIAFBwqcERhsPC0GRpwRBgIDEACABQcmnBEYbDwsgAUG4pwRGDQsgAUHC\ +pwRGDQwgAUHJpwRHDRVByKcEDwsgAUHG1ntqDgQNFBQODAtBuqsEQYCAxAAgAUGvqwRGGw8LQburBE\ +GAgMQAIAFBr6sERhsPC0G4sgRBgIDEACABQbCyBEYbDwsgAUHivXpqDgMLDA0OC0GmwgVBqMIFQYCA\ +xAAgAUGgwgVGGyABQZ/CBUYbDwtBp8IFQYCAxAAgAUGfwgVGGw8LQaTCBUGAgMQAIAFBn8IFRhsPC0\ +Hp2gVBgIDEACABQefaBUYbDwtB6NoFQYCAxAAgAUHn2gVGGw8LQeraBUGAgMQAIAFB59oFRhsPC0HH\ +pwQPC0HFpwQPCyABQbCpBEcNB0G8qQQPC0G7qQQPC0G+qQQPC0GhwgUPC0GjwgUPC0GlwgUPCyABQa\ +nCBUcNAUGiwgUPCyAAQRB0IAFyIgAgAEG5893xeWwgAEGmsoWKA2wiAXOtQqAHfkIgiKdBAXRBrJXM\ +AGovAQBqQbnz3fF5bCABc61CoAd+QiCIp0EDdCIBQfCjzABqKAIAQYCAxAAgAUHso8wAaigCACAARh\ +shAgsgAg8LIABBzARsIAFBHGxqQeTy3n5qC8UHAgl/AX4jAEHQAGsiAyQAIANBAzYCHEH4hcAAIQQg\ +A0H4hcAANgIYIANBlYCAgHg2AgAgAyABIAJBBXRqIgI2AhQgA0EgakEEciEFIANBMGohBiADQQRyIQ\ +dBAyEIQQIhCUECIQpBAiELAkACQAJAA0ACQAJAAkACQCABIAJHDQAgAyACNgIQIAtB/wFxQQJHDQFB\ +2oXAAEEHELEMIQEMBgsgA0EgaiABIAQgCBDkBSABQSBqIQECQAJAIAMoAiBBlYCAgHhGDQAgAyABNg\ +IQIAMQ+RYgA0EIaiAGQQhqKQMANwMAIAMgBikDADcDACADKAIkIQQgAygCKCEBIAMoAiwhCAJAAkAC\ +QAJAAkACQAJAAkAgAygCIEGAgICAeHMiAkEVIAJBFUkbQX9qDg8ACwsBCwsLCwsLCwIDBAULCyADQQ\ +A6AEQgAyAEQf8BcSIBQQMgAUEDSRs6AEUMBQsgA0EAOgBEIAMgCK1CIIYgAa2EIgxCAyAMQgNUGzwA\ +RQwECyADQcQAaiABIAgQ/wwgBCABEOcWDAQLIANBxABqIAQgARD/DAwCCyADQcQAaiABIAgQmAQgBC\ +ABEOcWDAILIANBxABqIAQgARCYBAsgA0EgahDwCwsgAy0AREUNASADKAJIIQEMBwsgA0EgahDIFQwE\ +CwJAAkACQAJAAkAgAy0ARQ4EAQIDAAELIAMoAgAhASADQZWAgIB4NgIAIAFBlYCAgHhGDQMgBSAHKQ\ +IANwIAIAVBCGogB0EIaigCADYCACADIAE2AiAgA0EgahDwCwwGCwJAIAtB/wFxQQJGDQBB2oXAAEEH\ +ELAMIQEMCQsgA0EgaiADEIoIIAMtACANByADLQAhIQsMBQsCQCAKQf8BcUECRg0AQeGFwABBDBCwDC\ +EBDAgLIANBIGogAxCKCCADLQAgDQYgAy0AISEKDAQLAkAgCUH/AXFBAkYNAEHthcAAQQoQsAwhAQwH\ +CyADQSBqIAMQigggAy0AIA0FIAMtACEhCQwDC0Goh8MAQRAQsAghAQwFCwJAIApB/wFxQQJHDQBB4Y\ +XAAEEMELEMIQEMBQsCQCAJQf8BcUECRw0AQe2FwABBChCxDCEBDAULIAAgC0EBcToAASAAIAlBAXE6\ +AAMgACAKQQFxOgACQQAhAQwFCyADQSBqIANBzwBqQeiAwAAQkRMhAQwDCyADKAIcIQggAygCGCEEIA\ +MoAhAhASADKAIUIQIMAAsLIAMoAiQhAQsgACABNgIEQQEhAQsgACABOgAAIAMQ+RYgA0HQAGokAAuF\ +BwEIfyMAQZABayIDJAAgA0EIaiABIAJBLxCADSADQcAAaiADKAIIIgQgASAEGyIFIAMoAgwgAiAEGy\ +IBQS8QuQYCQAJAAkACQAJAAkACQCADKAJEIAEgAygCQCICGyIBRQ0AIAMoAkxBACACGyEEIAMoAkhB\ +ASACGyEGAkAgAiAFIAIbIgIgAUHAABDOEA0AIANBMGogAiABEMEJAkAgAygCMCIHRQ0AQQAhAgwDCy\ +ADIAE2AhQgAyACNgIQQQIhBSABIQggAiEHDAMLIANBwABqIAYgBEEvELkGAkACQCADKAJEIAQgAygC\ +QCIFGyIIRQ0AIAMoAkxBACAFGyEEIAMoAkhBASAFGyEJIANBMGogBSAGIAUbIgYgCBDBCSADKAIwIg\ +dFDQEgCSEGDAMLIABCgoCAgBA3AgAMBwsgAyAINgIUIAMgBjYCEEECIQUgCSEGDAQLIABCAjcCAAwF\ +CyADKAI0IQggA0HAAGogAygCOCADKAI8EJMBIANB8ABqQQhqIgkgA0HMAGopAgA3AwAgA0HwAGpBEG\ +oiCiADQdQAaikCADcDACADIAMpAkQ3A3AgAygCQCIFQQJGDQEgA0EYakEQaiAKKQMANwMAIANBGGpB\ +CGogCSkDADcDACADIAMpA3A3AxggAyAINgIUIAMgBzYCECACDQILIANBMGogByAIEMQMDAILIAAgAy\ +kDcDcCCCAAQoKAgIAwNwIAIABBGGogCikDADcCACAAQRBqIAkpAwA3AgAMAgsgAyABNgJsIAMgAjYC\ +aCADQfwAakEHNgIAIANBAjYCRCADQfSZxwA2AkAgA0ICNwJMIANBBzYCdCADIANB8ABqNgJIIAMgA0\ +EQajYCeCADIANB6ABqNgJwIANBMGogA0HAAGoQ6A0LAkACQCAFQQJHDQAQhQ0gA0HwAGoQuwgMAQsg\ +A0H8AGogA0EgaikDADcCACADQYQBaiADQShqKQMANwIAIAMgBTYCcCADIAMpAxg3AnQLIANB5ABqIA\ +NBMGpBCGooAgA2AgAgA0HAAGpBCGogA0HwAGpBCGopAgA3AwAgA0HAAGpBEGogA0HwAGpBEGopAgA3\ +AwAgA0HAAGpBGGogA0HwAGpBGGooAgA2AgAgAyADKQIwNwJcIAMgAykCcDcDQCAAIANBwABqQSgQkx\ +oiAiAENgIsIAIgBjYCKAsgA0GQAWokAAuFBwIFfwF+IwBBkAFrIgEkAAJAAkACQAJAAkACQCAAKAIA\ +DggFBQUFAAECAwULIAAoAgwiAigCACACQQxqKAIAENgVRQ0EDAMLIAAoAgQiAigCACACQQxqKAIAEN\ +gVRQ0DDAILIAAoAgwNAQwCCyAAKAIMRQ0BC0EcQQQQ5BEhAhDdDSEDIABBGGoiBCgCACEFIAQgAzYC\ +ACAAKQIAIQYgAEEANgIAIAIgBjcCACACQQhqIABBCGopAgA3AgAgAkEQaiAAQRBqKQIANwIAIAJBGG\ +ogBTYCAEEBIQAgAUEBNgIMIAEgAjYCCCABQQE2AgQgAUHQAGpBBGohBQJAA0ACQCAADQAgAUEINgIw\ +DAILIAEgAEF/aiIANgIMIAFBMGpBCGoiAiABKAIIIABBHGxqIgBBCGopAgA3AwAgAUEwakEQaiIDIA\ +BBEGopAgA3AwAgAUEwakEYaiIEIABBGGooAgA2AgAgASAAKQIAIgY3AzAgBqdBCEYNASABQdAAakEY\ +aiAEKAIANgIAIAFB0ABqQRBqIAMpAwA3AwAgAUHQAGpBCGogAikDADcDACABIAEpAzAiBjcDUAJAAk\ +ACQAJAAkAgBqcOCAQEBAQAAQIDBAsgASgCXCEAEN0NIQIgAUHwAGpBGGogAEEYaiIDKAIANgIAIAFB\ +8ABqQRBqIABBEGopAgA3AwAgAUHwAGpBCGogAEEIaikCADcDACADIAI2AgAgACkCACEGIABBADYCAC\ +ABIAY3A3AgAUEEaiABQfAAahDcCwwDCyABKAJUIQAQ3Q0hAiABQfAAakEYaiAAQRhqIgMoAgA2AgAg\ +AUHwAGpBEGogAEEQaikCADcDACABQfAAakEIaiAAQQhqKQIANwMAIAMgAjYCACAAKQIAIQYgAEEANg\ +IAIAEgBjcDcCABQQRqIAFB8ABqENwLDAILIAEoAlwhACABQQA2AlwgAUEANgKAASABIAA2AnwgASAF\ +NgJ4IAEgASgCWCICNgJwIAEgAiAAQRxsajYCdCABQQRqIAFB8ABqEL4DDAELIAEoAlwhACABQQA2Al\ +wgAUEANgKAASABIAA2AnwgASAFNgJ4IAEgASgCWCICNgJwIAEgAiAAQRxsajYCdCABQQRqIAFB8ABq\ +EL4DCyABQdAAahCmGCABKAIMIQAMAAsLIAFBMGoQ5BcgAUEEahCYGAsgAUGQAWokAAuZBwIQfwF+Iw\ +BB0ABrIgQkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCAEF/akECSQ0AIAJBmANqIQUg\ +AUGIBWohBiABKAKkDSEHIAEoAqANIQggASkDACEUIAMtABghCSADKAIMIQogAygCCCELIAMoAhQhDE\ +EAIQ0gAS0AnA1B/wFxIQ4gAygCECIPIRADQCAEQSRqIAggByALIAogECAMEJsRIAQoAiRFDQIgBCgC\ +KCERIAQoAiwhEiAEIAk6ADwgBCAMNgI4IAQgDzYCNCAEIAo2AjAgBCALNgIsIARBATYCJCAEQQhqIA\ +RBJGogDyASEKIGIA4NBSAUQgJRDQcgAigCyARBAkYNBiAEQcAAaiAGIAUgBEEIaiANENkBIAQoAkQh\ +EwJAIAQoAkAiDUECRw0AIBNFDQUMDgsgDUEBRg0DIBAgDE8NAiARQX9GDQggEUEBaiEQIBIhDQwACw\ +sgAS0AnA0NByABKQMAQgJRDQsgAigCyARBAkYNCCAEQSRqIAEgAkHYAWogAxCzAyAEQQhqIARBJGoQ\ +ixAgBCgCCEECRg0LIAAgBCkCCDcCACAAQQhqIARBCGpBCGopAgA3AgAMDAsgAEEANgIADAsLIAQoAk\ +ghECAEIAk6ADwgBCAMNgI4IAQgDzYCNCAEIAo2AjAgBCALNgIsIAQgEzYCKCAEQQI2AiQgBEEIaiAE\ +QSRqIBAgDBCiBiACKALIBEECRg0HIARBJGogASACQdgBaiAEQQhqEKsGIARBwABqIARBJGoQjBACQA\ +JAIAQoAkAOAwABCwALIARBATYCKCAEQcyAyAA2AiQgBEIANwIwIAQgBEHMAGo2AiwgBEEkakHUgMgA\ +EKYOAAsgAEEEaiATIBAgBCgCSBD4DCAAQQE2AgAMCgsgAigCyARBAkYNByAEQSRqIAEgAkHYAWogAx\ +CzAyAEQQhqIARBJGoQixAgBCgCCEECRg0IIAAgBCkCCDcCACAAQQhqIARBCGpBCGopAgA3AgAMCQtB\ +0q3KAEEoQdSFyAAQ7Q8AC0HkhMgAEPsYAAsgBEEBNgIoIARBzP/HADYCJCAEQgA3AjAgBCAEQcwAaj\ +YCLCAEQSRqQdT/xwAQpg4AC0H0/scAEPsYAAtB0q3KAEEoQZSFyAAQ7Q8AC0GkhMgAEPsYAAtBtITI\ +ABD7GAALQaSEyAAQ+xgACyAAIAEgAiADENcCCyAEQdAAaiQAC6wHAQh/IwBBgAJrIgIkACACQThqEJ\ +YaIAEoAhhBBnQhAyABKAIUIQQDQAJAAkACQAJAAkACQAJAIANFDQAgAiAEQTRqIgU2AmwgBCgCOCIG\ +IAQoAjwiB0EvEM8QDQUgAkHAAWogBiAHEJENIAJB0AFqIAQQ+wQgAkGQAWogAkE4aiACQcABaiACQd\ +ABahC0AiACQZABahCAFyACQQI2AtQBIAJB9JnHADYC0AEgAkIBNwLcASACQQ42ApQBIAIgAkGQAWo2\ +AtgBIAIgAkHsAGo2ApABIAJB/ABqIAJB0AFqEOgNIAJB8ABqQQhqIgUgAkH8AGpBCGooAgA2AgAgAi\ +ACKQJ8NwNwIAJBMGogASACQfAAahCqBAJAIAIoAjANACACQShqIAQQ+RQgAigCKCIGRQ0AIAYgAigC\ +LCIHQS8QzxANBSACQSBqIAYgB0GEmscAQQQQrRMCQCACKAIgIghFDQAgAkEYaiAIIAIoAiQiB0EvEI\ +ANIAIgAigCHCAHIAIoAhgiBhs2AowBIAIgBiAIIAYbNgKIASACQQI2AtQBIAJBkJrHADYC0AEgAkIB\ +NwLcASACQQc2AsQBIAIgAkHAAWo2AtgBIAIgAkGIAWo2AsABIAJBkAFqIAJB0AFqEOgNDAQLIAJBEG\ +ogBiAHQaCaxwBBBBCtEyACKAIQIgYNAgwECyACKAJwIAIoAnQQ/BYMBgsgACACQThqQTAQkxoaIAJB\ +gAJqJAAPCyACQQhqIAYgAigCFCIJQS8QgA0gAiACKAIMIAkgAigCCCIHGzYCjAEgAiAHIAYgBxs2Ao\ +gBIAJBAjYC1AEgAkGsmscANgLQASACQgE3AtwBIAJBBzYCxAEgAiACQcABajYC2AEgAiACQYgBajYC\ +wAEgAkGQAWogAkHQAWoQ6A0LIAIoApQBIQkgAigCmAEhBiACKAKQASIHQYCAgIB4Rg0AIAIgBjYC2A\ +EgAiAJNgLUASACIAc2AtABIAJBwAFqQQhqIAUoAgA2AgAgAkGDgICAeDYC4AEgAiACKQNwNwPAASAC\ +QZABaiACQThqIAJBwAFqIAJB0AFqELQCIAJBkAFqEIAXDAMLQYCAgIB4IAkQgRcLIAIoAnAgAigCdB\ +D8FiACKAJsIQULIAJBwAFqIAVBBGooAgAgBUEIaigCABCRDSACQdABaiAEEPsEIAJBkAFqIAJBOGog\ +AkHAAWogAkHQAWoQtAIgAkGQAWoQgBcLIARBwABqIQQgA0FAaiEDDAALC5IHAhB/AX4jAEHQAGsiBC\ +QAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAIAQX9qQQJJDQAgAkGYA2ohBSABQYgFaiEG\ +IAEoAqQNIQcgASgCoA0hCCABKQMAIRQgAy0AGCEJIAMoAgwhCiADKAIIIQsgAygCFCEMQQAhDSABLQ\ +CcDUH/AXEhDiADKAIQIg8hEANAIARBJGogCCAHIAsgCiAQIAwQmxEgBCgCJEUNAiAEKAIoIREgBCgC\ +LCESIAQgCToAPCAEIAw2AjggBCAPNgI0IAQgCjYCMCAEIAs2AiwgBEEBNgIkIARBCGogBEEkaiAPIB\ +IQogYgDg0FIBRCAlENByACKALIBEECRg0GIARBwABqIAYgBSAEQQhqIA0Q2QEgBCgCRCETAkAgBCgC\ +QCINQQJHDQAgE0UNBQwOCyANQQFGDQMgECAMTw0CIBFBf0YNCCARQQFqIRAgEiENDAALCyABLQCcDQ\ +0HIAEpAwBCAlENCyACKALIBEECRg0IIARBJGogASACQdgBaiADEKsGIARBCGogBEEkahCMECAEKAII\ +QQJGDQsgACAEKQIINwIAIABBCGogBEEIakEIaigCADYCAAwMCyAAQQA2AgAMCwsgBCgCSCEQIAQgCT\ +oAPCAEIAw2AjggBCAPNgI0IAQgCjYCMCAEIAs2AiwgBCATNgIoIARBAjYCJCAEQQhqIARBJGogECAM\ +EKIGIAIoAsgEQQJGDQcgBEEkaiABIAJB2AFqIARBCGoQqwYgBEHAAGogBEEkahCMEAJAAkAgBCgCQA\ +4DAAELAAsgBEEBNgIoIARBzIDIADYCJCAEQgA3AjAgBCAEQcwAajYCLCAEQSRqQeSAyAAQpg4ACyAA\ +IAQpAkQ3AgQgAEEBNgIADAoLIAIoAsgEQQJGDQcgBEEkaiABIAJB2AFqIAMQqwYgBEEIaiAEQSRqEI\ +wQIAQoAghBAkYNCCAAIAQpAgg3AgAgAEEIaiAEQQhqQQhqKAIANgIADAkLQdKtygBBKEHUhcgAEO0P\ +AAtB5ITIABD7GAALIARBATYCKCAEQcz/xwA2AiQgBEIANwIwIAQgBEHMAGo2AiwgBEEkakHU/8cAEK\ +YOAAtB9P7HABD7GAALQdKtygBBKEGkhcgAEO0PAAtBtITIABD7GAALQbSEyAAQ+xgAC0G0hMgAEPsY\ +AAsgACABIAIgAxDDDgsgBEHQAGokAAviBgESfyMAQdAAayIDJAACQAJAAkACQAJAAkACQCACRQ0AIA\ +EgAmohBEEBIQUgASEGQQEhByABLQAAIgghCQNAAkACQCAFDQAgBiAERw0BDAQLIAQgBmsgBU0NAyAG\ +IAVqIQZBACEFCyAHQQF0IQcgCUEBdCAGLQAAaiEJIAZBAWohBgwACwsgA0KAgICAEDcDMCADQd0ANg\ +I4DAELQQEhCgJAIAJBAUYNAEEAIQsCQAJAIAEtAAEiDEGEiskAai0AACAIQYSKyQBqLQAASQ0AQQAh\ +DSAMIQ4gCCEMDAELQQAhCkEBIQ0gCCEOC0ECIQVB/wEhDyABIQZBACEQA0AgDSERIAxB/wFxIhJBhI\ +rJAGohEyAOIQgCQANAIAhB/wFxQYSKyQBqIRQCQANAAkACQCAQQQFxRQ0AIA9FDQUgBiAERg0FIA9B\ +f2ohDyALIQ0MAQsgDyAFTQ0EIAQgBmsgBU0NBCAFIAtqIQ0gBiAFaiEGIA8gBUF/c2ohDwsgBi0AAC\ +EIIA1BAWohCyAGQQFqIQYgCEGEiskAai0AACIOIBMtAABJDQFBACEFQQEhECAIIBJGDQAgDiAULQAA\ +Tw0ACyANQYACTw0IQQAhBUEBIRAgDSEKDAELCyANQYACTw0FQQAhBUEBIRAgESEKIAwhDiAIIQwMAQ\ +sLIAMgCjoAQCADIBE6AE8gEUH/AXEiBiAKQf8BcUYNAiAGIAJPDQUCQAJAAkAgASAGai0AACIFQYSK\ +yQBqLQAAQfoBSw0AIApB/wFxIgQgAkkNASAEIAJBjNHHABDICwALIANBADYCQAwBCyADIBE6AEkgAy\ +AFOgBIIANB3gA2AkAgAyABIARqLQAAQRh0IAVBEHQgBEEIdHJyIAZyNgJECyADQQhqIAEgAiAJIAcg\ +A0HAAGoQtwYMAQsgAyAHNgI0IAMgCTYCMCADIAg6AAggA0HfADYCOAsgACACNgJAIAAgATYCPCAAQQ\ +A2AjggACADQQhqQTgQkxoaIANB0ABqJAAPCyADQQA2AghBASADQc8AaiADQcAAaiADQQhqQdzQxwAQ\ +0BEAC0GcxtMAQSsgA0EIakGgy8cAQfzQxwAQqQoAC0GcxtMAQSsgA0EIakGgy8cAQezQxwAQqQoACy\ +AGIAJB+NHHABDICwAL/wYCBH8BfiMAQeABayICJAAgAkGIAWpBCGoiAyABKAIAIgRB2ABqKAIAIgU2\ +AgAgAkGIAWpBFGogBTYCACACIAQpAlAiBjcClAEgAkEQakEUaiADKQMANwIAIAJBLGogAkGIAWpBEG\ +opAwA3AgBBACEDIAJBADYCGCACQoCAgIDAADcCECACIAY3AhwgBEHQAGohBQJAAkACQAJAAkADQAJA\ +AkAgARDdCEE6Rg0AIAEQ3QhBKUcNAQsgA0EBRw0DIAJBDDYCiAEgACABKAIEIAEoAgggAkE0aiACQY\ +gBahCICwwFCwJAAkAgARDdCEEtRg0AIAJByAFqIAEQ2wcgAkGIAWogARC6BiACLQCMASEDIAIoAogB\ +IgRBIkcNAyACQegAakEIaiACQcgBakEIaikCADcDACACQegAakEQaiACQcgBakEQaikCADcDACACIA\ +IpAsgBNwNoIAIgAzoAgAEgAkEIaiACQRBqIAJB6ABqEMwFQQAhAyACKAIIQQFHDQEgAigCDCEDIAJB\ +yAFqIAEQ2wcgAkGcAWogAigCFCACKAIYIANBwPPIABDrFCIDQRBqKQIANwIAIAJBlAFqIANBCGopAg\ +A3AgAgAkENNgKIASACIAMpAgA3AowBIAAgASgCBCABKAIIIAJByAFqIAJBiAFqEIgLDAYLIAJBNGog\ +ARDbByACQcwAaiABENsHIAJBBzoAZCACIAJBEGogAkHMAGoQzAVBASEDIAIoAgBBAUYNBAsgARDsBQ\ +0ACyACQdwBaiAFQQhqKAIAIgM2AgAgAkHIAWpBCGogAzYCACACIAUpAgAiBjcC1AEgAiAGNwPIASAC\ +QQ82AogBIAAgASgCBCABKAIIIAJByAFqIAJBiAFqEIgLDAMLIABBBWogAkGIAWpBBWpBOxCTGhogAC\ +ADOgAEIAAgBDYCAAwCCyACQTBqIAVBCGooAgA2AgAgAiAFKQIANwIoIABBBGogAkEQakEkEJMaGiAA\ +QSI2AgAMAgsgAigCBCEDIAJByAFqIAEQ2wcgAkGcAWogAigCFCACKAIYIANBsPPIABDrFCIDQRBqKQ\ +IANwIAIAJBlAFqIANBCGopAgA3AgAgAkEONgKIASACIAMpAgA3AowBIAAgASgCBCABKAIIIAJByAFq\ +IAJBiAFqEIgLCyACKAIQIAIoAhQQiRYLIAJB4AFqJAAL2QYBEH8jAEEgayICJAACQCAAKAIIIgNFDQ\ +AgASgCCCIERQ0AIAEoAgQhBUEAIQZBACEHA0ACQAJAIAcgA08NACAGIARJDQELIAMgByADIAdLGyEE\ +A0ACQCAEIAdHDQAgAkEMaiAAIAMQiQ8gAkEMahDbDCAAIAAtAAxBAEcgAS0ADEEAR3E6AAwMBAsgAC\ +AAKAIEIAAoAgggB0HcgckAEOwUIgYtAAAgBi0AARDzECAHQQFqIQcMAAsLAkACQAJAIAUgBCAGQeyB\ +yQAQ7BQtAAEgACgCBCIIIAAoAggiCSAHQfyByQAQ7BQtAABJDQACQCAIIAkgB0GMgskAEOwULQABIA\ +UgBCAGQZyCyQAQ7BQtAABJDQAgCCAJIAdBrILJABDsFCEKIAUgBCAGQbyCyQAQ7BQhCwJAIAotAAAi\ +DCALLQAAIg0gDCANSxsgCi0AASIKIAstAAEiCyAKIAtJG0sNACAIIAkgB0HMgskAEOwUIggtAAEhDS\ +AILQAAIQ4gBiAEIAYgBEsbIQ8DQAJAIA8gBkcNACAPIQYMBQsgDkH/AXEiCSAFIAQgBkHcgskAEOwU\ +IgotAAAiCCAJIAhLGyANQf8BcSIIIAotAAEiCiAIIApJG0sNBCAFIAQgBkHsgskAEOwUIgotAAAhCw\ +JAIAggCi0AASIKSyIQDQAgCSAKSw0AIAtB/wFxIgwgCEsNACAMIAlNDQYLAkAgCSALQf8BcSIMIAkg\ +DEsbIAggCiAIIApJG0sNAAJAAkACQAJAIAwgCUsiDA0AIAggCk0NAQtBACERQQAhDSAMDQEMAgtBpI\ +XJAEEoQcyFyQAQ7Q8ACyAJIAsQ9hVB/wFxIgsgCSALSxshDSAJIAsgCSALSRshDkEBIRELAkAgEEUN\ +ACAKEMUVQf8BcSIJIAggCSAISxshCiAJIAggCSAISRshCQJAIAxFDQAgACAOIA0Q8xALIAohDSAJIQ\ +4MAQsgEUUNBgsgBSAEIAZB/ILJABDsFC0AASAISw0EIAZBAWohBgwACwtBjIPJAEHJAEHYg8kAEO0P\ +AAsgACAIIAkgB0Hog8kAEOwUIggtAAAgCC0AARDzEAwCCyAGQQFqIQYMAgsgACAOIA0Q8xALIAdBAW\ +ohBwwACwsgAkEgaiQAC/0GAgZ/AX4jAEHQAGsiAiQAIAIgARDdCCIDNgIMAkACQAJAAkAgA0HbAEcN\ +ACACQShqQQhqIgQgASgCACIDQdgAaigCADYCACACIAMpAlA3AyggA0HQAGohAyABEOwFRQ0CIAEQ3Q\ +hBOkcNAgJAIAEQ7AUNACADIAIpAyg3AgAgA0EIaiACQShqQQhqKAIANgIAQQIhBAwECwJAIAEQ3Qgi\ +BUHeAEcNACABEOwFDQAgAyACKQMoNwIAIANBCGogAkEoakEIaigCADYCAEECIQQMBAsgAygCACEEAk\ +ADQCABEN0IQTpGDQEgARDsBQ0ACwsgAygCACIGIAEoAggiB0YNASACIAEoAgQgByAEIAZB/PjIABDn\ +CSACKAIEIQYgAigCACEHQQIhBAJAIAFBjPnIAEECEKYKDQAgAyACKQMoNwIAIANBCGogAkEoakEIai\ +gCADYCAAwEC0EAIQECQCAHIAZBhP7IAEEFEPEUDQBBASEBIAcgBkGJ/sgAQQUQ8RQNAEECIQEgByAG\ +QY7+yABBBRDxFA0AQQMhASAHIAZBk/7IAEEFEPEUDQBBBCEBIAcgBkGY/sgAQQUQ8RQNAEEFIQEgBy\ +AGQZ3+yABBBRDxFA0AQQYhASAHIAZBov7IAEEFEPEUDQBBByEBIAcgBkGn/sgAQQUQ8RQNAEEIIQEg\ +ByAGQaz+yABBBRDxFA0AQQkhASAHIAZBsf7IAEEFEPEUDQBBCiEBIAcgBkG2/sgAQQUQ8RQNAEELIQ\ +EgByAGQbv+yABBBRDxFA0AQQwhASAHIAZBwP7IAEEEEPEUDQBBDSEBIAcgBkHE/sgAQQYQ8RQNACAD\ +IAIpAyg3AgAgA0EIaiACQShqQQhqKAIANgIAQQIhBAwECyACQThqQQhqIgQgAkEoakEIaigCADYCAC\ +ACQcwAaiADQQhqKAIANgIAIAAgAikDKCIINwIAIAAgAToAGCACIAMpAgA3AkQgAEEIaiAEKQMANwIA\ +IABBEGogAkE4akEQaikDADcCACACIAg3AzggBUHeAEYhBAwDCyACQQA2AhAgAkEMakHE7sgAIAJBEG\ +pBkPnIABD2EQALIAMgAikDKDcCACADQQhqIAJBKGpBCGooAgA2AgBBAiEEDAELIAMgAikDKDcCACAD\ +QQhqIAQoAgA2AgBBAiEECyAAIAQ6ABkgAkHQAGokAAvmBgIHfwF+IwBBkAFrIgMkACADQQhqIAEoAg\ +AiBEHAAGpB8PbIABC4EyADKAIMIQUgAygCCCIGQQA2AgggA0EQakEIaiAEQdgAaigCADYCACADIAQp\ +AlA3AxAgA0HcAGogARDbByADQSBqQQhqIANB8ABqKAIANgIAIAMgAykCaDcDICAEQdAAaiEEAkACQA\ +NAIAEQhhRFDQEgARDdCEH9AEYNAQJAIAEQ3QgQ9hINACADQcAAaiABENsHIANBCTYCXCAAIAEoAgQg\ +ASgCCCADQcAAaiADQdwAahCICwwDCyAGIAEQ3QgQpAsMAAsLAkACQAJAAkAgBCgCACIHIAEoAggiCE\ +YNACADQTBqQQhqIARBCGooAgA2AgAgAyAEKQIANwMwIAYoAgQhCSAGKAIIIQYgAyABEN0IIgc2Ajwg\ +B0H9AEcNASABEIYUGiAGRQ0CIANB3ABqIAkgBkEQEOYCAkAgAy0AXA0AIAMoAmAiBkGAsANzQYCAvH\ +9qQYCQvH9JDQAgBkGAgMQARw0ECyADQcAAakEIaiADQSBqQQhqKAIANgIAIANB1ABqIANBMGpBCGoo\ +AgA2AgAgAyADKQMgNwNAIAMgAykDMDcCTCADQQg2AlwgACABKAIEIAggA0HAAGogA0HcAGoQiAsMBA\ +sgA0HUAGogBEEIaigCADYCACADQcAAakEIaiADQRBqQQhqKAIANgIAIAMgAykDEDcDQCADIAQpAgA3\ +AkwgA0EKNgJcIAAgASgCBCAHIANBwABqIANB3ABqEIgLDAMLIANBADYCXCADQTxqQYD3yAAgA0HcAG\ +pBhPfIABD2EQALIANB1ABqIARBCGooAgA2AgAgA0HAAGpBCGogA0EQakEIaigCADYCACADIAMpAxA3\ +A0AgAyAEKQIANwJMIANBBzYCXCAAIAEoAgQgCCADQcAAaiADQdwAahCICwwBCyADQfgAakEIaiIBIA\ +NBIGpBCGooAgA2AgAgA0GMAWogBEEIaigCADYCACAAIAY2AgQgACADKQMgIgo3AgggACACOgAhIABB\ +BToAICADIAQpAgA3AoQBIABBEGogASkDADcCACAAQRhqIANB+ABqQRBqKQMANwIAIAMgCjcDeCAAQS\ +I2AgALIAUgBSgCAEEBajYCACADQZABaiQAC5AHAgV/AX4jAEHgAGsiAiQAIAAoAgAhAyABKAIUQY62\ +ygBBASABKAIYKAIMEQkAIQAgAkEBOgAHIAJBADsABSACIAA6AAQgAiABNgIAIAMoAgAiASkDACEHIA\ +MoAgQhBCACIAMoAgwiAzYCICACIAE2AhggAiABIARqQQFqNgIUIAIgAUEIajYCECACIAdCf4VCgIGC\ +hIiQoMCAf4M3AwggAkEHaiEFQQEhBAN/AkACQAJAAkACQAJAAkACQCADRQ0AIAJBCGoQ1AohASACIA\ +IoAiBBf2oiAzYCICABRQ0AIAIgAUF0aiIBNgIoIAIgAUEIajYCLCAAQf8BcSEBQQEhACABDQcgAi0A\ +Bg0BAkAgAigCACIBKAIcIgZBBHENACAEQQFxDQQgASgCFEGbksoAQQIgASgCGCgCDBEJAEUNBAwICw\ +JAIARBAXFFDQBBASEAIAEoAhRB5NXKAEEBIAEoAhgoAgwRCQANCCABKAIcIQYLIAJBAToAByACIAU2\ +AjggAiABKQIUNwIwIAIgBjYCWCACQcTVwAA2AlQgAiABLQAgOgBcIAIgASgCEDYCTCACIAEpAgg3Ak\ +QgAiABKQIANwI8IAIgAkEwajYCUCACQShqIAJBPGoQwRUNBSACQTBqQdTSygBBAhDPAg0FDAQLQQEh\ +AQJAIABB/wFxDQAgAi0ABg0CIAIoAgAiACgCFEGPtsoAQQEgACgCGCgCDBEJACEBCyACQeAAaiQAIA\ +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\ +kAIQEMBwsgASgCFEG0kMoAQQMgASgCGCgCDBEJACEBDAYLIAEoAhRBt5DKAEEEIAEoAhgoAgwRCQAh\ +AQwFCyABKAIUQbuQygBBDCABKAIYKAIMEQkAIQEMBAsgASgCFEHHkMoAQQ8gASgCGCgCDBEJACEBDA\ +MLIAEoAhRB1pDKAEENIAEoAhgoAgwRCQAhAQwCCyABKAIUQeOQygBBDiABKAIYKAIMEQkAIQEMAQsg\ +ASgCFCAAKAIEIAAoAgggASgCGCgCDBEJACEBCyACQTBqJAAgAQukBgIDfwF+IwBB8AFrIgMkACADQT\ +RqIQQCQAJAIAINAEEAIQUMAQsgAS0AAEEvRiEFCyADIAU6AFIgA0EGOgA8IAMgAjYCOCADIAE2AjQg\ +A0GABDsBUCADQQs6ABggA0G0AWogBBD7ASADQRhqQRhqIgIgA0G0AWpBGGooAgA2AgAgA0EYakEQai\ +ADQbQBakEQaikCADcDACADQRhqQQhqIANBtAFqQQhqKQIANwMAIAMgAykCtAEiBjcDGAJAAkAgBqci\ +AUF6akH/AXFBBU8NACADQQA2AlwgA0KAgICAEDcCVAwBCyADQeAAakEJaiADQRhqQQlqKQAANwAAIA\ +NB4ABqQRFqIANBGGpBEWopAAA3AAAgA0HgAGpBGGogAigAADYAACADIAE6AGAgAyADKQAZNwBhIANB\ +tAFqIANBGGoQ5wsgA0EQaiADQeAAahCCCyADQdQAaiADKAIQIAMoAhQQnA0LAkADQCADQfwAaiADQR\ +hqEOcLIAMtAHxBCkYNASADQZgBakEYaiADQfwAakEYaigCADYCACADQZgBakEQaiADQfwAakEQaikC\ +ADcDACADQZgBakEIaiADQfwAakEIaikCADcDACADIAMpAnwiBjcDmAECQAJAAkACQCAGpyICQXtqQQ\ +AgAkF6akH/AXFBBEkbQf8BcQ4FAAEEAgMAC0HSrcoAQShBzJXDABDtDwALIAMgA0GYAWoQggsgA0HU\ +AGogAygCACADKAIEEMAHDAILIAMoAlghAgJAAkAgAygCXCIBDQBBACEEDAELIAItAABBL0YhBAsgAy\ +AEOgDSASADQQY6ALwBIAMgATYCuAEgAyACNgK0ASADQYAEOwHQASADQdQBaiADQbQBahDqASADLQDU\ +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\ +BqEPUVIANCooCAgKABNwIoIAMgAygCFDYCMCADKAKMAUGCgICAeEgNACADQYwBahCXGAsCQAJAAkAg\ +BigCCCICDQAgA0GBgICAeDYCjAEMAQsgBiACQX9qIgI2AgggA0GMAWogBigCBCACQfAAbGpB8AAQkx\ +oaAkACQCADKAKMAUGAgICAeGoOAgECAAsgA0H8AWogA0GwAWoiBkHIABCTGhogA0EVNgLEAiAAIAEo\ +AgQgASgCCCADQawCaiADQcQCahCICyAGEJIQIANBLGoQngIMAgtB0q3KAEEoQaTuyAAQ7Q8ACyAAIA\ +NBKGpBwAAQkxoaCyAFIAUoAgBBAWo2AgACQAJAIAMoAowBQYCAgIB4ag4CAQIACyADQYwBahCXGAwB\ +CyADQYwBahCFFAsgA0HgAmokAAuFBQEPfyMAQTBrIgUkACAFIAEoAggiBjYCFAJAAkACQCAGQcAARw\ +0AIAEoAhAiByAEaiIGIANLDQECQCAGIARJDQAgBCADIAQgA0sbIQggASACIARqIAcQugohCSABKAIU\ +IQogASgCBCELIAEoAgwiDEEQaiENAkADQCALIAlBP3FBDGxqIgEoAgQiDiABKAIIQQN0aiEPA0ACQA\ +JAAkACQCAOIgEgD0cNACAEIAdqIgEgA08NASAEIAhGDQIgCSAKIAIgBGotAABsa0EBdCACIAFqLQAA\ +aiEJIARBAWohBAwFCyABQQhqIQ4gASgCACAJRw0DIAVBCGogDEEMaigCACANKAIAIAEoAgQiEBCKFy\ +AFKAIIIQYgBSgCDCERIAUgBCACIANB3KnAABCUEyARIAUoAgRLDQMgBSgCACEBIBFBBEkNAiAGIBFB\ +fGoiEmohEyABIBJqIRICQANAIAEgEk8NASABKAAAIAYoAABHDQUgBkEEaiEGIAFBBGohAQwACwsgEi\ +gAACATKAAARw0DDAULIABBADYCAAwICyAIIANBuKnAABDICwALAkACQAJAIBEOBAUCAQAFCyABLwAA\ +IAFBAmotAABBEHRyIAYvAAAgBkECai0AAEEQdHJHDQJBAyERDAQLIAEvAAAgBi8AAEcNAUECIREMAw\ +sgAS0AACAGLQAARw0ACwtBASERCyAFQRxqIBAgBCARIARqEOQMIABBATYCACAAQQxqIAVBGGpBDGoo\ +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\ +ggBCACNgIUIAAoAgAiAikDACEIIAAoAgwhAyAEIAI2AkAgBCADNgI8IARBADYCOCAEIAhCf4VCgIGC\ +hIiQoMCAf4M3AzAgB6chAiAEQSBqIQUgBCgCJCEGA0ACQAJAIANFDQADQCAEIARBMGoQtw8gBCgCAE\ +EBRg0CIAQgBCgCQCIDQQhqNgJAIAQgBCgCOEEIajYCOCAEIAMpAwhCf4VCgIGChIiQoMCAf4M3AzAM\ +AAsLIAQgACgCDCIDNgIsIAQgBCgCKCADazYCKCAAIAUQ8g8gBEEUahCNDgwDCyAEKAIEIQEgBCAEKA\ +I8QX9qIgM2AjwgAiACIAYgBEEQaiAAIAEgBCgCOGoiARC9DxCSFkECdGtBfGogACgCACABQQJ0a0F8\ +aigAADYAAAwACwsgACAEQRBqQfgAEMcDC0GBgICAeCEDCyAEQdAAaiQAIAMPCxCMEgAL+wQAAkACQA\ +JAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASACQcDywgBBDxDxFA0AIAEg\ +AkHP8sIAQQkQ8RQNASABIAJB5JnHAEEHEPEUDQIgASACQeuZxwBBBhDxFA0DIAEgAkGt98IAQQQQ8R\ +QNBCABIAJBsffCAEEDEPEUDQUgASACQejhwgBBBRDxFA0GIAEgAkG098IAQQQQ8RQNByABIAJBuPfC\ +AEEFEPEUDQggASACQdjywgBBBBDxFA0JIAEgAkGk9cIAQQcQ8RQNCiABIAJB3PLCAEEOEPEUDQsgAS\ +ACQePrwgBBBhDxFA0MIAEgAkG998IAQQcQ8RQNDSABIAJBxPfCAEEHEPEUDQ4gASACQYGryQBBBBDx\ +FA0PIAEgAkGzkMMAQQcQ8RQNECABIAJB/YrDAEEJEPEUDREgASACQbbYwgBBBRDxFA0SIAEgAkH5kM\ +MAQQoQ8RQNEyABIAJBwZDDAEEHEPEUDRQCQCABIAJB6vLCAEEIEPEUDQAgAEEWOgABDBYLIABBFToA\ +AQwVCyAAQQA6AAEMFAsgAEEBOgABDBMLIABBAjoAAQwSCyAAQQM6AAEMEQsgAEEEOgABDBALIABBBT\ +oAAQwPCyAAQQY6AAEMDgsgAEEHOgABDA0LIABBCDoAAQwMCyAAQQk6AAEMCwsgAEEKOgABDAoLIABB\ +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\ +IAQgAUEBaiICIAQgAksbEIcHIAMoAjQhAiADKAIwIgFFDQIgA0EUakEUaiADQTBqQRRqKQIANwIAIA\ +MgAykCPCIHNwIgIAMgAygCODYCHCADIAI2AhggAyABNgIUIAAoAgAiASkDACEIIAAoAgwhAiADIAE2\ +AkAgAyACNgI8IANBADYCOCADIAhCf4VCgIGChIiQoMCAf4M3AzAgB6chASADQSBqIQUgAygCJCEGA0\ +ACQAJAIAJFDQADQCADIANBMGoQtw8gAygCAEEBRg0CIAMgAygCQCICQQhqNgJAIAMgAygCOEEIajYC\ +OCADIAIpAwhCf4VCgIGChIiQoMCAf4M3AzAMAAsLIAMgACgCDCICNgIsIAMgAygCKCACazYCKCAAIA\ +UQ8g8gA0EUahCIFQwDCyADKAIEIQQgAyADKAI8QX9qIgI2AjwgASABIAYgA0EQaiAAIAQgAygCOGoi\ +BBDLDxCSFkECdGtBfGogACgCACAEQQJ0a0F8aigAADYAAAwACwsgACADQRBqQagBEJYDC0GBgICAeC\ +ECCyADQdAAaiQAIAIPCxCMEgALswQCD38BfiMAQcAAayIDJAACQAJAAkACQAJAAkACQAJAAkACQCAC\ +KAIAQX9qQQJJDQAgAUGYA2ohBCAAQYgFaiEFIAAoAqQNIQYgACgCoA0hByAAKQMAIRIgAi0AGCEIIA\ +IoAgwhCSACKAIIIQogAigCFCELQQAhDCAALQCcDUH/AXEhDSACKAIQIg4hDwNAIANBIGogByAGIAog\ +CSAPIAsQmxEgAygCIEUNCSADKAIkIRAgAygCKCERIAMgCDoAOCADIAs2AjQgAyAONgIwIAMgCTYCLC\ +ADIAo2AiggA0EBNgIgIANBBGogA0EgaiAOIBEQogYgDQ0EAkACQCASQgJRDQAgASgCyARBAkYNByAD\ +QSBqIAUgBCADQQRqIAwQ2QEgAygCIEF/ag4CBQQBCyADQQE2AiQgA0HM/8cANgIgIANCADcCLCADIA\ +NBPGo2AiggA0EgakHU/8cAEKYOAAsgDyALTw0JIBBBf0YNBiAQQQFqIQ8gESEMDAALCyAALQCcDQ0F\ +IAApAwBCAlENACABKALIBEECRg0GIANBIGogACABQdgBaiACEKsGIANBBGogA0EgahCMECADKAIEIg\ +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\ +IgAygCECEBCyADQQhqIAAQmRACQCADKAIIIAMoAgwQugxB/wFxQQJHDQAgA0HUAGogASACEKIDIAMt\ +AFUhAgJAIAMtAFQiAUEDRg0AIANBNGpBEmogA0HUAGpBEmovAQA7AQBBCiEEIANBNGpBCmogA0HUAG\ +pBCmopAQA3AQAgAyADKQFWNwE2IAMgAjoANSADIAE6ADQgACADQTRqEKMEDAILIAIhBAwBCyADQdQA\ +aiABIAIQMiADLQBVIQICQCADLQBUIgFBA0YNACADQSBqQRJqIANB1ABqQRJqLwEAOwEAQQohBCADQS\ +BqQQpqIANB1ABqQQpqKQEANwEAIAMgAykBVjcBIiADIAI6ACEgAyABOgAgIAAgA0EgahCjBAwBCyAC\ +IQQLIANB8ABqJAAgBAuMBAEDfyMAQbABayIDJAAgA0EANgJ4IAMgATYCcCADIAEgAmo2AnQCQANAIA\ +NBGGogA0HwAGoQogsCQCADKAIcIgRBgIDEAEcNAEEBIQVBACEEDAILIARBUGpBCkkNAAsgA0EQaiAB\ +IAIgAygCGEGMl8MAENcNIAMoAhQhBCADKAIQIQULIANBCGogASACIAIgBGtBvJfDABCMDiADKAIIIQ\ +ECQAJAIAMoAgwiAkUNACADIAI2AiQgAyABNgIgIANBKGogASACENAEAkAgAy0AKA0AIAAgAykDMDcD\ +ECAAIAQ2AgwgACAFNgIIIABBADYCAAwCCyADIAMtACk6ADsgA0HsAGpBqwE2AgAgA0EHNgJkIAMgA0\ +E7ajYCaCADIANBIGo2AmAgA0GsAWpBAzoAACADQagBakEENgIAIANBoAFqQqCAgIAQNwIAIANBmAFq\ +QQI2AgAgA0ECNgJcIANBAjYCTCADQaCawwA2AkggA0ECNgKQASADQQM6AIwBIANBADYCiAEgA0IgNw\ +KAASADQQI2AnggA0ECNgJwIAMgA0HwAGo2AlggA0ECNgJUIAMgA0HgAGo2AlAgA0E8aiADQcgAahDo\ +DSAAIAUgBCADQTxqEKUWDAELIABBADYCFCAAIAE2AhAgACAENgIMIAAgBTYCCCAAQoGAgICAgICAgH\ +83AwALIANBsAFqJAAL8wMBAn8gACABaiECAkACQCAAKAIEIgNBAXENACADQQJxRQ0BIAAoAgAiAyAB\ +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\ +cCACAAIAE2AjggAEEAOwE0IAAgAzYCMCAAIAI2AiwgACADNgIoIABCADcCICAAQQA2AhggAEEQakEA\ +NgIAIABBCGpCADcCACAEQSBqJAAL+AEBB38jAEEQayICJAAgAkEIaiABQQF2IgMgACADQazhyAAQ6x\ +MgAigCDCEEIAIoAgghBSACIAMgACABQQN0aiADQQN0IgFrIANBvOHIABDrEyABIAIoAgBqQXhqIQFB\ +ACEAIAIoAgQhBgJAAkADQCADIABqIgdFDQEgBCAAakUNAgJAIAdBf2oiByAGTw0AIAVBBGooAgAhBy\ +AFLQAAIQggBSABKQIANwIAIAFBBGogBzYCACABIAg6AAAgBUEIaiEFIAFBeGohASAAQX9qIQAMAQsL\ +IAcgBkHc4cgAEMgLAAsgAkEQaiQADwsgBCAEQczhyAAQyAsAC4UCAQV/IwBBMGsiBCQAAkAgASgC8A\ +IiBUECRg0AQQAgASAFQQJGGyEGIARBADYCHCAEQQA2AgwgBEEANgIAIARBADoAICAEQQA2AhQgACgC\ ++AQhByACLQAYQf8BcSEIAkACQANAAkACQCAHLQDaAg0AQQEhBQwBCyAHLQDbAkUhBQsgACAGIAIgBB\ +BbIgENAQJAIAUgBCgCACIBRXINACACIAQgACAGENoHIgENAiAEKAIAIQELAkAgAUUNACAEQSRqIAMg\ +BCgCBBDsCyADKAIIIAMoAgRGDQAgCEUNAQsLQQAhAwwBCyABEIYLGkEBIQMLIARBMGokACADDwtB9I\ +TIABD7GAALkAIBA38jAEEQayIEJAACQCABKAIAIgVBlYCAgHhGDQACQAJAAkACQAJAAkAgBUGAgICA\ +eHMiBUEVIAVBFUkbQXRqDgQAAQIDBgsgASgCDCEFIAEoAgghBgwECyABKAIIIQUgASgCBCEGDAMLIA\ +RBBGogASgCCCABKAIMEKYCIAQoAgRFDQEMAwsgBEEEaiABKAIEIAEoAggQpgIgBCgCBA0CCyAEKAIM\ +IQUgBCgCCCEGCyAGIAUgAiADELUORQ0AIAAgASkDADcDACAAQRhqIAFBGGopAwA3AwAgAEEQaiABQR\ +BqKQMANwMAIABBCGogAUEIaikDADcDACABIQALIABBlYCAgHg2AgAgBEEQaiQAC4sCAQV/IwBBwABr\ +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\ +IAEgAiADENcCCyAEQSBqJAAPC0HSrcoAQShBlIXIABDtDwALQaSEyAAQ+xgAC5kBAQN/IwBBIGsiAy\ +QAAkACQCACKAIQIgQgAigCFCIFSw0AAkAgAigCAEF/akECSQ0AIANBFGogACACKAIIIAIoAgwgBCAF\ +EIkEIANBBGogA0EUahDxEgwCCyADQRRqIAAgAigCCCACKAIMIAQgBRCqCSADQQRqIANBFGoQ8RIMAQ\ +sgA0EANgIECyADKAIEIQIgA0EgaiQAIAILmQEBA38jAEEgayIDJAACQAJAIAIoAhAiBCACKAIUIgVL\ +DQACQCACKAIAQX9qQQJJDQAgA0EUaiAAIAIoAgggAigCDCAEIAUQ6AggA0EEaiADQRRqEPESDAILIA\ +NBFGogACACKAIIIAIoAgwgBCAFENsLIANBBGogA0EUahDxEgwBCyADQQA2AgQLIAMoAgQhAiADQSBq\ +JAAgAgugAQEDfyMAQRBrIgIkACAAKAIAIgMoAgQhACADKAIIIQMgASgCFEHEzNMAQQEgASgCGCgCDB\ +EJACEEIAJBADoACSACIAQ6AAggAiABNgIEIANBHGwhAQJAA0AgAUUNASACIAA2AgwgAkEEaiACQQxq\ +QYwCEIwFGiABQWRqIQEgAEEcaiEADAALCyACKAIEIAItAAgQ6BMhASACQRBqJAAgAQutAQECfwJAAk\ +ACQAJAAkAgASgCCA4CAQIACyAAQQRqIAFBJBCTGhogAEGHgMQANgIADwsgAEGAgMQANgIAIAAgASkC\ +DDcCBCAAQRRqIAFBHGopAgA3AgAgAEEMaiABQRRqKQIANwIADAELIAFBADYCCCABKAIEIgIoAgAiA0\ +GIgMQARg0BIAAgAzYCACAAQQRqIAJBBGpB1AAQkxoaCyABEJ4ODwtBzP7IABD7GAALowEBA38jAEEg\ +ayIDJAACQAJAIAAoAggiBCACTQ0AIANBGGogACgCBCIFIAQgAkGk0tMAEOcQIANBEGogAygCGCADKA\ +IcEOkQIAMoAhBFDQEgAiADKAIUakEBaiECAkAgAUH/AXENACADQQhqIAUgBCACQcTS0wAQ5xAgAygC\ +CCADKAIMEMQRDQELIAAgAhChDwsgA0EgaiQADwtBtNLTABD7GAALogEBAX8jAEEgayICJAAgAkEMai\ +ABKAIAIgEQmAoCQAJAAkAgAi0ADA0AAkAgAi0ADQ0AIAJBAzYCFCABIAJBFGoQ4AshAQwCCwJAIAIt\ +AA5BOkYNACACQQY2AhQgASACQRRqEOALIQEMAgsgASABKAIUQQFqNgIUIAAgARBjDAILIAIoAhAhAQ\ +sgAEGFgICAeDYCECAAIAE2AgALIAJBIGokAAujAQACQAJAAkACQCACQXxqDgMAAgECCyABLQAAQfAA\ +Rw0BIAEtAAFB4QBHDQEgAS0AAkH0AEcNAUEAIQIgAS0AA0HoAEcNAQwCCyABLQAAQeYARw0AIAEtAA\ +FB8gBHDQAgAS0AAkHvAEcNACABLQADQfoARw0AIAEtAARB5QBHDQBBASECIAEtAAVB7gBGDQELQQIh\ +AgsgAEEAOgAAIAAgAjoAAQupAQEBfyMAQcAAayICJAAgAkEANgIUIAJCgICAgBA3AgwgAkEDOgA4IA\ +JBIDYCKCACQQA2AjQgAkGIlscANgIwIAJBADYCICACQQA2AhggAiACQQxqNgIsAkAgAUEQaiACQRhq\ +EKwYDQAgACACKQIMNwIAIABBCGogAkEMakEIaigCADYCACACQcAAaiQADwtBrMTTAEE3IAJBP2pBoJ\ +bHAEGwxdMAEKkKAAvFAQACQAJAAkACQAJAAkAgACgCACgCEEGAgICAeHMiAEEFIABBBUkbDgYAAQID\ +BAUACyABKAIUQay0ygBBBCABKAIYKAIMEQkADwsgASgCFEH0ucoAQQcgASgCGCgCDBEJAA8LIAEoAh\ +RB+7nKAEEGIAEoAhgoAgwRCQAPCyABKAIUQYG6ygBBBiABKAIYKAIMEQkADwsgASgCFEGHusoAQQUg\ +ASgCGCgCDBEJAA8LIAEoAhRBjLrKAEEGIAEoAhgoAgwRCQALjAEAAkAgACABIAMQ2hQiASgCCCIDIA\ +JJDQACQCADIAEoAgBHDQAgARDGBgsgASgCBCACQQN0aiEAAkAgAyACTQ0AIABBCGogACADIAJrQQN0\ +EJEaGgsgASADQQFqNgIIIAAgBa1C/wGDQiiGIAStQv8Bg0IghoQgBq2ENwIADwsgAiADQYjpyAAQ0Q\ +sAC58BAQV/IwBBEGsiASQAQYCAxAAhAgJAIAAoAgAoAlAiAyAAKAIIIgRGDQAgACgCBCEFQQEhAgJA\ +IAAQ3QgiAEGAAUkNAEECIQIgAEGAEEkNAEEDQQQgAEGAgARJGyECCyABIAUgBCACIANqQdjsyAAQ1w\ +0gASABKAIAIgA2AgggASAAIAEoAgRqNgIMIAFBCGoQxxEhAgsgAUEQaiQAIAILoAEBAX8jAEEwayIC\ +JAACQAJAIAAoAgAiACgCDA0AIAAgARD6AiEADAELIAJBLGpBBDYCACACQRhqQQxqQQQ2AgAgAkEDNg\ +IEIAJBmLPKADYCACACQgM3AgwgAiAAQQxqNgIgIAJBygI2AhwgAiAANgIYIAIgAEEQajYCKCACIAJB\ +GGo2AgggASgCFCABKAIYIAIQhBchAAsgAkEwaiQAIAALjwEBA38CQCADQQhJDQAgACAAIANBA3YiA0\ +EIdCIEaiAAIANBwANsIgVqIAMQgwkhACABIAEgBGogASAFaiADEIMJIQEgAiACIARqIAIgBWogAxCD\ +CSECCwJAIAAoAgAiAyABKAIAIgQQ/hEiBSADIAIoAgAiBhD+EUcNACACIAEgBSAEIAYQ/hFzGyEACy\ +AAC68BAQV/IwBBIGsiAiQAIAIgATYCDCACQRBqIAEQkBMCQAJAIAIoAhAiA0GAgICAeEYNAEGVgICA\ +eCEEAkAgAigCFCIFIAIoAhgiBkGBq8kAQQQQ8RQNACAAQQRqIAUgBhDCDEGMgICAeCEECyAAIAQ2Ag\ +AgAyAFEOcWDAELIAJBDGogAkEfakHogMAAELwDIQQgAEGWgICAeDYCACAAIAQ2AgQLIAEQ8BcgAkEg\ +aiQAC5ABAQV/IwBBgAFrIgIkAEH/ACEDA0AgAiADIgRqIgUgAKdBD3EiA0EwciADQTdqIANBCkkbOg\ +AAIARBf2ohAyAAQhBUIQYgAEIEiCEAIAZFDQALAkAgBEGBAUkNACAEQYABQcjXwAAQxwsACyABQQFB\ +8MzTAEECIAVBgQEgBEEBamsQwwIhAyACQYABaiQAIAMLkQEBBX8jAEGAAWsiAiQAQf8AIQMDQCACIA\ +MiBGoiBSAAp0EPcSIDQTByIANB1wBqIANBCkkbOgAAIARBf2ohAyAAQhBUIQYgAEIEiCEAIAZFDQAL\ +AkAgBEGBAUkNACAEQYABQcjXwAAQxwsACyABQQFB8MzTAEECIAVBgQEgBEEBamsQwwIhAyACQYABai\ +QAIAMLmwEBA38jAEEQayICJAAgACgCBCEDIAAoAgghACABKAIUQcTM0wBBASABKAIYKAIMEQkAIQQg\ +AkEAOgAJIAIgBDoACCACIAE2AgQgAEEMbCEBAkADQCABRQ0BIAIgAzYCDCACQQRqIAJBDGpBygAQjA\ +UaIAFBdGohASADQQxqIQMMAAsLIAIoAgQgAi0ACBDoEyEBIAJBEGokACABC5sBAQN/IwBBEGsiAiQA\ +IAAoAgQhAyAAKAIIIQAgASgCFEHEzNMAQQEgASgCGCgCDBEJACEEIAJBADoACSACIAQ6AAggAiABNg\ +IEIABBDGwhAQJAA0AgAUUNASACIAM2AgwgAkEEaiACQQxqQcsAEIwFGiABQXRqIQEgA0EMaiEDDAAL\ +CyACKAIEIAItAAgQ6BMhASACQRBqJAAgAQuaAQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCEAIAEoAh\ +RBxMzTAEEBIAEoAhgoAgwRCQAhBCACQQA6AAkgAiAEOgAIIAIgATYCBCAAQQJ0IQECQANAIAFFDQEg\ +AiADNgIMIAJBBGogAkEMakE7EIwFGiABQXxqIQEgA0EEaiEDDAALCyACKAIEIAItAAgQ6BMhASACQR\ +BqJAAgAQubAQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCEAIAEoAhRBxMzTAEEBIAEoAhgoAgwRCQAh\ +BCACQQA6AAkgAiAEOgAIIAIgATYCBCAAQQJ0IQECQANAIAFFDQEgAiADNgIMIAJBBGogAkEMakHRAB\ +CMBRogAUF8aiEBIANBBGohAwwACwsgAigCBCACLQAIEOgTIQEgAkEQaiQAIAELpAEBBn8jAEEQayIB\ +JAAgAUEIaiAAQaQDaiICIAAoAvwFIgNBACAAEPcOIAAoArgDIQQgACgCtAMhBSABKAIMIQAgASgCCC\ +EGAkADQCAGQQFHDQECQCAFIAQgAEGspMAAEL4UKAABQQFHDQAgBSAEIABBvKTAABC+FCADNgABCyAB\ +IAIgA0EBIAAQ9w4gASgCBCEAIAEoAgAhBgwACwsgAUEQaiQAC5oBAQN/IwBBgCBrIgMkAAJAAkACQC\ +ABQQF2IgQgAUGOyA0gAUGOyA1JGyIFIAQgBUsbIgRB8gBJDQAgAyAEEM8IIAMoAgQhBCADKAIADQIg\ +ACABIAMoAggiBSAEIAFBwQBJIAIQnAEgBCAFEJsWDAELIAAgASADQfEAIAFBwQBJIAIQnAELIANBgC\ +BqJAAPCyAEIAMoAggQrhgAC5gBAQJ/IwBBIGsiAiQAAkACQCABKAIIIgMNACACQQhqIAEQjAwgAigC\ +DCEDIAIoAgghAQwBCyABQQA2AgggA0EBaiEDAkADQCADQX9qIgNFDQEgAkEYaiABEIwMIAIoAhgNAA\ +tBACEBDAELIAJBEGogARCMDCACKAIUIQMgAigCECEBCyAAIAE2AgAgACADNgIEIAJBIGokAAuqAQED\ +fyMAQSBrIgQkACAEQQxqIAIgAxCzCSAEKAIYIQMgBCgCFCECIAQoAhAhBQJAAkAgBCgCDCIGQYGAgI\ +B4Rw0AAkAgAyABRg0AIABBgICAgHg2AgAMAgsgACABNgIMIAAgAjYCCCAAIAU2AgQgAEGBgICAeDYC\ +AAwBCyAAIAQoAhw2AhAgACADNgIMIAAgAjYCCCAAIAU2AgQgACAGNgIACyAEQSBqJAALkAEBBX9BAC\ +EBQaYLIQJBpgshAwNAAkAgASACSQ0AQQkPCyADQQF2IAFqIgNBDGwiBEGc4coAaigCACEFAkACQCAE\ +QaDhygBqKAIAIgQgAEkNACAFIABNDQELIAMgAiAEIABPIgQbIAIgBSAASxsiAiABIANBAWogBBsiAW\ +shAwwBCwsgA0EMbEGk4coAai0AAAuUAQEDfyMAQSBrIgIkACACQRBqQQhqIAFBCGooAgA2AgAgAiAB\ +KQIANwMQAkADQCACQQhqIAJBEGoQ6QUgAigCCCIDRQ0BAkAgACgCACAAKAIIIgFrIAIoAgwiBE8NAC\ +AAIAEgBBC7ECAAKAIIIQELIAAoAgQgAWogAyAEEJMaGiAAIAEgBGo2AggMAAsLIAJBIGokAAubAQED\ +fyMAQRBrIgIkACAAKAIEIQMgACgCCCEAIAEoAhRBxMzTAEEBIAEoAhgoAgwRCQAhBCACQQA6AAkgAi\ +AEOgAIIAIgATYCBCAAQQN0IQECQANAIAFFDQEgAiADNgIMIAJBBGogAkEMakHhARCMBRogAUF4aiEB\ +IANBCGohAwwACwsgAigCBCACLQAIEOgTIQEgAkEQaiQAIAELmwEBA38jAEEQayICJAAgACgCBCEDIA\ +AoAgghACABKAIUQcTM0wBBASABKAIYKAIMEQkAIQQgAkEAOgAJIAIgBDoACCACIAE2AgQgAEEFdCEB\ +AkADQCABRQ0BIAIgAzYCDCACQQRqIAJBDGpB4gEQjAUaIAFBYGohASADQSBqIQMMAAsLIAIoAgQgAi\ +0ACBDoEyEBIAJBEGokACABC5sBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIQAgASgCFEHEzNMAQQEg\ +ASgCGCgCDBEJACEEIAJBADoACSACIAQ6AAggAiABNgIEIABBDGwhAQJAA0AgAUUNASACIAM2AgwgAk\ +EEaiACQQxqQeMBEIwFGiABQXRqIQEgA0EMaiEDDAALCyACKAIEIAItAAgQ6BMhASACQRBqJAAgAQub\ +AQEDfyMAQRBrIgIkACAAKAIEIQMgACgCCCEAIAEoAhRBxMzTAEEBIAEoAhgoAgwRCQAhBCACQQA6AA\ +kgAiAEOgAIIAIgATYCBCAAQQJ0IQECQANAIAFFDQEgAiADNgIMIAJBBGogAkEMakGCAhCMBRogAUF8\ +aiEBIANBBGohAwwACwsgAigCBCACLQAIEOgTIQEgAkEQaiQAIAELlAEBA38jAEEgayIEJAACQCACKA\ +IQIgUgAigCFCIGSw0AAkACQCACKAIAQX9qQQJJDQAgBEEUaiAAIAIoAgggAigCDCAFIAYQiQQgBEEE\ +aiAEQRRqEPESDAELIARBFGogACACKAIIIAIoAgwgBSAGEKoJIARBBGogBEEUahDxEgsgBCgCBEUNAC\ +ADEOcOCyAEQSBqJAALlAEBA38jAEEgayIEJAACQCACKAIQIgUgAigCFCIGSw0AAkACQCACKAIAQX9q\ +QQJJDQAgBEEUaiAAIAIoAgggAigCDCAFIAYQ6AggBEEEaiAEQRRqEPESDAELIARBFGogACACKAIIIA\ +IoAgwgBSAGENsLIARBBGogBEEUahDxEgsgBCgCBEUNACADEOcOCyAEQSBqJAALmwEBA38jAEEQayIC\ +JAAgACgCBCEDIAAoAgghACABKAIUQcTM0wBBASABKAIYKAIMEQkAIQQgAkEAOgAJIAIgBDoACCACIA\ +E2AgQgAEEBdCEBAkADQCABRQ0BIAIgAzYCDCACQQRqIAJBDGpBsgIQjAUaIAFBfmohASADQQJqIQMM\ +AAsLIAIoAgQgAi0ACBDoEyEBIAJBEGokACABC5sBAQN/IwBBEGsiAiQAIAAoAgQhAyAAKAIIIQAgAS\ +gCFEHEzNMAQQEgASgCGCgCDBEJACEEIAJBADoACSACIAQ6AAggAiABNgIEIABBA3QhAQJAA0AgAUUN\ +ASACIAM2AgwgAkEEaiACQQxqQbcCEIwFGiABQXhqIQEgA0EIaiEDDAALCyACKAIEIAItAAgQ6BMhAS\ +ACQRBqJAAgAQucAQEDfyMAQYAgayIDJAACQAJAAkAgAUEBdiIEIAFBgJL0ASABQYCS9AFJGyIFIAQg\ +BUsbIgRBgRBJDQAgAyAEEM0JIAMoAgQhBCADKAIADQIgACABIAMoAggiBSAEIAFBwQBJIAIQngEgBC\ +AFEK8WDAELIAAgASADQYAQIAFBwQBJIAIQngELIANBgCBqJAAPCyAEIAMoAggQrhgAC5oBAQN/IwBB\ +gCBrIgMkAAJAAkACQCABQQF2IgQgAUHAhD0gAUHAhD1JGyIFIAQgBUsbIgRBgQRJDQAgAyAEEN0JIA\ +MoAgQhBCADKAIADQIgACABIAMoAggiBSAEIAFBwQBJIAIQoQEgBCAFEJYWDAELIAAgASADQYAEIAFB\ +wQBJIAIQoQELIANBgCBqJAAPCyAEIAMoAggQrhgAC6gBAQF/IwBBwABrIgMkACADQQA2AhQgA0KAgI\ +CAEDcCDCADQQM6ADggA0EgNgIoIANBADYCNCADQdTfyAA2AjAgA0EANgIgIANBADYCGCADIANBDGo2\ +AiwCQCADQRhqIAEgAhCRAg0AIAAgAykCDDcCACAAQQhqIANBDGpBCGooAgA2AgAgA0HAAGokAA8LQa\ +zE0wBBNyADQT9qQezfyABBsMXTABCpCgALnQEBA38jAEEQayICJAAgACgCBCEDIAAoAgAhACABKAIU\ +QcTM0wBBASABKAIYKAIMEQkAIQQgAkEAOgAJIAIgBDoACCACIAE2AgQCQCADRQ0AA0AgAiAANgIMIA\ +BBAWohACACQQRqIAJBDGpBxAIQjAUhASADQX9qIgMNAAsgASgCACEBIAItAAghBAsgASAEEOgTIQAg\ +AkEQaiQAIAALlgEBAX8jAEEQayICJAACQAJAIAEoAgAiARAkRQ0AIAJBBGogARDRCiAAQQhqIAJBBG\ +pBCGooAgA2AgAgACACKQIENwIADAELAkAgARAlRQ0AIAJBBGogARAhIgEQ0QogAEEIaiACQQRqQQhq\ +KAIANgIAIAAgAikCBDcCACABEPAXDAELIABBgICAgHg2AgALIAJBEGokAAuYAQEEfyMAQRBrIgIkAA\ +JAAkAgAS0ABEUNAEECIQMMAQsgASgCABAVIQMgAkEIahDFEyACKAIMIAMgAigCCCIEGyEFAkAgBA0A\ +AkACQCAFEBYNAEEAIQMgBRAXIQEMAQsgAUEBOgAEQQIhAwsgBRDwFwwBC0EBIQMgAUEBOgAEIAUhAQ\ +sgACABNgIEIAAgAzYCACACQRBqJAALkQEBA38jAEHAAGsiAiQAAkAgASgCACABQUBqIgMoAgAQ/hFF\ +DQAgASgCACEEIAJBBGogAUEEakE8EJMaGgJAA0AgA0HAAGogA0HAABCTGhogAyAARg0BIAQgA0FAai\ +IDKAIAEP4RDQALIANBwABqIQALIAAgBDYCACAAQQRqIAJBBGpBPBCTGhoLIAJBwABqJAALpgEBAX8j\ +AEHAAGsiAiQAIAJBADYCFCACQoCAgIAQNwIMIAJBAzoAOCACQSA2AiggAkEANgI0IAJB4IDDADYCMC\ +ACQQA2AiAgAkEANgIYIAIgAkEMajYCLAJAIAEgAkEYahCyGA0AIAAgAikCDDcCACAAQQhqIAJBDGpB\ +CGooAgA2AgAgAkHAAGokAA8LQazE0wBBNyACQT9qQfiAwwBBsMXTABCpCgALrQEBAn8jAEEQayICJA\ +ACQAJAAkACQAJAAkAgASgCAEGAgICAeHMiA0EVIANBFUkbQXRqDgQBAgMEAAsgASACQQ9qQbjSwgAQ\ +xxMhASAAQYCAgIB4NgIAIAAgATYCBAwECyAAIAEoAgggASgCDBCcDQwDCyAAIAEoAgQgASgCCBCcDQ\ +wCCyAAIAEoAgggASgCDBDwCAwBCyAAIAEoAgQgASgCCBDwCAsgAkEQaiQAC58BAQN/IAAtAAghAQJA\ +IAAoAgAiAg0AIAFB/wFxQQBHDwtBASEDAkACQCABQf8BcQ0AIAAoAgQhASACQQFHDQEgAC0ACUH/AX\ +FFDQEgAS0AHEEEcQ0BQQEhAyABKAIUQY22ygBBASABKAIYKAIMEQkARQ0BCyAAIAM6AAggAw8LIAAg\ +ASgCFEHK2tMAQQEgASgCGCgCDBEJACIBOgAIIAELhwEBA38CQCADQfj///8BcUUNACAAIAAgA0EDdi\ +IDQQR0IgRqIAAgA0EcbCIFaiADEKMJIQAgASABIARqIAEgBWogAxCjCSEBIAIgAiAEaiACIAVqIAMQ\ +owkhAgsgACACIAEgACgCACIDIAEoAgAiBEkiBSAEIAIoAgAiBklzGyAFIAMgBklzGwumAQEBfyMAQc\ +AAayICJAAgAkEANgIUIAJCgICAgBA3AgwgAkEDOgA4IAJBIDYCKCACQQA2AjQgAkGk1MIANgIwIAJB\ +ADYCICACQQA2AhggAiACQQxqNgIsAkAgASACQRhqEP4WDQAgACACKQIMNwIAIABBCGogAkEMakEIai\ +gCADYCACACQcAAaiQADwtBrMTTAEE3IAJBP2pBvNTCAEGwxdMAEKkKAAufAQECfyMAQRBrIgIkAAJA\ +AkACQAJAIAAoAgAiACgCAEF+aiIDQQEgA0EDSRsOAwABAgALIAIgAEEEajYCBCABQaD4wgBBCCACQQ\ +RqQYYBEJQHIQAMAgsgAiAANgIIIAFB693CAEESIAJBCGpBHBCUByEADAELIAIgAEEEajYCDCABQaj4\ +wgBBCSACQQxqQYcBEJQHIQALIAJBEGokACAAC7UBAQJ/IwBBwABrIgIkACACIAFB6AVqEKYVAkACQC\ +ACKAIQQYWAgIB4Rw0AIABBgICAgHg2AgAMAQsCQCACKAIQQYCAgIB4Rw0AIABBgICAgHg2AgAgAhD7\ +EAwBCyACQTRqIAIQ0AIgAigCOCEBAkAgAigCNCIDQYCAgIB4Rg0AIAAgAigCPDYCCCAAIAE2AgQgAC\ +ADNgIADAELIABBgYCAgHg2AgAgACABNgIECyACQcAAaiQAC4cBAQN/AkAgA0H4////AXFFDQAgACAA\ +IANBA3YiA0EFdCIEaiAAIANBOGwiBWogAxCnCSEAIAEgASAEaiABIAVqIAMQpwkhASACIAIgBGogAi\ +AFaiADEKcJIQILIAAgAiABIAAtAAAiAyABLQAAIgRJIgUgBCACLQAAIgZJcxsgBSADIAZJcxsLhwEB\ +A38CQCADQfj///8BcUUNACAAIAAgA0EDdiIDQQV0IgRqIAAgA0E4bCIFaiADEKgJIQAgASABIARqIA\ +EgBWogAxCoCSEBIAIgAiAEaiACIAVqIAMQqAkhAgsgACACIAEgACgCACIDIAEoAgAiBEkiBSAEIAIo\ +AgAiBklzGyAFIAMgBklzGwuQAQEEfwJAIAAoAgAgACgCCCICayABTw0AIAAgAiABEKAQIAAoAgghAg\ +sgACgCBCACQQJ0aiEDIAFBASABQQFLGyIEQX9qIQUCQAJAA0ACQCAFDQAgAiAEaiEFIAENAiAFQX9q\ +IQUMAwsgA0EANgIAIAVBf2ohBSADQQRqIQMMAAsLIANBADYCAAsgACAFNgIIC5kBAQF/IwBBwABrIg\ +YkACAGQQE7ASwgBiADNgIoIAYgAjYCJCAGIAM2AiBBACEDIAZBADYCHCAGQQhqIAZBHGogBCAFEJoH\ +IAZBHGogAUEwaiAGQQhqEMUZIAZBMGogBkEcakHAt8gAQSJBzLjIABDrDAJAIAYoAjBFDQAgACAGKQ\ +I0NwIEQQEhAwsgACADNgIAIAZBwABqJAALtwEDAX8BfgF8IwBBwABrIgIkAAJAAkACQAJAIAEoAgAO\ +AwABAgALQgMhAwJAIAErAwgiBJlEAAAAAAAA8H9jRQ0AIAIgBDkDCEICIQMLIAIgAzcDACACQYCAgI\ +B4NgIgIAAgAiACQRBqEPQPDAILIABBgoCAgHg2AhAgAEIANwMAIAAgASkDCDcDCAwBCyAAQYKAgIB4\ +NgIQIAAgASkDCCIDNwMIIAAgA0I/iDcDAAsgAkHAAGokAAubAQECfyMAQRBrIgIkAAJAAkACQCABKA\ +IADQACQCABKAIIRQ0AIAFBDGohAwwCCyACIAEoAhQgASgCGCABKAIwEPkQIAIoAgQhASACKAIAIQMM\ +AgsgAUEEaiEDCyACQQhqIAEoAhQgASgCGCABKAIwIAMoAgAQoxAgAigCDCEBIAIoAgghAwsgACADNg\ +IAIAAgATYCBCACQRBqJAALmAEBA38jAEHAAGsiBCQAQQAhBUEAIQYCQCABRQ0AIAAtAABBL0YhBgsg\ +BCAGOgAeIARBBjoACCAEIAE2AgQgBCAANgIAIARBgAQ7ARwCQCADRQ0AIAItAABBL0YhBQsgBCAFOg\ +A+IARBBjoAKCAEIAM2AiQgBCACNgIgIARBgAQ7ATwgBCAEQSBqEPYBIQMgBEHAAGokACADC6ABAQJ/\ +IwBBwABrIgIkAEEAIQMCQCAAIAFBzIzDAEEHEPEUDQAgAiABNgIMIAIgADYCCCACQTRqQfoANgIAIA\ +JBAjYCFCACQejZwgA2AhAgAkICNwIcIAJBBzYCLCACQQE2AjwgAkGo9sIANgI4IAIgAkEoajYCGCAC\ +IAJBOGo2AjAgAiACQQhqNgIoIAJBEGoQ4AohAwsgAkHAAGokACADC58BAQN/IwBBoAFrIgIkACACQR\ +BqIAEQtQICQAJAIAIoAhBBAkcNACACKAIUIQEgAkEIaiACKAIYIgMgAigCHBDXByACKAIIIgRFDQEg\ +ACAEIAIoAgwQog0gASADEOcWIAJBoAFqJAAPCyACQdgAaiACQRBqQcgAEJMaGkGcxtMAQSsgAkHYAG\ +pB2NXCAEHw4cIAEKkKAAtBgOLCABD7GAALmAEBA38jAEHAAGsiBCQAQQAhBUEAIQYCQCABRQ0AIAAt\ +AABBL0YhBgsgBCAGOgAeIARBBjoACCAEIAE2AgQgBCAANgIAIARBgAQ7ARwCQCADRQ0AIAItAABBL0\ +YhBQsgBCAFOgA+IARBBjoAKCAEIAM2AiQgBCACNgIgIARBgAQ7ATwgBCAEQSBqEPYBIQMgBEHAAGok\ +ACADC5gBAQN/IwBBwABrIgQkAEEAIQVBACEGAkAgAUUNACAALQAAQS9GIQYLIAQgBjoAHiAEQQY6AA\ +ggBCABNgIEIAQgADYCACAEQYAEOwEcAkAgA0UNACACLQAAQS9GIQULIAQgBToAPiAEQQY6ACggBCAD\ +NgIkIAQgAjYCICAEQYAEOwE8IAQgBEEgahD2ASEDIARBwABqJAAgAwubAQECfyMAQRBrIgEkAAJAAk\ +AgACgCGA0AQQAhAAwBCwJAA0AgAUEIaiAAELcPIAEoAghBAUYNASAAIAAoAhBBYGo2AhAgACAAKAII\ +IgJBCGo2AgggACACKQMAQn+FQoCBgoSIkKDAgH+DNwMADAALCyABKAIMIQIgACAAKAIYQX9qNgIYIA\ +AoAhAgAkECdGshAAsgAUEQaiQAIAALoQECA38BfiMAQRBrIgMkACADIAE2AgggAyABIAJqNgIMQYCA\ +gIB4IQQCQCADQQhqEMcRIgVBgIDEAEYNAEEBIQQCQCAFQYABSQ0AQQIhBCAFQYAQSQ0AQQNBBCAFQY\ +CABEkbIQQLIAMgASACIARBmLXHABCBDiADKQMAIQYgACAFNgIMIAAgBjcCBEGBgICAeCEECyAAIAQ2\ +AgAgA0EQaiQAC5oBAQN/AkACQAJAAkAgASgCCCICIAEoAgxGDQAgASACQQhqNgIIIAIoAgQiAyACKA\ +IAIgRJDQIgAyABKAIEIgJLDQMgAyAEayECIAEoAgAgBEEDdGohAwwBCyABKAIQIQMgAUEANgIQIAEo\ +AhQhAgsgACACNgIEIAAgAzYCAA8LIAQgA0HkmsgAEM4LAAsgAyACQeSayAAQzQsAC5gBAQJ/IwBBIG\ +siAyQAAkACQCAALQCcDQ0AAkACQCAAKQMAQgJRDQAgASgCyARBAkYNAyADQRRqIAAgAUHYAWogAhCr\ +BiADQQhqIANBFGoQjBAgAygCCCIEQQJGDQAgBEEARyEADAELIAAgASACEKYDIQALIANBIGokACAADw\ +tB0q3KAEEoQaSFyAAQ7Q8AC0G0hMgAEPsYAAuRAQEDfyMAQRBrIgQkAAJAAkAgAygCECIFIAMoAhQi\ +BksNACABQQRqIQECQCADKAIAQX9qQQJJDQAgBEEEaiABIAMoAgggAygCDCAFIAYQ2AogACAEQQRqEP\ +ESDAILIARBBGogASADKAIIIAMoAgwgBSAGENkKIAAgBEEEahDxEgwBCyAAQQA2AgALIARBEGokAAuR\ +AQEDfyMAQRBrIgQkAAJAAkAgAygCECIFIAMoAhQiBksNACABQQRqIQECQCADKAIAQX9qQQJJDQAgBE\ +EEaiABIAMoAgggAygCDCAFIAYQ6QIgACAEQQRqEPESDAILIARBBGogASADKAIIIAMoAgwgBSADEKoM\ +IAAgBEEEahDxEgwBCyAAQQA2AgALIARBEGokAAucAQEBfyMAQcAAayICJAAgAkIANwM4IAJBOGogAC\ +gCABAqIAIgAigCPCIANgI0IAIgAigCODYCMCACIAA2AiwgAkEINgIoIAJBAjYCECACQcza0wA2Agwg\ +AkIBNwIYIAIgAkEsajYCJCACIAJBJGo2AhQgASgCFCABKAIYIAJBDGoQxgIhASACKAIsIAIoAjAQ/B\ +YgAkHAAGokACABC5IBAQR/IwBBgCBrIgMkAAJAAkAgAUEBdiIEIAFBgIn6ACABQYCJ+gBJGyIFIAQg\ +BUsbIgRBgQhJDQAgAyAEEJYNIAAgASADKAIEIgQgAygCCCIFQQJ0aiADKAIAIgYgBWsgAUHBAEkgAh\ +DNASAGIAQQ+hUMAQsgACABIANBgAggAUHBAEkgAhDNAQsgA0GAIGokAAuSAQEEfyMAQYAgayIDJAAC\ +QAJAIAFBAXYiBCABQYCJ+gAgAUGAifoASRsiBSAEIAVLGyIEQYEISQ0AIAMgBBCWDSAAIAEgAygCBC\ +IEIAMoAggiBUECdGogAygCACIGIAVrIAFBwQBJIAIQyAEgBiAEEPoVDAELIAAgASADQYAIIAFBwQBJ\ +IAIQyAELIANBgCBqJAALkQEBBH8jAEEQayIDJAACQAJAAkAgAg0AQQQhBEEAIQVBACEGDAELIAJBAn\ +QhBQJAIAJB/////wFNDQBBACEGDAILQQQhBiADQQhqQQQgBRD+ECADKAIIIgRFDQEgAiEGCyAEIAEg\ +BRCTGiEFIAAgAjYCCCAAIAU2AgQgACAGNgIAIANBEGokAA8LIAYgBRCuGAALlQEBBH8jAEEQayICJA\ +BBASEDAkAgASgCFCIEQScgASgCGCIFKAIQIgERBgANACACQQRqIAAoAgBBgQIQlwICQAJAIAItAARB\ +gAFHDQAgBCACKAIIIAERBgBFDQEMAgsgBCACQQRqIAItAA4iAGogAi0ADyAAayAFKAIMEQkADQELIA\ +RBJyABEQYAIQMLIAJBEGokACADC5EBAQR/IwBBEGsiAyQAAkACQAJAIAINAEEEIQRBACEFQQAhBgwB\ +CyACQQN0IQUCQCACQf////8ATQ0AQQAhBgwCC0EEIQYgA0EIakEEIAUQ5hMgAygCCCIERQ0BIAIhBg\ +sgBCABIAUQkxohBSAAIAI2AgggACAFNgIEIAAgBjYCACADQRBqJAAPCyAGIAUQrhgAC40BAQN/IwBB\ +EGsiBCQAAkACQCADQQdLDQBBACEFIAFB/wFxIQZBACEBA0ACQCADIAFHDQAgAyEBDAMLAkAgAiABai\ +0AACAGRw0AQQEhBQwDCyABQQFqIQEMAAsLIARBCGogASACIAMQyQQgBCgCDCEBIAQoAgghBQsgACAB\ +NgIEIAAgBTYCACAEQRBqJAALpAEBAX8jAEHQAGsiAiQAIAIgAUEwahCqCgJAAkAgAigCAEGAgICAeE\ +cNACAAQYCAgIB4NgIADAELIAEQ/RYgASACQRBqQTAQkxoaIAJBxABqIAIQsxECQCACKAJEQYCAgIB4\ +Rg0AIAAgAikCRDcCACAAQQhqIAJBxABqQQhqKAIANgIADAELIAAgAigCSDYCBCAAQYGAgIB4NgIACy\ +ACQdAAaiQAC5UBAQN/IwBBMGsiAyQAIAMgAjYCJEEAIQQgA0EANgIgIAMgAjYCHCADIAE2AhggA0EB\ +OgAsIANB3AA2AhQgA0HcADYCKCADQQhqIANBFGoQ2AUCQCADKAIIRQ0AIAMoAgwhBCAAIAIgAygCEC\ +IFazYCDCAAIAEgBWo2AgggACAENgIEIAEhBAsgACAENgIAIANBMGokAAuVAQEDfyMAQTBrIgMkACAD\ +IAI2AiRBACEEIANBADYCICADIAI2AhwgAyABNgIYIANBAToALCADQcAANgIUIANBwAA2AiggA0EIai\ +ADQRRqEJAFAkAgAygCCEUNACADKAIMIQQgACACIAMoAhAiBWs2AgwgACABIAVqNgIIIAAgBDYCBCAB\ +IQQLIAAgBDYCACADQTBqJAALkAEBBH8jAEGAIGsiAyQAAkACQCABQQF2IgQgAUHAhD0gAUHAhD1JGy\ +IFIAQgBUsbIgRBgQRJDQAgAyAEEKgNIAAgASADKAIEIgQgAygCCCIFQQN0aiADKAIAIgYgBWsgAUHB\ +AEkgAhDJASAGIAQQlhYMAQsgACABIANBgAQgAUHBAEkgAhDJAQsgA0GAIGokAAuQAQEEfyMAQYAgay\ +IDJAACQAJAIAFBAXYiBCABQcCEPSABQcCEPUkbIgUgBCAFSxsiBEGBBEkNACADIAQQqA0gACABIAMo\ +AgQiBCADKAIIIgVBA3RqIAMoAgAiBiAFayABQcEASSACEMoBIAYgBBCWFgwBCyAAIAEgA0GABCABQc\ +EASSACEMoBCyADQYAgaiQAC4cBAQF/A38CQAJAAkAgAkEDSw0AAkAgAkEBTQ0AQQAhAyAALwAAIAEv\ +AABHDQIgAkF+aiECIAFBAmohASAAQQJqIQALQQEhAyACRQ0BIAAtAAAgAS0AAEYPCyAAKAAAIAEoAA\ +BGDQFBACEDCyADDwsgAkF8aiECIAFBBGohASAAQQRqIQAMAAsLlgEBAn8jAEGQA2siAyQAIAMgASAC\ +EGoCQAJAIAMoAgBBh4CAgHhHDQAgAEECOgAMDAELAkACQCACDQBBACEEDAELIAEoAgghBCACQQFGDQ\ +AgAUEYaiEBIAJBf2pB/////wBxIQIDQCAEIAEoAgAQ6BghBCABQRBqIQEgAkF/aiICDQALCyAAIAMg\ +BBDdAgsgA0GQA2okAAurAQECfyMAQRBrIQECQEEAKAK45lMNAAJAAkACQCAARQ0AIAAoAgAhAiAAQQ\ +A2AgAgAg0BC0EAIQIgAUEIakEAKQPwxUo3AwAgAUEAKQPoxUo3AwAMAQsgACgCBCECIAFBCGogAEEQ\ +aikCADcDACABIAApAgg3AwALQQAgAjYCvOZTQQBBATYCuOZTQQAgASkDADcCwOZTQQAgAUEIaikDAD\ +cCyOZTC0G85tMAC6YBAQN/IwBBEGsiAiQAQf7RygAhA0ETIQQCQAJAAkACQCABLQAADgQDAgABAwsg\ +ASgCBCIBKAIEIQQgASgCACEDDAILIAJBCGogASgCBCIBKAIAIAEoAgQoAiARBQAgAigCDCEEIAIoAg\ +ghAwwBCyABLQABQQJ0IgFBsN3KAGooAgAhAyABQYzcygBqKAIAIQQLIAAgBDYCBCAAIAM2AgAgAkEQ\ +aiQAC5QBAQR/IwBBEGsiAiQAAkACQCABKAIADQBBACEBDAELIAEoAgRBAWohAyABKAIYIQQgASgCFC\ +EFAkAgASgCCEUNACACQQhqIAUgBCADIAEoAgwQoxAgAigCDCEDIAIoAgghAQwBCyACIAUgBCADEPkQ\ +IAIoAgQhAyACKAIAIQELIAAgAzYCBCAAIAE2AgAgAkEQaiQAC5ABAQJ/IwBBIGsiAiQAIAEoAhwhAy\ +ACIAE2AggCQAJAAkAgA0EEcQ0AIAIgAkEIajYCDCAAIAJBDGoQ8AEiAA0BQQAhAQwCC0EAIQEgAkEA\ +OgAcIAJCAjcCFCACQZC2ygA2AhAgAiACQQhqNgIMIAAgAkEMahDcASIARQ0BCyAAEJARQQEhAQsgAk\ +EgaiQAIAELnwEBAX8jAEEgayIDJAAgA0EMaiABIAIQtwMCQAJAAkACQCADKAIMQYCAgIB4ag4CAQAC\ +CyAAIAMpAhA3AgQgAEGBgICAeDYCAAwCCyAAIAI2AgggACABNgIEIABBgYCAgHg2AgAMAQsgACADKQ\ +IMNwIAIABBEGogA0EMakEQaigCADYCACAAQQhqIANBDGpBCGopAgA3AgALIANBIGokAAuIAQEDfyMA\ +QSBrIgMkACADQRRqIAFBCCACENYJAkACQCADKAIUIgFFDQAgAygCHCEEIANBCGogASADKAIYEOYTIA\ +MoAggiBQ0BAAsQjRIACyAAQQA2AgwgACACQX9qIgE2AgQgACAFIARqNgIAIAAgASACQQN2QQdsIAFB\ +CEkbNgIIIANBIGokAAuiAQECfyABLwAAIgIgAS0AAiIDaiEBAkACQAJAIAJFDQACQCACQZzkAE8NAC\ +ACQcCuxgBqLAAAQb9/Sg0BDAILIAJBnOQARw0BCyABRQ0BAkAgAUGb5ABLDQAgAUHArsYAaiwAAEG/\ +f0wNAQwCCyABQZzkAEYNAQtBwK7GAEGc5AAgAiABQaC8wwAQgRgACyAAIAM2AgQgACACQcCuxgBqNg\ +IAC5YBAQN/IwBBEGsiAiQAAkACQCABRQ0AQQEhAwJAIAFBgICAgARJDQAgAEEANgIEDAILIAJBCGpB\ +ASABQQF0IgQQ8BMCQCACKAIIIgNFDQAgACADNgIIIAAgATYCBEEAIQMMAgsgACAENgIIQQEhAyAAQQ\ +E2AgQMAQsgAEKAgICAEDcCBEEAIQMLIAAgAzYCACACQRBqJAALlAEBA38jAEEQayICJAAgACgCCCED\ +IAAoAgQhACABKAIUQcTM0wBBASABKAIYKAIMEQkAIQQgAkEAOgAJIAIgBDoACCACIAE2AgQCQANAIA\ +NFDQEgAiAANgIMIAJBBGogAkEMakGkAhCMBRogA0F/aiEDIABBAWohAAwACwsgAigCBCACLQAIEOgT\ +IQMgAkEQaiQAIAMLoAEBAn8jAEEgayICJABBACEDIAJBADsBGiACQRRqIAFBwOzOAEGIHkHQqM8AQY\ +geIAJBGmoQuQcCQAJAAkAgAi8BFA0ADAELIAIvARghASACQQhqIAIvARZBkJnRAEGLLUG8zdIAEPcS\ +IAIoAgwiAyABSQ0BIAIoAgghAwsgACABNgIEIAAgAzYCACACQSBqJAAPCyABIANBzM3SABDNCwALoA\ +EBAn8jAEEgayICJABBACEDIAJBADsBGiACQRRqIAFB7N3MAEGhEEGw/swAQaEQIAJBGmoQuQcCQAJA\ +AkAgAi8BFA0ADAELIAIvARghASACQQhqIAIvARZBuIDOAEH6GkGg7M4AEPcSIAIoAgwiAyABSQ0BIA\ +IoAgghAwsgACABNgIEIAAgAzYCACACQSBqJAAPCyABIANBsOzOABDNCwALkQEBAX8jAEHAAGsiAyQA\ +IAMgAjYCBCADIAE2AgAgA0EsakECNgIAIANBMGpBCGogAEEIaikDADcDACADQQI2AgwgA0HMxcoANg\ +IIIANCAjcCFCADQR82AiQgAyAAKQMANwMwIAMgA0EgajYCECADIAM2AiggAyADQTBqNgIgIANBCGoQ\ +4AohACADQcAAaiQAIAALsgEBAX8CQAJAAkACQAJAAkAgASgCEEGAgICAeHMiAkEFIAJBBUkbDgYAAQ\ +IDBAUACyAAQYCAgIB4NgIQDwsgAEGBgICAeDYCECAAIAEtAAA6AAAPCyAAQYKAgIB4NgIQIAAgASkD\ +ADcDACAAQQhqIAFBCGopAwA3AwAPCyAAIAEoAgQgASgCCBCRDSAAQYOAgIB4NgIQDwsgACABEJMIIA\ +BBhICAgHg2AhAPCyAAIAEQ2wELkQEBAX8jAEHAAGsiAyQAIAMgAjYCBCADIAE2AgAgA0EsakECNgIA\ +IANBMGpBCGogAEEIaikDADcDACADQQI2AgwgA0H4s8oANgIIIANCAjcCFCADQR82AiQgAyAAKQMANw\ +MwIAMgA0EgajYCECADIAM2AiggAyADQTBqNgIgIANBCGoQ4AohACADQcAAaiQAIAALlgEBA38jAEEQ\ +ayICJAACQAJAIAFFDQACQAJAIAFBgICAgAJJDQAgAEEANgIEDAELIAJBCGpBBCABQQJ0IgMQ/hACQC\ +ACKAIIIgRFDQAgACAENgIIIAAgATYCBEEAIQEMAwsgACADNgIIIABBBDYCBAtBASEBDAELIABCgICA\ +gMAANwIEQQAhAQsgACABNgIAIAJBEGokAAuNAQECfyMAQSBrIgMkACADQRhqIAEgAhCMDyADQRBqIA\ +MoAhgiBCABIAQbIgEgAygCHCACIAQbIgIQoAUCQAJAIAMoAhBBAUYNAEEAIQIMAQsgA0EIaiABIAIg\ +AygCFEEBakGU9cIAEIwOIAMoAgwhASADKAIIIQILIAAgATYCBCAAIAI2AgAgA0EgaiQAC4IBAgF/AX\ +4CQAJAIAGtIAOtfiIFQiCIpw0AIAWnIgEgAkF/amoiBCABSQ0AIARBACACa3EiASADQQhqaiIDIAFJ\ +DQECQCADQYCAgIB4IAJrSw0AIAAgATYCCCAAIAM2AgQgACACNgIADwsgAEEANgIADwsgAEEANgIADw\ +sgAEEANgIAC5sBAQF/IABBBGohAQJAAkACQAJAAkACQCAAKAIADgYBAQECAwQACyAAQRBqEOgJIAAo\ +AgQgACgCCBD6FSAAKAIYIgEgASgCACIBQX9qNgIAIAFBAUcNBCAAQRhqEIQFDwsgARDIBQ8LIABBEG\ +oQkxQgACgCBCAAKAIIEPoVDwsgAEEQahCTFCAAKAIEIAAoAggQ+hUPCyABEN0FCwuWAQEDfyMAQRBr\ +IgIkAAJAAkAgAUUNAAJAAkAgAUGAgICAAkkNACAAQQA2AgQMAQsgAkEIakEEIAFBAnQiAxDmEwJAIA\ +IoAggiBEUNACAAIAQ2AgggACABNgIEQQAhAQwDCyAAIAM2AgggAEEENgIEC0EBIQEMAQsgAEKAgICA\ +wAA3AgRBACEBCyAAIAE2AgAgAkEQaiQAC4kBAQR/IAAoAgghASAAKAIEIgIhAwJAA0AgAUUNAQJAIA\ +MoAgAiBEUNACADQQRqKAIAQQQgBEEDdBDzFgsCQCADQQxqKAIAIgRFDQAgA0EQaigCAEEEIARBA3QQ\ +8xYLIAFBf2ohASADQRhqIQMMAAsLAkAgACgCACIDRQ0AIAJBBCADQRhsEPMWCwuWAQEDfyMAQRBrIg\ +IkAAJAAkAgAUUNAAJAAkAgAUGAgICAAUkNACAAQQA2AgQMAQsgAkEIakEEIAFBA3QiAxDmEwJAIAIo\ +AggiBEUNACAAIAQ2AgggACABNgIEQQAhAQwDCyAAIAM2AgggAEEENgIEC0EBIQEMAQsgAEKAgICAwA\ +A3AgRBACEBCyAAIAE2AgAgAkEQaiQAC4UBAQJ/AkAgA0H4////AXFFDQAgACAAIANBA3YiA0EGdCIE\ +aiAAIANB8ABsIgVqIAMQ2wkhACABIAEgBGogASAFaiADENsJIQEgAiACIARqIAIgBWogAxDbCSECCw\ +JAIAAgARDJDSIDIAAgAhDJDUcNACACIAEgAyABIAIQyQ1zGyEACyAAC5YBAQN/IwBBEGsiAiQAAkAC\ +QCABRQ0AAkACQCABQYCAgMAASQ0AIABBADYCBAwBCyACQQhqQQQgAUEEdCIDEPATAkAgAigCCCIERQ\ +0AIAAgBDYCCCAAIAE2AgRBACEBDAMLIAAgAzYCCCAAQQQ2AgQLQQEhAQwBCyAAQoCAgIDAADcCBEEA\ +IQELIAAgATYCACACQRBqJAALlgEBA38jAEEQayICJAACQAJAIAFFDQACQAJAIAFBgICAgAFJDQAgAE\ +EANgIEDAELIAJBCGpBBCABQQN0IgMQ8BMCQCACKAIIIgRFDQAgACAENgIIIAAgATYCBEEAIQEMAwsg\ +ACADNgIIIABBBDYCBAtBASEBDAELIABCgICAgMAANwIEQQAhAQsgACABNgIAIAJBEGokAAuXAQEDfy\ +MAQRBrIgIkAAJAAkACQAJAAkAgASgCCA4CAgEAC0EkQQQQ5BEiAyABQSQQkxoaQQshBAwDCyACQQhq\ +IAEQ7A4CQCACKAIIIgRBDEYNACACKAIMIQMMAgtB9P3IABD7GAALIAIgAUEMahCTEEEAIQQgAigCBC\ +EDCyABEJcYCyAAIAM2AgQgACAENgIAIAJBEGokAAuOAQEDfwJAAkAgACgCACIBRQ0AQQAhAgNAAkAg\ +ACgCCCIDIAAoAgRPDQAgASADai0AAEHFAEcNACAAIANBAWo2AggMAgsCQCACRQ0AIAAoAhAiAUUNAC\ +ABQZuSygBBAhCRAkUNAEEBDwtBASEBIABBARCKAQ0CIAJBf2ohAiAAKAIAIgENAAsLQQAhAQsgAQuV\ +AQECfyMAQRBrIgMkACABIAEoAghBf2oiBDYCCAJAAkAgAS0ADEUNACADQQhqIAJB5NXKAEEBEIsGAk\ +AgAy0ACEEERw0AIANBCGogAiAEIAEoAgAgASgCBBD9DCADLQAIQQRGDQEgACADKQMINwIADAILIAAg\ +AykDCDcCAAwBCyAAIAJBxczTAEEBEIsGCyADQRBqJAALlQEBAn8jAEEQayIDJAAgASABKAIIQX9qIg\ +Q2AggCQAJAIAEtAAxFDQAgA0EIaiACQeTVygBBARCLBgJAIAMtAAhBBEcNACADQQhqIAIgBCABKAIA\ +IAEoAgQQ/QwgAy0ACEEERg0BIAAgAykDCDcCAAwCCyAAIAMpAwg3AgAMAQsgACACQY+2ygBBARCLBg\ +sgA0EQaiQAC6EBAQN/IwBBEGsiASQAIAAoAgwhAgJAAkACQAJAIAAoAgQOAgABAgsgAg0BQQEhAkEA\ +IQMMAgsgAg0AIAAoAgAiAigCBCEDIAIoAgAhAgwBCyABQYCAgIB4NgIAIAEgADYCDCABQdECIAAoAh\ +wiAC0AHCAALQAdEMQLAAsgASADNgIEIAEgAjYCACABQdICIAAoAhwiAC0AHCAALQAdEMQLAAuNAQED\ +fyMAQSBrIgIkAAJAAkAgAS0AJUUNAEEAIQEMAQsgASgCBCEDIAJBFGogARDQBQJAIAIoAhQNACACQQ\ +hqIAEQ5AsgAigCDCEEIAIoAgghAQwBCyABKAIcIQQgASACKAIcNgIcIAMgBGohASACKAIYIARrIQQL\ +IAAgBDYCBCAAIAE2AgAgAkEgaiQAC5sBAQF/IwBBEGsiAiQAAkACQAJAAkACQCABLQA0DgQAAQIDAA\ +sgAEEDOgAADAMLIAJBCGogASgCFCABKAIYIAEoAiggASgCLBCjECAAIAIpAwg3AgQgAEEAOgAADAIL\ +IABBAToAACAAIAEoADU2AAEMAQsgAEECOgAAIAAgASkANTcAASAAQQlqIAFBPWopAAA3AAALIAJBEG\ +okAAuPAQEDfyMAQRBrIgIkAAJAAkACQCABQarVqtUASw0AAkAgAUEMbCIDQQBODQAgAEEANgIEDAIL\ +IAJBCGpBBCADEOYTAkAgAigCCCIERQ0AIAAgBDYCCCAAIAE2AgRBACEBDAMLIAAgAzYCCCAAQQQ2Ag\ +QMAQsgAEEANgIEC0EBIQELIAAgATYCACACQRBqJAALjgEBA38jAEEQayICJAACQAJAAkAgAUGkkskk\ +Sw0AAkAgAUEcbCIDQQBODQAgAEEANgIEDAILIAJBCGpBBCADEOYTAkAgAigCCCIERQ0AIAAgBDYCCC\ +AAIAE2AgRBACEBDAMLIAAgAzYCCCAAQQQ2AgQMAQsgAEEANgIEC0EBIQELIAAgATYCACACQRBqJAAL\ +gAEAAkACQCAEIANJDQACQCADRQ0AAkAgAyACTw0AIAEgA2osAABBv39KDQEMAgsgAyACRw0BCyAERQ\ +0BAkAgBCACTw0AIAEgBGosAABBv39MDQEMAgsgBCACRg0BCyABIAIgAyAEIAUQgRgACyAAIAQgA2s2\ +AgQgACABIANqNgIAC5sBAQN/IAAoAgAiASABKAIAIgFBf2o2AgACQCABQQFHDQAgABCdCgsgACgCBC\ +IAKALwBSECAkAgACgC9AUiASgCACIDRQ0AIAIgAxECAAsCQCABKAIEIgNFDQAgAiABKAIIIAMQ8xYL\ +IABBgAZqIgEoAgAgAEGEBmooAgAQjAogACgC/AUgASgCABCcFiAAEM0XIABBiAZBCBCSDAuQAQEDfy\ +MAQRBrIgIkACAAKAIAIQNBACEAIAEoAhRBxMzTAEEBIAEoAhgoAgwRCQAhBCACQQA6AAkgAiAEOgAI\ +IAIgATYCBAJAA0AgAEGAAkYNASACIAMgAGo2AgwgAkEEaiACQQxqQdMBEIwFGiAAQQFqIQAMAAsLIA\ +IoAgQgAi0ACBDoEyEAIAJBEGokACAAC4kBAQJ/IwBBEGsiBiQAIAZBCGogAiADIAQgBUHAtMgAEJAP\ +QQAhByAGKAIMIQMgBigCCCECQQAhBQJAA0AgAyAFRg0BAkAgASACIAVqLQAAai0AAA0AIAVBAWohBQ\ +wBCwsgACAFIARqIgU2AgRBASEHIAAgBUEBajYCCAsgACAHNgIAIAZBEGokAAuKAQEDfyMAQRBrIgQk\ +AAJAAkAgAygCECIFIAMoAhQiBksNAAJAIAMoAgBBf2pBAkkNACAEQQRqIAEgAygCCCADKAIMIAUgBh\ +CJBCAAIARBBGoQ8RIMAgsgBEEEaiABIAMoAgggAygCDCAFIAYQqgkgACAEQQRqEPESDAELIABBADYC\ +AAsgBEEQaiQAC4oBAQN/IwBBEGsiBCQAAkACQCADKAIQIgUgAygCFCIGSw0AAkAgAygCAEF/akECSQ\ +0AIARBBGogASADKAIIIAMoAgwgBSAGEOgIIAAgBEEEahDxEgwCCyAEQQRqIAEgAygCCCADKAIMIAUg\ +BhDbCyAAIARBBGoQ8RIMAQsgAEEANgIACyAEQRBqJAALiQEBA38CQCAAKAIAIgFFDQBBACECA0ACQC\ +AAKAIIIgMgACgCBE8NACABIANqLQAAQcUARw0AIAAgA0EBajYCCEEADwsCQCACRQ0AIAAoAhAiAUUN\ +ACABQZuSygBBAhCRAkUNAEEBDwsCQCAAEMIDRQ0AQQEPCyACQX9qIQIgACgCACIBDQALC0EAC4ABAA\ +JAAkAgAiABSQ0AAkAgAUUNAAJAIAEgBE8NACADIAFqLAAAQb9/Sg0BDAILIAEgBEcNAQsgAkUNAQJA\ +IAIgBE8NACADIAJqLAAAQb9/TA0BDAILIAIgBEYNAQsgAyAEIAEgAiAFEIEYAAsgACACIAFrNgIEIA\ +AgAyABajYCAAuGAQEEfyABQQF2IgMgAUGXmwMgAUGXmwNJGyIEIAMgBEsbIgNBMCADQTBLGyIFQZgB\ +bCEEQQAhBgJAAkAgAUHr0LwNSw0AIARBAEgNAEEIIQZBCCAEEMoVIgMNAQsgBiAEEK4YAAsgACABIA\ +MgBSABQcEASSACEJ8BIANBABCrESAFIAMQixYLjQEBA38jAEEQayICJAACQAJAIAFFDQACQCABQX9K\ +DQAgAEEANgIEQQEhAwwCC0EBIQMgAkEIakEBIAEQ/hACQCACKAIIIgRFDQAgACAENgIIIAAgATYCBE\ +EAIQMMAgsgACABNgIIIABBATYCBAwBCyAAQoCAgIAQNwIEQQAhAwsgACADNgIAIAJBEGokAAuIAQEC\ +fyMAQRBrIgYkACABLQAAIQcgBkEIaiACIAMgBCAFQbSuwAAQkA8gBiAHIAYoAgggBigCDBDqAwJAAk\ +AgBigCAA0AQQAhBAwBCyAAIARBACAGKAIEIARqIgUgAS0AAWsiASABIAVLGyIBIAQgAUsbNgIEQQIh\ +BAsgACAENgIAIAZBEGokAAuWAQEBfyMAQRBrIgIkAAJAAkACQAJAIAAoAgAiAC0AAA4DAAECAAsgAi\ +AAQQRqNgIEIAFBmNrCAEEGIAJBBGpB8wAQlAchAAwCCyACIABBAWo2AgggAUGe2sIAQQQgAkEIakH2\ +ABCUByEADAELIAIgAEEBajYCDCABQaLawgBBBCACQQxqQfcAEJQHIQALIAJBEGokACAAC6ABAQF/IA\ +AoAnQgACgCeBD6FSAAKAKAASAAKAKEARD6FSAAKAKQASIBIAAoApQBEJgUIAAoAowBIAEQlhYgABD/\ +DSAAQTBqEKoWIABBzABqEKoWIAAoApgBIAAoApwBEPoVIAAoAqQBIAAoAqgBEOcWAkAgACgCIEEBRw\ +0AIAAoAigiASABKAIAIgFBf2o2AgAgAUEBRw0AIABBKGoQ/A8LC3kCAX8BfkEEIQQCQAJAIANBBE8N\ +AEEAIQRCACEFDAELIAAgAmo1AAAhBQsCQCAEQQFyIANPDQAgACAEaiACajMAACAEQQN0rYYgBYQhBS\ +AEQQJyIQQLAkAgBCADTw0AIAAgBCACamoxAAAgBEEDdK2GIAWEIQULIAULjQEBA38jAEEQayICJAAC\ +QAJAIAFFDQACQCABQX9KDQAgAEEANgIEQQEhAwwCC0EBIQMgAkEIakEBIAEQ8BMCQCACKAIIIgRFDQ\ +AgACAENgIIIAAgATYCBEEAIQMMAgsgACABNgIIIABBATYCBAwBCyAAQoCAgIAQNwIEQQAhAwsgACAD\ +NgIAIAJBEGokAAugAQEBfyAAKAJ0IAAoAngQ+hUgACgCgAEgACgChAEQ+hUgACgCkAEiASAAKAKUAR\ +CYFCAAKAKMASABEJYWIAAQ/w0gAEEwahCqFiAAQcwAahCqFiAAKAKYASAAKAKcARD6FSAAKAKkASAA\ +KAKoARD8FgJAIAAoAiBBAUcNACAAKAIoIgEgASgCACIBQX9qNgIAIAFBAUcNACAAQShqEPwPCwt5Ag\ +F/AX5BBCEEAkACQCADQQRPDQBBACEEQgAhBQwBCyAAIAJqNQAAIQULAkAgBEEBciADTw0AIAAgBGog\ +AmozAAAgBEEDdK2GIAWEIQUgBEECciEECwJAIAQgA08NACAAIAQgAmpqMQAAIARBA3SthiAFhCEFCy\ +AFC4oBAQJ/IwBBEGsiAiQAIAJBBGogACABEKYCIAItAAQhA0E0QQQQ5BEiAEIANwIUIABBATYCECAA\ +IAE2AgwgAEEBNgIIIAAgATYCBCAAQQE2AgAgAEGBAjsAMSAAIANBAXM6ADAgAEEcakIANwIAIABBJG\ +pCADcCACAAQSxqQQA2AgAgAkEQaiQAIAALiAEBBH8jAEEgayICJAAgAkEEakEQaiIDQgQ3AgAgAkEE\ +akEIaiIEQgA3AgAgAkEEakEYaiIFQQA2AgAgAkKAgICAwAA3AgQgAkEEaiABENoLIABBGGogBSgCAD\ +YCACAAQRBqIAMpAgA3AgAgAEEIaiAEKQIANwIAIAAgAikCBDcCACACQSBqJAALjAEBAn8jAEEQayIE\ +JABBACEFAkACQCAAKAL4BCgC1AJBAUYNACAAIAEgAhCuFCIAKAIAQQhqIgIgACgCBCIAEKwURQ0AIA\ +RBCGogA0ECdEENaiACIABBkL/IABCUEyAEKAIMIgBBA00NASAEKAIIKAAAIQULIARBEGokACAFDwtB\ +BCAAQfy8yAAQzQsAC4wBAQN/IwBBEGsiBSQAQQAhBgJAIAIoAnggAigCfCADQf///z9xIAEgBEH/AX\ +EiB2pB2AJqLQAAakGI48cAELwUKAIAIgRBf0oNACAFIAI2AgwgBSABNgIIIAUgBUEIaiADIAdBCHQQ\ +YSAFKAIEIQQgBSgCACEGCyAAIAQ2AgQgACAGNgIAIAVBEGokAAuPAQICfwF+IAAgASgCyAIQ2gsgAC\ +ABKAK8AhCnFCICNgIoAkACQCABKALUAiIDQX9MDQAgACACIANBAXQiAyACIANLGyIDNgIsIAE1AsgC\ +IAKtfiIEQiCIpw0BIASnIgEgA2oiAiABSQ0BIABBHGogAhClFA8LQfikyAAQ+xgAC0GIpcgAQSJBrK\ +XIABDKDAALjQEBA38jAEEQayICJAACQAJAIAFFDQACQCABQX9KDQAgAEEANgIEQQEhAwwCC0EBIQMg\ +AkEIakEBIAEQoxUCQCACKAIIIgRFDQAgACAENgIIIAAgATYCBEEAIQMMAgsgACABNgIIIABBATYCBA\ +wBCyAAQoCAgIAQNwIEQQAhAwsgACADNgIAIAJBEGokAAujAQEBfwJAAkACQAJAAkACQAJAAkACQAJA\ +IAFB/wFxIgNBkn9qDggDAQEBBQECCAALQQMhAQJAIANBnn9qDgUJAQEBBAALIANBIkYNBSADQdwARg\ +0GC0HSrcoAQShB3LXKABDtDwALQQchAQwGC0EFIQEMBQtBBCEBDAQLQQYhAQwDC0EAIQEMAgtBASEB\ +DAELQQghAQsgACACOgABIAAgAToAAAuLAQICfwF+IwBBIGsiAiQAIAIgATYCGCACQQhqIAEQphECQA\ +JAAkAgAigCCEUNACACIAIpAxAiBBAJIgE2AhwgAkEYaiACQRxqEPMXIQMgARDwFyACKAIYIQEgAw0B\ +CyAAIAE2AgRBASEBDAELIAAgBDcDCCABEPAXQQAhAQsgACABNgIAIAJBIGokAAuLAQICfwF+IwBBIG\ +siAiQAIAIgATYCGCACQQhqIAEQphECQAJAAkAgAigCCEUNACACIAIpAxAiBBAKIgE2AhwgAkEYaiAC\ +QRxqEPMXIQMgARDwFyACKAIYIQEgAw0BCyAAIAE2AgRBASEBDAELIAAgBDcDCCABEPAXQQAhAQsgAC\ +ABNgIAIAJBIGokAAuZAQEEfyMAQRBrIgIkAAJAAkAgASgCECIDQYCAgIB4Rw0AIABBgAQ7AQAgARD7\ +EAwBCwJAAkAgA0GBgICAeEcNACABLQAAIQQMAQsgASACQQ9qQdjSwgAQ/gchBQsgARD7EAJAAkAgA0\ +GBgICAeEcNACAAIAQ6AAFBACEBDAELIAAgBTYCBEEBIQELIAAgAToAAAsgAkEQaiQAC4ABAQV/IAEg\ +AkEEdGohBUEAIQYCQANAIAEiAkEAIAIgBUciARsiB0UNASACIAFBBHRqIQEgAyAEIAcoAgAiCCgCHC\ +AIKAIgIggQ9RRFDQACQCAGRQ0AIAggBigCACgCIE0NAQsgB0EIaiEJIAIhBgwACwsgACAJNgIEIAAg\ +BjYCAAuZAQEBfyMAQRBrIgIkAAJAAkAgACgCACIAKAIAQYCAgIB4Rg0AIAIgAEEMajYCCCABQZjewg\ +BBAkH91MIAQQQgAEH/AEHZnsMAQQYgAkEIakH9ABDRByEADAELIAIgAEEQajYCDCABQZrewgBBC0H9\ +1MIAQQQgAEEEakH/AEHZnsMAQQYgAkEMakEeENEHIQALIAJBEGokACAAC5ABAQJ/IwBBMGsiAiQAQQ\ +EhAwJAIAEoAhRBIiABKAIYKAIQEQYADQAgAiABNgIMQQEhAyACQQE2AhQgAkHYzNMANgIQIAJCATcC\ +HCACQfsANgIsIAIgADYCKCACIAJBKGo2AhggAkEMaiACQRBqEKcXDQAgASgCFEEiIAEoAhgoAhARBg\ +AhAwsgAkEwaiQAIAMLjgEAIAAgAS0ACjoAUCAAIAEoAgA2AkwgACABLQANOgBRIAAgAS0ABDoASyAA\ +IAEtAAtBAXQ6AEkgAEEBQQIgAS0ABRs6AEUgAEEBQQIgAS0ABhs6AEYgAEEBQQIgAS0ACBs6AEogAE\ +EBQQIgAS0ABxs6AEcgAEEBQQIgAS0ACRs6AEggACABLQAMOgBEIAALlwEBAn8jAEEQayICJAACQAJA\ +AkAgAUEASA0AIAFB9f///wdPDQEgAkEEIAFBC2pBfHEQ5hMgAigCACIDRQ0CIANCgYCAgBA3AgAgAC\ +ABNgIEIAAgAzYCACACQRBqJAAPC0GcxtMAQSsgAkEPakHgy8cAQbzMxwAQqQoAC0GcxtMAQSsgAkEP\ +akHktcAAQci2wAAQqQoACwALjQEBA38jAEEQayICJAACQAJAIAAoAhQgACgCGGoiA0GkkskkIANBpJ\ +LJJEkbIAAoAggiA2siBCABTQ0AIAJBCGogACADIAQQiwcgAigCCEGBgICAeEYNASAAKAIIIQMLIAIg\ +ACADIAEQiwcgAigCACIAQYGAgIB4Rg0AIAAgAigCBBCuGAALIAJBEGokAAueAQMBfwF+AXwjAEEQay\ +ICJAACQAJAAkACQCAAKAIADgMAAQIACyAAKwMIIQQgAkEDOgAAIAIgBDkDCCACIAFByIjDABDRCSEA\ +DAILIAApAwghAyACQQE6AAAgAiADNwMIIAIgAUHIiMMAENEJIQAMAQsgACkDCCEDIAJBAjoAACACIA\ +M3AwggAiABQciIwwAQ0QkhAAsgAkEQaiQAIAALjAEBAX8CQANAIAFFDQEgAEEoaigCACAAQSxqKAIA\ +EOcWAkACQAJAAkAgACgCAEF+ag4CAQIACyAAEIcYDAILIABBBGoQsBEMAQsCQCAAQQRqIgIoAgBBgI\ +CAgHhGDQAgAhD+FQwBCyAAQQhqKAIAIABBDGooAgAQ5xYLIAFBf2ohASAAQThqIQAMAAsLC4QBAQN/\ +IwBBgAJrIgIkAEEAIQMgAkEAQYACEJAaIQRBACECAkACQANAIAQgA2ogAjoAACADQf8BRg0BAkAgAS\ +ADENAORQ0AIAJB/wFxQQFqIgJB/wFxIAJHDQMLIANBAWohAwwACwsgACAEQYACEJMaGiAEQYACaiQA\ +DwtBhKvAABD7GAALjQEBA38jAEEQayICJAACQAJAIAAoAhQgACgCGGoiA0H///8/IANB////P0kbIA\ +AoAggiA2siBCABTQ0AIAJBCGogACADIAQQhgcgAigCCEGBgICAeEYNASAAKAIIIQMLIAIgACADIAEQ\ +hgcgAigCACIAQYGAgIB4Rg0AIAAgAigCBBCuGAALIAJBEGokAAt9AQR/QQAhAgJAA0AgAiABRg0BIA\ +AgAkEGdGoiA0EEaiEEIANBDGooAgAhBSADQQhqKAIAIQMCQANAIAVFDQEgAygCABDiGCAFQX9qIQUg\ +A0EEaiEDDAALCyACQQFqIQIgBCgCACIFRQ0AIAQoAgRBBCAFQQJ0EPMWDAALCwuRAQEBfyMAQRBrIg\ +IkAAJAAkACQAJAIAAtAAAOAwABAgALIAIgAEEBajYCBCABQbzfwgBBESACQQRqQZsBEJQHIQAMAgsg\ +AiAAQQRqNgIIIAFBzd/CAEEHIAJBCGpBnAEQlAchAAwBCyACIABBBGo2AgwgAUHU38IAQRYgAkEMak\ +GdARCUByEACyACQRBqJAAgAAuNAQEDfyMAQRBrIgIkAAJAAkAgACgCFCAAKAIYaiIDQf///w8gA0H/\ +//8PSRsgACgCCCIDayIEIAFNDQAgAkEIaiAAIAMgBBCQByACKAIIQYGAgIB4Rg0BIAAoAgghAwsgAi\ +AAIAMgARCQByACKAIAIgBBgYCAgHhGDQAgACACKAIEEK4YAAsgAkEQaiQAC5UBAQN+AkACQCABKQMA\ +QgBSDQBBgICAgHghASAAQYCAgIB4NgIkDAELIAEpAwghAiABKQMQIQMgASkDGCEEIAAgARDBCiAAQQ\ +E6AGggAEIENwNgQQAhASAAQQA2AlggAEKAgICAwAA3A1AgAEIANwNIIABCACAEQgF8IANQGzcDQCAA\ +IAIgA0IBhXw3AzgLIAAgATYCXAuDAQEBfyMAQSBrIgMkACADQRBqIAAgARCqFSADIAMpAxA3AhggAk\ +EBaiEBAkACQAJAA0AgAUF/aiIBRQ0BIANBCGogA0EYahCODCADKAIIQQFGDQAMAgsLIAMgA0EYahCO\ +DCADKAIADQELQbTWxwAQ+xgACyADKAIEIQEgA0EgaiQAIAELhAEBA38jAEGAAmsiAiQAQQAhAyACQQ\ +BBgAIQkBohBEEAIQICQAJAA0AgBCADaiACOgAAIANB/wFGDQECQCABIAMQ0A5FDQAgAkH/AXFBAWoi\ +AkH/AXEgAkcNAwsgA0EBaiEDDAALCyAAIARBgAIQkxoaIARBgAJqJAAPC0GIq8gAEPsYAAuKAQEEfy\ +MAQRBrIgQkAEEAIQUCQCACKAJ4IAIoAnwgAS0A1wQiBiADQf///z9xakEBakGY48cAELwUKAIAIgdB\ +f0oNACAEIAI2AgwgBCABNgIIIAQgBEEIaiADIAZBEHRBgYAEahBhIAQoAgQhByAEKAIAIQULIAAgBz\ +YCBCAAIAU2AgAgBEEQaiQAC4kBAgJ/An4CQAJAIAEoAgBBBUcNACABKAIEIQFBACEDDAELIAEpAgAi\ +BUIgiCEGAkACQAJAIAWnIgRBfWoiAUECIAFBAkkbDgMAAQIAC0EBIQMgAhCMEyEBDAILQQEhAyAGpy\ +ACEPERIQEMAQtBASEDIAQgBqcQ6xEhAQsgACABNgIEIAAgAzYCAAuGAQECfwJAAkACQAJAIAINACAB\ +DQFBAA8LIAJBf2oiAyABTw0BIAAgA2otAABBmMrIAGotAAAhBEEAIQMgAiABTw0CIAAgAmotAABBmM\ +rIAGotAABBAEchAwwCCyAALQAAQZjKyABqLQAAQQBHDwsgAyABQaSyyAAQyAsACyAEQf8BcUUgA3EL\ +hwEBAX8jAEEwayIFJAACQAJAAkAgASgCAC0AEEEBcUUNACAEEKERRQ0AIAVBCGogASgCBCABKAIIIA\ +JBBhDxECAFKAIIIgFBgICAgHhHDQELQYCAgIB4IQEgA0UNASAEELoFDAELIABBBGogBUEIakEEakEk\ +EJMaGgsgACABNgIAIAVBMGokAAuIAQEEf0EAIQICQAJAAkAgASgCAEGAgICAeEYNACABKAIIIgMNAQ\ +sMAQtBASECIAEoAgQiBCgCCCEBIANBAUYNACAEQRhqIQQgA0F/akH/////AHEhAwNAIAEgBCgCACIF\ +IAEgBUkbIQEgBEEQaiEEIANBf2oiAw0ACwsgACABNgIEIAAgAjYCAAuHAQECfyMAQSBrIgEkACAAKA\ +IMIQICQAJAAkACQAJAIAAoAgQOAgABAwsgAg0CQQEhAEEAIQIMAQsgAg0BIAAoAgAiACgCBCECIAAo\ +AgAhAAsgAUEIahCIFiAAIAIgAUEIahD0DiEADAELIAFBCGogABDkDSABQQhqEIwLIQALIAFBIGokAC\ +AAC4ABAQZ/IAEoAhQiAiABKAIQIgMgAiADSxshBCABKAIMIQUCQANAAkAgBCACRw0AQQAhBgwCC0EB\ +IQYgBSACai0AACIHQXdqIgNBF0sNAUEBIAN0QZOAgARxRQ0BIAEgAkEBaiICNgIUDAALCyAAIAc6AA\ +IgACAGOgABIABBADoAAAuFAQECfyMAQRBrIgMkACACKAIUQcTM0wBBASACKAIYKAIMEQkAIQQgA0EA\ +OgAJIAMgBDoACCADIAI2AgQCQANAIAFFDQEgAyAANgIMIANBBGogA0EMakE4EIwFGiABQX9qIQEgAE\ +EBaiEADAALCyADKAIEIAMtAAgQ6BMhASADQRBqJAAgAQt5AQN/IAAoAgAhASAAKAIEIgAoAgghAgJA\ +IAAoAgAiA0UNACABIAJBf2pBeHFqQQhqIAMRAgALAkAgAUF/Rg0AIAEgASgCBCIDQX9qNgIEIANBAU\ +cNACABIAJBBCACQQRLGyICIAIgACgCBGpBB2pBACACa3EQ8xYLC4YBAgJ/AX4CQCABKAIAIgIgAUF0\ +aiIDKAIAEPMTQf8BcUH/AUcNACABKQIEIQQCQANAIANBDGogAykCADcCACADQRRqIANBCGooAgA2Ag\ +AgAyAARg0BIAIgA0F0aiIDKAIAEPMTQf8BcUH/AUYNAAsgA0EMaiEACyAAIAQ3AgQgACACNgIACwul\ +AQEBfyMAQdAAayIDJAAgA0HAAGpCADcDACADQgA3AzggAyABNwMwIAMgAULzytHLp4zZsvQAhTcDIC\ +ADIAFC7d6R85bM3LfkAIU3AxggAyAANwMoIAMgAELh5JXz1uzZvOwAhTcDECADIABC9crNg9es27fz\ +AIU3AwggAyACNgJMIANBCGogA0HMAGpBBBDNBSADQQhqEJwEIQEgA0HQAGokACABC4MBAQJ/IAAoAg\ +AiASgCCCICIAIoAgAiAkF/ajYCAAJAIAJBAUcNACABQQhqEJoKCyABKAIQIgIgAigCACICQX9qNgIA\ +AkAgAkEBRw0AIAFBEGoQ3Q4LAkAgACgCACIAQX9GDQAgACAAKAIEIgFBf2o2AgQgAUEBRw0AIABBFE\ +EEEJIMCwuEAQECfyMAQcAAayIDJABBACEEAkAgAkUNACABLQAAQS9GIQQLIAMgBDoAPiADQQY6ACgg\ +AyACNgIkIAMgATYCICADQYAEOwE8IANBBGogA0EgahDqASADKAIIIQIgAy0ABCEBIAAgAygCDDYCBC\ +AAIAJBACABQQlGGzYCACADQcAAaiQAC3gBBH9BACEEAkAgASADRw0AIAFBAWohBSAAQQhqIQEgAkEI\ +aiEDA0AgBUF/aiIFRSEEIAVFDQEgA0F8aiECIAFBfGohACADKAIAIQYgASgCACEHIAFBDGohASADQQ\ +xqIQMgACgCACAHIAIoAgAgBhD/GA0ACwsgBAuRAQECfyMAQSBrIgEkAAJAAkAgAEUNACAAKAIAIQIg\ +AEEANgIAIAJFDQAgACgCBCEADAELQQBBACgCrOZTIgBBAWo2AqzmUyAADQAgAUEANgIYIAFBATYCDC\ +ABQbTayAA2AgggAUIENwIQIAFBCGpBvNrIABCmDgALQQAgADYCtOZTQQBBATYCsOZTIAFBIGokAAuC\ +AQEFfyABKAIIQX9qIQIgASgCACEDIAEoAgQhBAJAA0ACQCADIARHDQBBACEDDAILIAEgA0EEaiIFNg\ +IAIAEgAkECajYCCCACQQFqIQIgAygCACEGIAUhAyAGRQ0ACyAAIAJB/wFxrUKAgICAkCB+IAathDcC\ +BEEBIQMLIAAgAzYCAAuZAQECfyABKAKUDSgCvAIiAiACKAIAIgNBAWo2AgACQCADQX9KDQAACyAAIA\ +IQihAgAEHoBGogASgCoAoQsBQgASgCuAohAiAAQdgEaiABKALUCiABKAL4ChDXCiAAQdgBaiABEJ0O\ +IABCADcD6AUgAEKAgICAwAA3A+AFIABCBDcD2AUgACACQQJGQR90NgLUBSAAQQI2AsgBC5kBAQJ/IA\ +EoApQNKAK8AiICIAIoAgAiA0EBajYCAAJAIANBf0oNAAALIAAgAhCKECAAQegEaiABKAKgChCwFCAB\ +KAK4CiECIABB2ARqIAEoAtQKIAEoAvgKENcKIABB2AFqIAEQnQ4gAEIANwPoBSAAQoCAgIDAADcD4A\ +UgAEIENwPYBSAAIAJBAkZBH3Q2AtQFIABBAjYCyAELmQEBAn8gASgClA0oArwCIgIgAigCACIDQQFq\ +NgIAAkAgA0F/Sg0AAAsgACACEIoQIABB6ARqIAEoAqAKELAUIAEoArgKIQIgAEHYBGogASgC1AogAS\ +gC+AoQ1wogAEHYAWogARCdDiAAQgA3A+gFIABCgICAgMAANwPgBSAAQgQ3A9gFIAAgAkECRkEfdDYC\ +1AUgAEECNgLIAQuRAQECfyMAQRBrIgIkACAAKAIAIQAgASgCFEGcockAQQ8gASgCGCgCDBEJACEDIA\ +JBADoACSACIAM6AAggAiABNgIEIAIgAC0AADoADiACQQRqQfTzyABBBSACQQ5qQbMCEIsEIQEgAiAA\ +LQABOgAPIAFB+fPIAEEDIAJBD2pBswIQiwQQ/gohASACQRBqJAAgAQuGAQECfyMAQRBrIgMkACADQQ\ +hqIAAoAgQgACgCCCAAKAIAKAJQQazsyAAQ1w0CQCADKAIIIAMoAgwgASACEPUUIgRFDQACQAJAIAJB\ +EEkNACABIAIQqQIhAgwBCyABIAIQtAchAgsDQCACRQ0BIAAQ7AUaIAJBf2ohAgwACwsgA0EQaiQAIA\ +QLfgEEfyABKAIUIgUgASgCECIGIAUgBksbIQYgASgCDCEHAkACQANAIAYgBUYNAQJAIAcgBWotAAAi\ +CEFQakH/AXFBCUsNACABIAVBAWoiBTYCFAwBCwsgCEEgckHlAEYNAQsgACABIAIgAyAEEJAGDwsgAC\ +ABIAIgAyAEEK4DC24BBn4gACADQv////8PgyIFIAFC/////w+DIgZ+IgcgA0IgiCIIIAZ+IgYgBSAB\ +QiCIIgl+fCIFQiCGfCIKNwMAIAAgCCAJfiAFIAZUrUIghiAFQiCIhHwgCiAHVK18IAQgAX4gAyACfn\ +x8NwMIC3sBAX8jAEHAAGsiBSQAIAUgATYCDCAFIAA2AgggBSADNgIUIAUgAjYCECAFQQI2AhwgBUGs\ +1soANgIYIAVCAjcCJCAFQQytQiCGIAVBEGqthDcDOCAFQQ2tQiCGIAVBCGqthDcDMCAFIAVBMGo2Ai\ +AgBUEYaiAEEKYOAAuKAQICfwF+IwBBwABrIgIkAAJAAkACQCABKAIEIgMgASgCDEYNACABIANBwABq\ +NgIEIAMoAjQiAUGAgICAeEcNAQsgAEGAgICAeDYCAAwBCyADKQM4IQQgAkEQaiADQTAQkxoaIAAgBD\ +cCBCAAIAE2AgAgAEEMaiACQQxqQTQQkxoaCyACQcAAaiQAC4ABAQR/IwBBIGsiAyQAIAEvATIhBCAD\ +QQA6ABwgAyAENgIYIANBADYCFCABQTRqIQUCQANAIANBCGogA0EUahDiDCADKAIIRQ0BIAUgAygCDC\ +IEQQJ0aigCACIGIAQ7ATAgBiABNgIADAALCyAAIAI2AgQgACABNgIAIANBIGokAAuAAQEDfyMAQRBr\ +IgIkAAJAIAEoAgQgASgCAGsiAyAAKAIAIAAoAggiBGtNDQAgACAEIAMQtxAgACgCCCEECyAAKAIEIQ\ +MCQANAIAJBCGogARDWECACLQAIRQ0BIAMgBGogAi0ACToAACAEQQFqIQQMAAsLIAAgBDYCCCACQRBq\ +JAALiwEBAX8jAEEwayIDJAAgAyACNgIMIAMgATYCCAJAAkAgASACQS8QzxANACADQQI2AhQgA0H0mc\ +cANgIQIANCATcCHCADQQc2AiwgAyADQShqNgIYIAMgA0EIajYCKCAAIANBEGoQ5A0MAQsgACACNgII\ +IAAgATYCBCAAQYCAgIB4NgIACyADQTBqJAALggEBBH8jAEEQayICJAAgAiABEO4KAkACQCACKAIEIg\ +NBAkcNACAAQQA2AgAMAQsgAigCDCEBIAIoAgghBCACKAIAIQUCQAJAIAMNAEEAIAEgBBshAyABQQAg\ +BBshAQwBCyAEIQMLIAAgATYCCCAAIAM2AgQgACAFNgIACyACQRBqJAALgwEBBH8jAEEgayIDJAAgAS\ +8BtgEhBCADQQA6ABwgAyAENgIYIANBADYCFCABQbgBaiEFAkADQCADQQhqIANBFGoQ4gwgAygCCEUN\ +ASAFIAMoAgwiBEECdGooAgAiBiAEOwG0ASAGIAE2AgAMAAsLIAAgAjYCBCAAIAE2AgAgA0EgaiQAC4\ +QBAQR/IwBBIGsiAyQAIAEvAZIDIQQgA0EAOgAcIAMgBDYCGCADQQA2AhQgAUGUA2ohBQJAA0AgA0EI\ +aiADQRRqEOIMIAMoAghFDQEgBSADKAIMIgRBAnRqKAIAIgYgBDsBkAMgBiABNgKIAgwACwsgACACNg\ +IEIAAgATYCACADQSBqJAALgwEBBH8jAEEgayIDJAAgAS8BjgIhBCADQQA6ABwgAyAENgIYIANBADYC\ +FCABQZACaiEFAkADQCADQQhqIANBFGoQ4gwgAygCCEUNASAFIAMoAgwiBEECdGooAgAiBiAEOwGMAi\ +AGIAE2AgAMAAsLIAAgAjYCBCAAIAE2AgAgA0EgaiQAC4QBAQR/IwBBIGsiAyQAIAEvAc4HIQQgA0EA\ +OgAcIAMgBDYCGCADQQA2AhQgAUHQB2ohBQJAA0AgA0EIaiADQRRqEOIMIAMoAghFDQEgBSADKAIMIg\ +RBAnRqKAIAIgYgBDsBzAcgBiABNgLIBwwACwsgACACNgIEIAAgATYCACADQSBqJAALhAEBBH8jAEEg\ +ayIDJAAgAS8B1gkhBCADQQA6ABwgAyAENgIYIANBADYCFCABQdgJaiEFAkADQCADQQhqIANBFGoQ4g\ +wgAygCCEUNASAFIAMoAgwiBEECdGooAgAiBiAEOwHUCSAGIAE2AtAJDAALCyAAIAI2AgQgACABNgIA\ +IANBIGokAAt6AQR/IwBBEGsiAiQAIAJBBGogARDaCgJAAkAgAigCBCIDRQ0AIAIoAgwhBCADIAIoAg\ +gQ9hgiBQ0BAAsQjBIACyAAQQA2AgwgACABQX9qIgM2AgQgACAFIARqNgIAIAAgAyABQQN2QQdsIANB\ +CEkbNgIIIAJBEGokAAuOAQEEfwJAAkACQCAAKAIAIgAoAgAOAgABAgsgACgCCCIBRQ0BIAAoAgRBAS\ +ABEPMWDAELIAAtAARBA0cNACAAKAIIIgEoAgAhAgJAIAEoAgQiAygCACIERQ0AIAIgBBECAAsCQCAD\ +KAIEIgRFDQAgAiADKAIIIAQQ8xYLIAFBDEEEEJIMCyAAQRRBBBCSDAt+AQJ/IwBBEGsiBCQAAkAgA0\ +EFTw0AQQAhBQJAA0AgBUEIRg0BIARBCGogBWpBADsBACAFQQJqIQUMAAsLIARBCGogAiADQQF0EJMa\ +GiAAIAE2AgggACADOgAMIAAgBCkDCDcCACAEQRBqJAAPC0HIqMgAQRpB5KjIABDtDwALkQEBA39BAC\ +ECAkACQAJAAkACQCABKAIAIgNBemoOAgIBAAsgAw0DIAEoAgQhBEEBIQIMAwsgASgCDEEBRg0BDAIL\ +IAEoAgxBAUcNASABKAIIQQFBAEGoicgAELwUKAIAIQRBASECDAELIAEoAghBAUEAQbiJyAAQvBQoAg\ +AhBEEBIQILIAAgBDYCBCAAIAI2AgALggEBA38jAEEQayICJAAgASgCACEDQQAhBCABQQA2AgAgASgC\ +BCEBIAMQ8RcgAiABNgIIAkACQCABEN0VQf8BcSIDQQJGDQAgACADQQBHOgABDAELIAAgAkEIaiACQQ\ +9qQdjSwgAQvAM2AgRBASEECyAAIAQ6AAAgARDwFyACQRBqJAALhgEBAX8gAEEAOgApIABBADoAICAA\ +Qv////8PNwIYIABCBDcCECAAQgA3AgggAEKAgICAwAA3AgAgACABLwAAOwEkIABBAiABLQAEIgJBAE\ +cgAkECRhs6ACggAEECIAEtAAMiAkEARyACQQJGGzoAJyAAQQIgAS0AAiIBQQBHIAFBAkYbOgAmC3cB\ +AX8jAEEgayIDJAAgAyACNgIEAkACQCAAKAIQIAJHDQBBACEAA0AgAkUNAiACQX9qIQIgAEEBdCABLQ\ +AAaiEAIAFBAWohAQwACwsgA0EANgIIQQAgAEEQaiADQQRqIANBCGpB7KnAABDLEQALIANBIGokACAA\ +C6ABAQF/IwBBwABrIgMkACADQThqQgA3AwAgA0IANwMwIAMgATcDKCADIAFC88rRy6eM2bL0AIU3Ax\ +ggAyABQu3ekfOWzNy35ACFNwMQIAMgADcDICADIABC4eSV89bs2bzsAIU3AwggAyAAQvXKzYPXrNu3\ +8wCFNwMAIAJBHGooAgAgAkEgaigCACADELcZIAMQnAQhASADQcAAaiQAIAGnC4QBAQJ/IwBBMGsiAS\ +QAAkACQCAAKAIAIgINAEEAIQBBACECDAELIAEgAjYCJCABQQA2AiAgASACNgIUIAFBADYCECABIAAo\ +AgQiAjYCKCABIAI2AhggACgCCCECQQEhAAsgASACNgIsIAEgADYCHCABIAA2AgwgAUEMahDnDCABQT\ +BqJAALiAEBAX8gASAALQAoENETIAAoAiAgACgCJCABEN8ZIAEgACgCACICENETAkACQCACDQAgACgC\ +CCECIAEgACgCDCIAENETIABB8ABsIQADQCAARQ0CIAIgARDGDSACQThqIAEQxg0gAEGQf2ohACACQf\ +AAaiECDAALCyAAKAIIIAAoAgwgARDfGQsLhAEBAn8jAEEwayIBJAACQAJAIAAoAgAiAg0AQQAhAEEA\ +IQIMAQsgASACNgIkIAFBADYCICABIAI2AhQgAUEANgIQIAEgACgCBCICNgIoIAEgAjYCGCAAKAIIIQ\ +JBASEACyABIAI2AiwgASAANgIcIAEgADYCDCABQQxqEJwMIAFBMGokAAuEAQECfyMAQTBrIgEkAAJA\ +AkAgACgCACICDQBBACEAQQAhAgwBCyABIAI2AiQgAUEANgIgIAEgAjYCFCABQQA2AhAgASAAKAIEIg\ +I2AiggASACNgIYIAAoAgghAkEBIQALIAEgAjYCLCABIAA2AhwgASAANgIMIAFBDGoQhAwgAUEwaiQA\ +C4QBAQJ/IwBBMGsiASQAAkACQCAAKAIAIgINAEEAIQBBACECDAELIAEgAjYCJCABQQA2AiAgASACNg\ +IUIAFBADYCECABIAAoAgQiAjYCKCABIAI2AhggACgCCCECQQEhAAsgASACNgIsIAEgADYCHCABIAA2\ +AgwgAUEMahDHDSABQTBqJAALgAEBBn4gASkDCCECIAEpAwAhAyABKQMYIQQgASkDECEFIAEpAyghBi\ +ABKQMgIQcgAEEYaiABKAI0IAEoAjgQlgcgAEEkaiABKAJAIAEoAkQQlgcgAEEAOgAwIABCACAGIAdQ\ +GzcDECAAQgAgBCAFUBs3AwggAEIAIAIgA1AbNwMAC3wBBH8jAEEQayIBJAAgASAAKAIEIgI2AgggAS\ +ACIAAoAggiA2o2AgwgASABQQhqEIMGAkAgASgCAEUNAEF/IQICQCABKAIEIgRBgAFJDQBBfiECIARB\ +gBBJDQBBfUF8IARBgIAESRshAgsgACACIANqNgIICyABQRBqJAALewEDfyMAQSBrIgIkAAJAIAAoAg\ +BBgICAgHhGDQAgACgCCEEEdCEDIAAoAgQhAANAIANFDQECQCAAKAIIIgQgAU0NACAAQQA6AAwgAkEM\ +aiAAIAQgAWsQxQ8gAkEMahD2DQsgAEEQaiEAIANBcGohAwwACwsgAkEgaiQAC3MBAX8jAEEwayIEJA\ +AgBEEgaiABQgAgAEIAEKgKIARBEGogAkIAIABCABCoCiAEIARBIGpBCGopAwAiACAEKQMQfCIBIARB\ +EGpBCGopAwAgASAAVK18IANB/wBxQcAAcxCJDCAEKQMAIQAgBEEwaiQAIAALiQEBBH8CQAJAAkAgAC\ +gCAA4CAAECCyAAKAIIIgFFDQEgACgCBEEBIAEQ8xYMAQsgAC0ABEEDRw0AIAAoAggiASgCACECAkAg\ +ASgCBCIDKAIAIgRFDQAgAiAEEQIACwJAIAMoAgQiBEUNACACIAMoAgggBBDzFgsgAUEMQQQQkgwLIA\ +BBFEEEEJIMC3YCAX8BfgJAAkAgAa1CDH4iA0IgiKcNACADpyICQXhLDQAgAkEHakF4cSICIAFBCGpq\ +IgEgAkkNAQJAIAFB+P///wdLDQAgACACNgIIIAAgATYCBCAAQQg2AgAPCyAAQQA2AgAPCyAAQQA2Ag\ +APCyAAQQA2AgALfgIDfwF+IAAoAhAhASAAKAIIIQIgACkDACEEA38CQCAEUA0AIAAgBEJ/fCAEgzcD\ +ACABQQAgBHqnQQN2a0EMbGoPCyAAIAFBoH9qIgE2AhAgACACQQhqIgM2AgggACACKQMAQn+FQoCBgo\ +SIkKDAgH+DIgQ3AwAgAyECDAALC4QBAQJ/AkAgASgCFCICQf7///8HSw0AAkAgAiABQQxqIgMoAgBH\ +DQAgAxD5BgsgACACNgIEIABBAzYCACABIAJBAWo2AhQgASgCECACQQlsaiIAQgA3AAAgAEEIakEAOg\ +AADwsgAEL+////BzcDCCAAIAI2AgQgAEEANgIAIAAgAq03AxALfwIDfwF+IAAoAhAhASAAKAIIIQIg\ +ACkDACEEA38CQCAEUA0AIAAgBEJ/fCAEgzcDACABQQAgBHqnQQN2a0HUAGxqDwsgACABQeB6aiIBNg\ +IQIAAgAkEIaiIDNgIIIAAgAikDAEJ/hUKAgYKEiJCgwIB/gyIENwMAIAMhAgwACwuFAQECfyMAQRBr\ +IgIkACACIAEoAjgiAygCACADQQRqKAIAEMgUAkAgAigCACABQSRqIAEgAigCBCgCTBEJACIDRQ0AIA\ +IgAzYCDEH0pMMAQTIgAkEMakGUqsMAQYCmwwAQqQoACyAAIAEpAgA3AgAgAEEIaiABQQhqKQIANwIA\ +IAJBEGokAAuGAQECfyMAQSBrIgEkACABQQA2AhwgAUKAgICAEDcCFAJAIAAgAUEUakHggMMAEOUHRQ\ +0AQazE0wBBNyABQQhqQfiAwwBBsMXTABCpCgALIAFBCGpBCGogAUEUakEIaigCADYCACABIAEpAhQ3\ +AwggAUEIahCwASECIAAQ2Q4gAUEgaiQAIAILnwEBAX8jAEHAAGsiAyQAIANBOGpCADcDACADQgA3Az\ +AgAyABNwMoIAMgAULzytHLp4zZsvQAhTcDGCADIAFC7d6R85bM3LfkAIU3AxAgAyAANwMgIAMgAELh\ +5JXz1uzZvOwAhTcDCCADIABC9crNg9es27fzAIU3AwAgAigCBCACIAIoAgBBAkYbIAMQvQogAxCcBC\ +EBIANBwABqJAAgAQt+AgN/AX4gACgCECEBIAAoAgghAiAAKQMAIQQDfwJAIARQDQAgACAEQn98IASD\ +NwMAIAFBACAEeqdBA3ZrQThsag8LIAAgAUHAfGoiATYCECAAIAJBCGoiAzYCCCAAIAIpAwBCf4VCgI\ +GChIiQoMCAf4MiBDcDACADIQIMAAsLgwEBAX8jAEGAAWsiAyQAIAMgASACQQMQ0gECQAJAIAMoAgBB\ +gICAgHhHDQAgAEGAgICAeDYCAAwBCyADQcAAakEIaiADQQhqKAIANgIAIAMgAykDADcDQCADQcAAak\ +EQaiADQRBqQTAQkxoaIAAgA0HAAGpBwAAQkxoaCyADQYABaiQAC4oBACAAQgA3AwAgAEIANwM4IABB\ +AToAaCAAQQA2AmQgAEKAgICAwAA3AlwgAEIENwJUIABBADoAMCAAQgQ3AyggAEIANwMgIABBGGpCgI\ +CAgMAANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHAAGpCADcDACAAQcgAakIANwMAIABB0ABqQQA2\ +AgALfgIDfwF+IAAoAhAhASAAKAIIIQIgACkDACEEA38CQCAEUA0AIAAgBEJ/fCAEgzcDACABQQAgBH\ +qnQQN2a0EYbGoPCyAAIAFBwH5qIgE2AhAgACACQQhqIgM2AgggACACKQMAQn+FQoCBgoSIkKDAgH+D\ +IgQ3AwAgAyECDAALC4ABAQZ/IwBBEGsiAiQAIAJBBGogARC3GhCrCyACKAIIIQMCQCACKAIERQ0AIA\ +MgAigCDBCuGAALIAIoAgwhBBAfIgUQICIGECEhByAGEPAXIAcgASAEECIgBxDwFyAFEPAXIAAgARC3\ +GjYCCCAAIAQ2AgQgACADNgIAIAJBEGokAAt9AQR/QQAgAUEBaiICIAAoAghrIgMgAyACSxshAiAAQR\ +hqIQQDfwJAAkACQCACDQBBgIDEACEFIAAoAgggAU0NASAAKAIEIAFBAnRqKAIADwtBgIDEACEFIAQQ\ +qgciA0GAgMQARw0BCyAFDwsgACADEJESIAJBf2ohAgwACwuGAQECfwJAAkACQAJAAkACQAJAIAAoAg\ +AOBwECAwEEBQYACyAAQQRqEJgYCw8LIAAoAgQgACgCCBD1Fg8LIABBBGoQ/xMPCyAAQQxqEOYYDwsg\ +AEEEaiEBAkAgACgCDCICRQ0AIAAoAhAiAEUNACACQQEgABDzFgsgARDmGA8LIABBBGoQmBgLfgIDfw\ +F+IAAoAhAhASAAKAIIIQIgACkDACEEA38CQCAEUA0AIAAgBEJ/fCAEgzcDACABQQAgBHqnQQN2a0EM\ +bGoPCyAAIAFBoH9qIgE2AhAgACACQQhqIgM2AgggACACKQMAQn+FQoCBgoSIkKDAgH+DIgQ3AwAgAy\ +ECDAALC4EBAAJAAkACQAJAIAJFDQAgASAAOgAAIAJBAUYNASABIABBCHY6AAEgAkECTQ0CIAEgAEEQ\ +djoAAiACQQNHDQNBA0EDQZSwyAAQyAsAC0EAQQBB5K/IABDICwALQQFBAUH0r8gAEMgLAAtBAkECQY\ +SwyAAQyAsACyABIABBGHY6AAMLeAEDfyMAQRBrIgEkAAJAIAAoAgBBgICAgHhGDQAgACgCCCICQQJJ\ +DQAgACgCBCEDAkAgAkEVSQ0AIAMgAiABQQ9qEPoHDAELIAJBBHQhAkEQIQADQCACIABGDQEgAyADIA\ +BqEOUIIABBEGohAAwACwsgAUEQaiQAC4UBAQJ/IwBBIGsiAyQAQYCAgIB4IQQCQCABQQNGDQAgA0IA\ +NwIYIANCgICAgMAANwIQIANBEGogAhDbFiADQQhqIANBHGooAgA2AgAgAyADKQIUNwMAIAMoAhAhBA\ +sgACAENgIAIAAgAykDADcCBCAAQQxqIANBCGooAgA2AgAgA0EgaiQAC3sBAX8jAEEwayIGJAAgBiAD\ +NgIoIAYgAjYCJEEAIQIgBkEAOwEsIAYgAzYCICAGQQA2AhwgBkEIaiAGQRxqIAQgBRCaByAGQRxqIA\ +EgBkEIahCOCAJAIAYoAhxFDQAgACAGKQIgNwIEQQEhAgsgACACNgIAIAZBMGokAAt7AQF/IwBBMGsi\ +BiQAIAZBATsBLCAGIAM2AiggBiACNgIkIAYgAzYCIEEAIQMgBkEANgIcIAZBCGogBkEcaiAEIAUQmg\ +cgBkEcaiABIAZBCGoQjggCQCAGKAIcRQ0AIAAgBikCIDcCBEEBIQMLIAAgAzYCACAGQTBqJAALgAEB\ +AX8CQAJAAkAgAUH/////A0sNACABQf////8DRg0BIAEgAUECdEEHakF4cSICakEIaiIBIAJJDQICQC\ +ABQfj///8HSw0AIAAgAjYCCCAAIAE2AgQgAEEINgIADwsgAEEANgIADwsgAEEANgIADwsgAEEANgIA\ +DwsgAEEANgIAC4MBAQJ/IwBBIGsiAiQAIAIgATYCDCACQRBqIAEQkBMCQAJAIAIoAhBBgICAgHhGDQ\ +AgACACKQIQNwIAIABBCGogAkEQakEIaigCADYCAAwBCyACQQxqIAJBH2pBiIHAABC8AyEDIABBgICA\ +gHg2AgAgACADNgIECyABEPAXIAJBIGokAAuDAQECfyMAQSBrIgIkACACIAE2AgwgAkEQaiABEJATAk\ +ACQCACKAIQQYCAgIB4Rg0AIAAgAikCEDcCACAAQQhqIAJBEGpBCGooAgA2AgAMAQsgAkEMaiACQR9q\ +QcjSwgAQvAMhAyAAQYCAgIB4NgIAIAAgAzYCBAsgARDwFyACQSBqJAALggEBBH8jAEEQayICJABBAC\ +EDQQAhBEEAIQUCQAJAAkACQCABKAIAQYCAgIB4ag4CAQIACyACQQhqIAEQpQ4gAigCDCEEIAIoAggh\ +BQsgACAFNgIEQQghAQwBCyABKAIEIQRBASEDQQQhAQsgACABaiAENgIAIAAgAzYCACACQRBqJAALfg\ +EBfyMAQcAAayIDJAAgAyACNgIUIAMgATYCECADIAA2AgwgA0E8akECNgIAIANBAjYCHCADQdSGwwA2\ +AhggA0ICNwIkIANBBDYCNCADIANBMGo2AiAgAyADQRBqNgI4IAMgA0EMajYCMCADQRhqEOAKIQIgA0\ +HAAGokACACC3QBAn8jAEEQayIDJAAgASAAKAIIIgRrIQEgACgCBCAEaiEEA38CQAJAIAFFDQAgA0EI\ +aiACENYQIAMtAAgNAQsgA0EQaiQAIAFFDwsgBCADLQAJOgAAIAAgACgCCEEBajYCCCABQX9qIQEgBE\ +EBaiEEDAALC38BAn8jAEEQayIBJAAgACgCDCECAkACQAJAAkACQCAAKAIEDgIAAQILIAINAUEBIQBB\ +ACECDAILIAINACAAKAIAIgAoAgQhAiAAKAIAIQAMAQsgAUEEaiAAEOwDDAELIAFBBGogACACEMwMCy\ +ABQQRqELABIQAgAUEQaiQAIAALdQECfyMAQRBrIgUkACAFQQhqIAIgAyAEIAIoAgARCwAgBSgCDCEC\ +IAUoAgghAyABIAEoAgBBAWoiBkF/IAYbNgIAIAFBfyABKAIEIgYgAiAEIAMbaiIEIAQgBkkbNgIEIA\ +AgAjYCBCAAIAM2AgAgBUEQaiQAC38BAn8CQCAAKAIIIgINACAAIAEQtwsiAykCADcCDCAAQRRqIANB\ +CGooAgA2AgALIAAgARC3CyIDKQIMNwIYIABBIGogA0EUaigCADYCAAJAIAIgACgCAEcNACAAEOYGCy\ +AAKAIEIAJB2ABsaiABQdgAEJMaGiAAIAJBAWo2AggLeQECf0EAIQICQAJAAkACQAJAIAAoAgAiAyAB\ +KAIARw0AQQEhAgJAIANBc2oOBQIDAQEEAAsgA0EXRg0ECyACDwsgAEEEaiABQQRqEIcUDwsgAEEEai\ +ABQQRqEIcUDwsgAEEEaiABQQRqEIcUDwsgACgCBCABKAIERgtzAQR/AkACQCAAKAIIIgENAAJAIAAo\ +AgAiASAAKAIERw0AQQAPCyABQRBqIQIMAQsgAEEANgIIIAAoAgAiAiABQQR0aiIDQQAgACgCBCIEIA\ +JrQQR2IAFLIgIbIQEgA0EQaiAEIAIbIQILIAAgAjYCACABC3oBAn8gAqchA0EIIQQCQANAIAAgAyAB\ +cSIDaikAAEKAgYKEiJCgwIB/gyICQgBSDQEgBCADaiEDIARBCGohBAwACwsCQCAAIAJ6p0EDdiADai\ +ABcSIEaiwAAEEASA0AIAApAwBCgIGChIiQoMCAf4N6p0EDdiEECyAEC3cBAn9BACECAkAgAUECSQ0A\ +IAAtAABB3wFxQb9/akEZSw0AAkAgAC0AASIDQfwARg0AIANBOkcNAQtBASECIAFBAkYNAEEAIQIgAC\ +0AAkFdaiIBQf8BcUE5Sw0AQoGggICBgICAAiABrUL/AYOIp0EBcSECCyACC3sBA38jAEEQayICJAAC\ +QAJAAkAgAUGAgIAQSQ0AIABBADYCBAwBCyACQQhqQQggAUEGdCIDEOYTAkAgAigCCCIERQ0AIAAgBD\ +YCCCAAIAE2AgRBACEBDAILIAAgAzYCCCAAQQg2AgQLQQEhAQsgACABNgIAIAJBEGokAAt8AQN/IwBB\ +EGsiAiQAAkACQCABRQ0AIAJBCGpBCCABQQV0IgMQ5hMCQCACKAIIIgRFDQAgACAENgIIIAAgATYCBE\ +EAIQEMAgsgACADNgIIIABBCDYCBEEBIQEMAQsgAEKAgICAgAE3AgRBACEBCyAAIAE2AgAgAkEQaiQA\ +C3wBA38jAEEQayICJAACQAJAIAFFDQAgAkEIakEIIAFBBHQiAxDmEwJAIAIoAggiBEUNACAAIAQ2Ag\ +ggACABNgIEQQAhAQwCCyAAIAM2AgggAEEINgIEQQEhAQwBCyAAQoCAgICAATcCBEEAIQELIAAgATYC\ +ACACQRBqJAALewEDfyMAQRBrIgIkAAJAAkACQCABQYCAgBBJDQAgAEEANgIEDAELIAJBCGpBCCABQQ\ +Z0IgMQoxUCQCACKAIIIgRFDQAgACAENgIIIAAgATYCBEEAIQEMAgsgACADNgIIIABBCDYCBAtBASEB\ +CyAAIAE2AgAgAkEQaiQAC3wBBX8CQCABKAIAIgIgASgCCCIDTQ0AIAJBAnQhAiABKAIEIQQCQAJAIA\ +MNAEEEIQUgBEEEIAIQ8xYMAQsgBEEEIAJBBCADQQJ0IgYQjQsiBQ0AQQQgBhCuGAALIAEgAzYCACAB\ +IAU2AgQLIAAgAzYCBCAAIAEoAgQ2AgALegEBfyMAQSBrIgIkACAAKAIAIQAgAiABKAIUQQFBACABKA\ +IYKAIMEQkAOgAUIAIgATYCECACQQE6ABUgAkEANgIMIAIgADYCGCACIABBBGo2AhwgAkEMaiACQRhq\ +QToQmQUgAkEcakE7EJkFEKIJIQEgAkEgaiQAIAELfgEDfyMAQRBrIgYkACABLQACIQcgAS0AASEIIA\ +EtAAAhASAGQQhqIAIgAyAEIAVBsLDAABCQDyAGIAEgCCAHIAYoAgggBigCDBDzAgJAAkAgBigCAA0A\ +QQAhAQwBCyAAIAYoAgQgBGo2AgRBAiEBCyAAIAE2AgAgBkEQaiQAC3MBA38jAEEQayICJAAgAkEEai\ +ABEK8DAkACQCACKAIEIgENACAAQQI2AgQMAQsgACABIAIoAgwiA0EMbGoiBEEwaikCADcCBCAAQQxq\ +IARBOGooAgA2AgAgACABIANBAnRqQQRqKAIANgIACyACQRBqJAALiQEBAX8jAEEQayICJAACQAJAIA\ +EoAhBBgICAgHhHDQAgAEGAgICAeDYCACABEPsQDAELIAJBBGogARDQAgJAIAIoAgRBgICAgHhGDQAg\ +ACACKQIENwIAIABBCGogAkEEakEIaigCADYCAAwBCyAAIAIoAgg2AgQgAEGBgICAeDYCAAsgAkEQai\ +QAC4kBAQF/IwBBEGsiAiQAAkACQCABKAIQQYCAgIB4Rw0AIABBgICAgHg2AgAgARD7EAwBCyACQQRq\ +IAEQlgwCQCACKAIEQYCAgIB4Rg0AIAAgAikCBDcCACAAQQhqIAJBBGpBCGooAgA2AgAMAQsgACACKA\ +IINgIEIABBgYCAgHg2AgALIAJBEGokAAt6AQJ/IwBBoAFrIgMkAEEKIQQCQCACKAIUIAIoAhggASgC\ +FCABKAIYEPUUDQAgA0HYAGogARCbCyAAQcwAaiACEJsLIANBEGogA0HYAGpByAAQkxoaIABBAWogA0\ +ENakHLABCTGhpBBCEECyAAIAQ6AAAgA0GgAWokAAuHAQIBfwJ+IwBBEGsiASQAIAEQsxIgASkDACEC\ +IAEpAwghAyAAQThqEIAIIABBADYCrAEgAEIANwOgASAAQQA2ApgBIABBADYCNCAAQgA3AyggAEEANg\ +IgIAAgAzcDGCAAIAI3AxAgAEEIakEAKQPwxUo3AwAgAEEAKQPoxUo3AwAgAUEQaiQAC4MBAQV/QYGA\ +gIB4IQMCQAJAIAEoAgAiBA0ADAELIARBFGwhBSABKAIEIQYCQAJAIAINAEEEIQcgBkEEIAUQ8xYMAQ\ +tBBCEDIAZBBCAFQQQgAkEUbCIEEJMLIgdFDQELIAEgAjYCACABIAc2AgRBgYCAgHghAwsgACAENgIE\ +IAAgAzYCAAuDAQEFf0GBgICAeCEDAkACQCABKAIAIgQNAAwBCyAEQQlsIQUgASgCBCEGAkACQCACDQ\ +BBASEHIAZBASAFEPMWDAELQQEhAyAGQQEgBUEBIAJBCWwiBBCTCyIHRQ0BCyABIAI2AgAgASAHNgIE\ +QYGAgIB4IQMLIAAgBDYCBCAAIAM2AgALgwEBBX9BgYCAgHghAwJAAkAgASgCACIEDQAMAQsgBEEDdC\ +EFIAEoAgQhBgJAAkAgAg0AQQQhByAGQQQgBRDzFgwBC0EEIQMgBkEEIAVBBCACQQN0IgQQkwsiB0UN\ +AQsgASACNgIAIAEgBzYCBEGBgICAeCEDCyAAIAQ2AgQgACADNgIAC34BA38CQAJAAkAgASgCBCICDQ\ +BBACEBDAELIAEoAgAiAygCFCIEIAJNDQEgACADKAIQIAJBCWxqIgIoAAA2AAEgASACKAAFIgM2AgQg\ +ACADNgAGIABBBWogAkEEai0AADoAAEEBIQELIAAgAToAAA8LIAIgBEHoxMcAEMgLAAt8AQF/IwBBIG\ +siAiQAIAAoAgAhACACIAEoAhRBAUEAIAEoAhgoAgwRCQA6ABQgAiABNgIQIAJBAToAFSACQQA2Agwg\ +AiAANgIYIAIgAEEEajYCHCACQQxqIAJBGGpB5gEQmQUgAkEcakHmARCZBRCiCSEBIAJBIGokACABC3\ +wBBX8CQCABKAIAIgIgASgCCCIDTQ0AIAJBAnQhAiABKAIEIQQCQAJAIAMNAEEEIQUgBEEEIAIQ8xYM\ +AQsgBEEEIAJBBCADQQJ0IgYQkwsiBQ0AQQQgBhCuGAALIAEgAzYCACABIAU2AgQLIAAgAzYCBCAAIA\ +EoAgQ2AgALcgECfyACQQN0IQQgAUEFaiEBIANB/wFxIQMCQANAIAEhAkEAIQECQCAEDQAMAgsgAkF/\ +ai0AACADSw0BIARBeGohBCACQQhqIQEgAi0AACADSQ0ACyACQXtqKAIAIQVBASEBCyAAIAU2AgQgAC\ +ABNgIAC28BAX8gACgCDCgCEEEDdCAAKAIIQQxsaiAAKAIYIgEoAhBBDGwgASgCHEECdGogASgCJGpq\ +IAAoAiRBACAAKAIcG2ogACgCREEMbGogACgCVGogACgCUCAAKAI4akECdGogACgCYEEAIAAoAlgbag\ +uFAQEBfwJAAkACQAJAIAEoAgAOBAMAAQIDCyAAQQQ2AgAPCyAAQQM2AgAgACABKAIMNgIIIAAgASgC\ +BDYCBA8LIABBBDYCAA8LAkAgASgCDCICRQ0AIABBADYCACAAIAJBf2o2AgwgACABKAIIIgE2AgQgAC\ +ABQdgAajYCCA8LIABBBDYCAAuAAQEDfwJAAkAgACgCACIBQYCAgIB4Rg0AIAFFDQEgACgCBCABQQEQ\ +kgwPCyAALQAEQQNHDQAgACgCCCIAKAIAIQICQCAAQQRqKAIAIgEoAgAiA0UNACACIAMRAgALAkAgAS\ +gCBCIDRQ0AIAIgAyABKAIIEJIMCyAAQQxBBBCSDAsLdQACQCACRQ0AAkAgAw0AQQAtANTqUxogAiAB\ +EN4VIQEMAQsCQAJAIAFBCUkNACABIAIQ1wMhAQwBCyACEEkhAQsCQCABDQBBACEBDAELIAFBfGotAA\ +BBA3FFDQAgAUEAIAIQkBoaCyAAIAI2AgQgACABNgIAC4MBAQJ/IAAtAAQhAQJAIAAtAAUNACABQf8B\ +cUEARw8LQQEhAgJAIAFB/wFxDQACQCAAKAIAIgEtABxBBHENACAAIAEoAhRBy7bJAEECIAEoAhgoAg\ +wRCQAiAToABCABDwsgASgCFEGPtsoAQQEgASgCGCgCDBEJACECCyAAIAI6AAQgAgt3AQJ/IwBBkAJr\ +IgEkACABQQxqQQBBgAIQkBoaIAFB/wE6AI4CIAFBADsBjAIDQCABQQhqIAFBjAJqEOUMAkAgAS0ACA\ +0AIAAgAUEMakGAAhCTGhogAUGQAmokAA8LIAFBDGogAS0ACSICQf8BcWogAjoAAAwACwt5AQF/AkAg\ +AS8BtgEiBUELSQ0AQcSDwwBBIEHkg8MAEO0PAAsgASAFQQFqOwG2ASAAIAU2AgggACACNgIEIAAgAT\ +YCACABIAVBAnRqQQRqIAM2AgAgASAFQQxsaiIBQTBqIAQpAgA3AgAgAUE4aiAEQQhqKAIANgIAC3oB\ +AX8jAEGAAWsiBCQAIARBCGogASACIAMQ0gECQAJAIAQoAggiA0GAgICAeEcNACAAQYWAgIB4NgIQDA\ +ELIAQoAgwhAiAEQcgAaiAEQQhqQQhqQTgQkxoaIAAgBEHIAGpBCGpBMBCTGhogAyACEPwWCyAEQYAB\ +aiQAC4cBAQJ/QejT0wAhAgJAAkACQAJAAkAgAS0AACIDQXtqQQAgA0F6akH/AXFBBEkbQf8BcSIDDg\ +UABAECAwALIAEoAhghAyABKAIUIQIMAwtB6tHTACECQQEhAwwCC0HA0dMAIQJBAiEDDAELIAEoAggh\ +AyABKAIEIQILIAAgAzYCBCAAIAI2AgALegEBfyMAQcAAayIBJAAgAUEEakGEmsMAQQEQxAwgAUEoak\ +GFmsMAQQEQxAwgAUE0akGksMkAQQEQxAwgAUEgaiABQThqKQIANwIAIAFBGGogAUEwaikCADcCACAB\ +IAEpAig3AhAgACABQQRqQSQQkxoaIAFBwABqJAALeQECfwJAIAAoAggiBCAAKAIAIgVHDQAgAEEBEI\ +4KIAAoAgAhBSAAKAIIIQQLAkAgBCAFRw0AIAAQlxALIAAoAgQgBEEGdGogA0EwEJMaIgUgATYCMCAA\ +IARBAWo2AgggBSACKQIANwI0IAVBPGogAkEIaigCADYCAAt3AQJ/IwBBkAJrIgEkACABQQxqQQBBgA\ +IQkBoaIAFB/wE6AI4CIAFBADsBjAIDQCABQQhqIAFBjAJqEOUMAkAgAS0ACA0AIAAgAUEMakGAAhCT\ +GhogAUGQAmokAA8LIAFBDGogAS0ACSICQf8BcWogAjoAAAwACwt7AQF/IwBBMGsiASQAIAEgADYCDA\ +JAIAAtAABBAkkNACABQQE2AhQgAUG08McANgIQIAFCATcCHCABQYsCNgIsIAEgAUEoajYCGCABIAFB\ +DGo2AiggAUEQakGc8ccAEKYOAAsgACgCBCEAIAFBDGoQmxkgAUEwaiQAIAALawECf0EAIQQCQCABIA\ +NHDQAgAUEBaiEBA0AgAUF/aiIBRSEEIAFFDQEgAC0AACACLQAARw0BIAJBAWohAyAAQQFqIQUgAEEC\ +aiEAIAJBAmohAiAFLQAAQf8BcSADLQAAQf8BcUYNAAsLIAQLcgAgAEEcaiABIAIQxAwgAEEYaiAEQR\ +hqKAIANgIAIABBEGogBEEQaikCADcCACAAQQhqIARBCGopAgA3AgAgACAEKQIANwIAIAAgAykCADcC\ +KCAAQTBqIANBCGopAgA3AgAgAEE4aiADQRBqKQIANwIAC3sBAn8CQAJAIAAoAgBBgICAgHhHDQAgAS\ +gCBCECDAELAkAgACgCCCICRQ0AIAJBBHQgACgCBGpBcGoiAygCBCADKAIIIAEoAgQiAiABKAIIEPEU\ +RQ0AIAMtAAxBAEcgAS0ADEVzDQELIAAgARDwDg8LIAEoAgAgAhD8FguCAQEBfyMAQSBrIgIkAAJAAk\ +AgACgCAEEBRw0AIAEoAhRBlI7KAEEVIAEoAhgoAgwRCQAhAQwBCyACQQI2AgQgAkHAjsoANgIAIAJC\ +ATcCDCACQQQ2AhwgAiAANgIYIAIgAkEYajYCCCABKAIUIAEoAhggAhCEFyEBCyACQSBqJAAgAQuCAQ\ +EBfyMAQSBrIgIkAAJAAkAgACgCAEEBRw0AIAEoAhRB0I7KAEEQIAEoAhgoAgwRCQAhAQwBCyACQQI2\ +AgQgAkHwjsoANgIAIAJCATcCDCACQQQ2AhwgAiAANgIYIAIgAkEYajYCCCABKAIUIAEoAhggAhCEFy\ +EBCyACQSBqJAAgAQt0AQJ/IwBBIGsiASQAIAFBCGoQiBZBKBDTESICQYC6wAA2AgAgAiABKQIINwIE\ +IAJBDGogAUEIakEIaikCADcCACACQRRqIAFBGGopAgA3AgAgAiAAKQIANwIcIAJBJGogAEEIaigCAD\ +YCACABQSBqJAAgAgtwAQF/IwBBEGsiBSQAAkACQCAERQ0AAkACQCABIANGDQAgBUEIaiADIAQQ+hQg\ +BSgCCCIDDQFBACEDDAMLIAAgAiABIAQQ9wEhAwwCCyADIAAgBBCTGhoLIAJFDQAgACACIAEQkgwLIA\ +VBEGokACADC4gBAQJ/IwBBEGsiAiQAIAAoAgAhACABKAIUQYjSxwBBCCABKAIYKAIMEQkAIQMgAkEA\ +OgANIAIgAzoADCACIAE2AgggAkEIakHgs8cAQQRB2LPHAEEuEIsEQZfSygBBBEH8s8cAQS4QiwRBmN\ +LHAEEJIABBKGpBPhCLBBD+CiEBIAJBEGokACABC3IBBH8jAEEQayICJAACQAJAIAENAEEAIQNBASEE\ +DAELQQAhBQJAIAFBAEgNAEEBIQUgAkEIakEBIAFBARD9CiABIQMgAigCCCIEDQELIAUgARCuGAALIA\ +AgATYCCCAAIAQ2AgQgACADNgIAIAJBEGokAAt2AQJ/IwBBEGsiAiQAAkACQCABQYABSQ0AIAJBADYC\ +DCACIAEgAkEMahCRBiAAIAIoAgAgAigCBBCvDwwBCwJAIAAoAggiAyAAKAIARw0AIAAQ6Q8LIAAgA0\ +EBajYCCCAAKAIEIANqIAE6AAALIAJBEGokAEEAC4EBAQN/AkACQCABRQ0AAkACQCABQYCAgIABSQ0A\ +IABBADYCBAwBC0EAIQJBAC0A1OpTGgJAIAFBA3QiAxBJIgRFDQAgACAENgIIIAAgATYCBAwDCyAAIA\ +M2AgggAEEENgIEC0EBIQIMAQsgAEKAgICAwAA3AgRBACECCyAAIAI2AgALeQEBfwJAAkACQAJAIAEo\ +AgBBfmoiAkECIAJBBEkbDgQAAQIDAAsgAEEEaiABKAIIIAEoAgwQvxkgAEECNgIADwsgAEEEaiABKA\ +IIIAEoAgwQvxkgAEEDNgIADwsgACABEJsLDwsgAEEEaiABQQRqEM0WIABBBTYCAAtwAQF/IwBBEGsi\ +BSQAAkACQCAERQ0AAkACQCABIANGDQAgBUEIaiADIAQQ5hMgBSgCCCIDDQFBACEDDAMLIAAgAiABIA\ +QQ9wEhAwwCCyADIAAgBBCTGhoLIAJFDQAgACACIAEQkgwLIAVBEGokACADC4cBAQF/IwBBEGsiAiQA\ +AkACQAJAAkAgACgCACIAKAIADgMAAQIACyABKAIUQYjfyABBAiABKAIYKAIMEQkAIQEMAgsgASgCFE\ +GK38gAQQMgASgCGCgCDBEJACEBDAELIAIgAEEEajYCDCABQY3fyABBByACQQxqQTsQlAchAQsgAkEQ\ +aiQAIAELlgEBAX8jAEHAAGsiBCQAIARBOGpCADcDACAEQgA3AzAgBCABNwMoIAQgAULzytHLp4zZsv\ +QAhTcDGCAEIAFC7d6R85bM3LfkAIU3AxAgBCAANwMgIAQgAELh5JXz1uzZvOwAhTcDCCAEIABC9crN\ +g9es27fzAIU3AwAgAkEIaiADIAQQ5xIgBBCcBCEBIARBwABqJAAgAQuWAQEBfyMAQcAAayIEJAAgBE\ +E4akIANwMAIARCADcDMCAEIAE3AyggBCABQvPK0cunjNmy9ACFNwMYIAQgAULt3pHzlszct+QAhTcD\ +ECAEIAA3AyAgBCAAQuHklfPW7Nm87ACFNwMIIAQgAEL1ys2D16zbt/MAhTcDACACQQhqIAMgBBDoEi\ +AEEJwEIQEgBEHAAGokACABC20BAn9BACEEAkACQCABKAIQIAJLDQAMAQsgASgCDCACQQN0aiIBKAIE\ +IAEoAgAiAWtBAXYgA0kNAAJAIAMNAEEBIQQgAkEBdCEFDAELQQEhBCADQQF0IAFqQX5qIQULIAAgBT\ +YCBCAAIAQ2AgALgQEBBH8jAEEQayICJABBACEDAkAgASgCBCIEKAJ8IgVBgICAwABJDQACQCABENgI\ +RQ0AQQEhAwwBCyAEKAJ8IgVBgICAwABJDQAgAiAFrTcDCEGcxtMAQSsgAkEIakHAy8cAQfzkxwAQqQ\ +oACyAAIAU2AgQgACADNgIAIAJBEGokAAt5AQJ/AkAgACgCCCIBIAAoAgBHDQAgABDkBgsgACABQQFq\ +NgIIIAAoAgQgAUEMbGoiAkEANgIIIAJCgICAgMAANwIAAkAgACgCFCICIAAoAgxHDQAgAEEMahDWBg\ +sgACACQQFqNgIUIAAoAhAgAkECdGpBADYCACABC3YBAn8jAEEQayICJAACQAJAIAFBgAFJDQAgAkEA\ +NgIMIAIgASACQQxqEJEGIAAgAigCACACKAIEENEPDAELAkAgACgCCCIDIAAoAgBHDQAgABCEEAsgAC\ +ADQQFqNgIIIAAoAgQgA2ogAToAAAsgAkEQaiQAQQALfAAgAEEQaiABKAIUIAEoAhgQkQ0gACABKQI0\ +NwI0IABBPGogAUE8aikCADcCACAAQcQAaiABQcQAai0AADoAACAAIAEpAig3AiggACABKQIgNwIgIA\ +AgASgCMDYCMCAAIAEoAhw2AhwgACABKQIINwIIIAAgASkCADcCAAtsAQF/IwBBIGsiAiQAIAJBCGog\ +AUGkA2pBAEEAEJMEAkAgAigCCCIBQQNGDQAgACACKQIMNwIEIABBFGogAkEIakEUaigCADYCACAAQQ\ +xqIAJBCGpBDGopAgA3AgALIAAgATYCACACQSBqJAALZgEFfiAAIAApAxgiAUIQiSABIAApAwh8IgGF\ +IgIgACkDECIDIAApAwB8IgRCIIl8IgU3AwAgACACQhWJIAWFNwMYIAAgASADQg2JIASFIgJ8IgEgAk\ +IRiYU3AxAgACABQiCJNwMIC3QBAn8jAEEQayICJAACQAJAIAFBgAFJDQAgAkEANgIMIAIgASACQQxq\ +EJEGIAAgAigCACACKAIEEK8PDAELAkAgACgCCCIDIAAoAgBHDQAgABDpDwsgACADQQFqNgIIIAAoAg\ +QgA2ogAToAAAsgAkEQaiQAC5QBAQF/IwBBwABrIgQkACAEQThqQgA3AwAgBEIANwMwIAQgATcDKCAE\ +IAFC88rRy6eM2bL0AIU3AxggBCABQu3ekfOWzNy35ACFNwMQIAQgADcDICAEIABC4eSV89bs2bzsAI\ +U3AwggBCAAQvXKzYPXrNu38wCFNwMAIAIgAyAEENQZIAQQnAQhASAEQcAAaiQAIAGnC2QBAX8CQCAC\ +QQFqIgQgAU8NACAAIARBGGxqIAAgAkEYbGogAkF/cyABakEYbBCRGhoLIAAgAkEYbGoiAiADKQIANw\ +IAIAJBEGogA0EQaikCADcCACACQQhqIANBCGopAgA3AgALlAEBAX8jAEHAAGsiBCQAIARBOGpCADcD\ +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\ +saAAsAC3ABAn8jAEEQayIDJAAgA0EANgIMIANCgICAgBA3AgQCQCACRQ0AA0AgARDvFCIEQYCAxABG\ +DQEgA0EEaiAEEJ4LIAJBf2oiAg0ACwsgACADKQIENwIAIABBCGogA0EEakEIaigCADYCACADQRBqJA\ +ALbwEBfyMAQTBrIgMkACADIAI2AgQgAyABNgIAIANBLGpBAjYCACADQQI2AgwgA0HMxcoANgIIIANC\ +AjcCFCADQQM2AiQgAyAANgIgIAMgA0EgajYCECADIAM2AiggA0EIahD8ECECIANBMGokACACC2kCAX\ +8BfiMAQTBrIgMkACADIAA2AgAgAyABNgIEIANBAjYCDCADQZzbwAA2AgggA0ICNwIUIANBBK1CIIYi\ +BCADQQRqrYQ3AyggAyAEIAOthDcDICADIANBIGo2AhAgA0EIaiACEKYOAAtpAgF/AX4jAEEwayIDJA\ +AgAyABNgIEIAMgADYCACADQQI2AgwgA0GM1MAANgIIIANCAjcCFCADQQStQiCGIgQgA62ENwMoIAMg\ +BCADQQRqrYQ3AyAgAyADQSBqNgIQIANBCGogAhCmDgALagEBfwJAIAAoAggiAiAAKAIARw0AIAAQvQ\ +YLIAAgAkEBajYCCCAAKAIEIAJBBXRqIgAgASkDADcDACAAQQhqIAFBCGopAwA3AwAgAEEQaiABQRBq\ +KQMANwMAIABBGGogAUEYaikDADcDAAtqAQF/AkAgACgCCCICIAAoAgBHDQAgABC/BgsgACACQQFqNg\ +IIIAAoAgQgAkEFdGoiACABKQMANwMAIABBCGogAUEIaikDADcDACAAQRBqIAFBEGopAwA3AwAgAEEY\ +aiABQRhqKQMANwMAC2wBAX8CQCAAKAIEKAIAIAFBAnRrQXxqKAIAIgEgACgCACIAKAIIIgJJDQAgAS\ +ACQYiYygAQyAsACyAAKAIAIgJBBGooAgAgAkEIaigCACAAKAIEIAFBBnRqIgBBOGooAgAgAEE8aigC\ +ABD/GAtqAQF/AkAgACgCCCICIAAoAgBHDQAgABDPBgsgACACQQFqNgIIIAAoAgQgAkEcbGoiACABKQ\ +IANwIAIABBCGogAUEIaikCADcCACAAQRBqIAFBEGopAgA3AgAgAEEYaiABQRhqKAIANgIAC2kCAX8B\ +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\ +gCDCACa0HIAG4gA2ohAwwBCyABKAIMIAJrQcgAbiEDCyAAIAM2AgggAEKAgICAEDcCAAtxAQF/IwBB\ +kAFrIgIkACACIAFBCGoQtQICQCACKAIAQQJGDQAgAkHIAGogAkHIABCTGhpBnMbTAEErIAJByABqQd\ +jVwgBBoPLCABCpCgALIAAgAikCBDcCACAAQQhqIAJBDGooAgA2AgAgAkGQAWokAAtoAQF/IAEtAAAh\ +AiABQQs6AAACQCACQQtHDQAgACABQRxqEPsBDwsgACACOgAAIAAgASkAATcAASAAQRhqIAFBGGooAA\ +A2AAAgAEERaiABQRFqKQAANwAAIABBCWogAUEJaikAADcAAAt5AgJ/AX4jAEEQayIFJABBgICAgHgh\ +BgJAIAMgBCABIAIQ9RRFDQAgBUEIaiADIAQgAkGcl8MAENcNIAUpAwghByAFIAMgBCACQayXwwAQjA\ +4gACAFKQMANwIMIAAgBzcCBEGBgICAeCEGCyAAIAY2AgAgBUEQaiQAC2YCAn8CfgJAIAEtAAAiAiAB\ +QXhqIgMtAABPDQAgAq0hBCABNQIEIQUCQANAIANBCGogAykCADcCACADIABGDQEgAiADQXhqIgMtAA\ +BJDQALIANBCGohAAsgACAFQiCGIASENwIACwtuAgJ/AX4jAEEwayIBJAAgAUEANgIcIAFCgICAgBA3\ +AhQgAUEkaiABQRRqEKsUIAFBFGogAUEkahCuCCABQQhqIAEoAhgiAiABKAIcEIMPIAEpAwghAyABKA\ +IUIAIQ/BYgACADNwMAIAFBMGokAAtnAQF/IAAgAS0ADToADSAAIAEpAgA3AgAgACABLwEIOwEIIABB\ +AiABLQALIgJBAEcgAkECRhs6AAsgAEECIAEtAAoiAkEARyACQQJGGzoACiAAQQIgAS0ADCIBQQBHIA\ +FBAkYbOgAMC28BAX8CQAJAIAEoAgQiAyACTQ0AAkAgASgCACACaiICLQAADQAgAkEBOgAAIABBAToA\ +ASABIAEoAghBAWo2AghBACECDAILQQAhAiAAQQA6AAEMAQsgACADNgIIIAAgAjYCBEEBIQILIAAgAj\ +oAAAt0ACABQegEaiAAKAKgChC8EyABQdQFaiAAKAK4ChDfEyABQdgEaiAAKALUCiAAKAL4ChDgEyAB\ +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\ +ABLQAAQQNGDQBBACEBDAELIAJBCGogASgCBCIBKAIAIAEoAgQoAiQRBQAgAigCDCEDIAIoAgghAQsg\ +ACADNgIEIAAgATYCACACQRBqJAALYAECfyMAQRBrIgMkAAJAIAAoAggiBCACRg0AAkAgAUH/AXENAC\ +ADQQhqIAAoAgQgBCACQZTS0wAQ5xBBACEBIAMoAgggAygCDBDEEQ0BCyAAIAEgAhD7CAsgA0EQaiQA\ +C2IBAX8jAEEQayICJAAgAiABKAIUQdbbyABBCSABKAIYKAIMEQkAOgAIIAIgATYCBCACQQA6AAkgAk\ +EANgIAIAIgACgCADYCDCACIAJBDGpBPBCZBRCiCSEBIAJBEGokACABC2IBAX8jAEEQayICJAACQAJA\ +IAAoAgAiAC0AAA0AIAEoAhRB1+nIAEEEIAEoAhgoAgwRCQAhAQwBCyACIABBAWo2AgwgAUHb6cgAQQ\ +QgAkEMakE4EJQHIQELIAJBEGokACABC1wBA39BACECAkACQCABLQAIRQ0ADAELIAEoAgAiAyABKAIE\ +IgRLDQACQCADIARJDQBBASECIAFBAToACAwBC0EBIQIgASADQQFqNgIACyAAIAM2AgQgACACNgIAC1\ +gBAn8CQCAAKAIMIgIgACgCACIDRw0AIAAQzAggACgCACEDIAAoAgwhAgsgACACQQFqNgIMIAAoAgQg\ +ACgCCCACaiIAQQAgAyAAIANJG2tBAnRqIAE2AgALYAEBfyMAQSBrIgQkAAJAIAIgA00NACAEQQA2Ah\ +ggBEEBNgIMIARBuMfHADYCCCAEQgQ3AhAgBEEIakHAx8cAEKYOAAsgACADNgIEIAAgAjYCACAAIAE2\ +AgggBEEgaiQAC1wBA39BACECAkACQCABLQAARQ0ADAELIAEtAAEiAyABLQACIgRLDQACQCADIARJDQ\ +BBASECIAFBAToAAAwBC0EBIQIgASADQQFqOgABCyAAIAM6AAEgACACOgAAC10BAn8jAEEQayICJAAC\ +QAJAIAEoAggNAEEAIQEMAQsgAkEIaiABKAIUIAEoAhggASgCDEEBahD5ECACKAIMIQMgAigCCCEBCy\ +AAIAM2AgQgACABNgIAIAJBEGokAAtUAQN/IwBBEGsiASQAAkADQCABQQRqIAAQrwMgASgCBCICRQ0B\ +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\ +IAFB2+nIAEEEIAJBDGpB1gEQlAchAAsgAkEQaiQAIAALYAEBfyMAQRBrIgIkAAJAAkAgACgCACIAKA\ +IADQAgASgCFEHX6cgAQQQgASgCGCgCDBEJACEBDAELIAIgADYCDCABQdvpyABBBCACQQxqQeUBEJQH\ +IQELIAJBEGokACABC14BAX8jAEEQayICJAACQAJAIAAtAABBA0cNACABKAIUQdfpyABBBCABKAIYKA\ +IMEQkAIQAMAQsgAiAANgIMIAFB2+nIAEEEIAJBDGpBgwIQlAchAAsgAkEQaiQAIAALVwECfyMAQRBr\ +IgIkACACQQRqIAEQ2gkgAigCCCEBAkAgAigCBEUNACABIAIoAgwQrhgACyACKAIMIQMgAEEANgIIIA\ +AgAzYCBCAAIAE2AgAgAkEQaiQAC1kCAn8BfiMAQRBrIgIkACABKQIAIQQgAkEIaiIDIAEoAggiATYC\ +ACACIAFFOgAMIAIgBDcCACACEKEDIABBCGogAykCADcCACAAIAIpAgA3AgAgAkEQaiQAC1kCAn8Bfi\ +MAQRBrIgIkACABKQIAIQQgAkEIaiIDIAEoAggiATYCACACIAFFOgAMIAIgBDcCACACEJkDIABBCGog\ +AykCADcCACAAIAIpAgA3AgAgAkEQaiQAC1cBAn8jAEEQayICJAAgAkEEaiABENwJIAIoAgghAQJAIA\ +IoAgRFDQAgASACKAIMEK4YAAsgAigCDCEDIABBADYCCCAAIAM2AgQgACABNgIAIAJBEGokAAtXAQJ/\ +IwBBEGsiAiQAIAJBBGogARD1CSACKAIIIQECQCACKAIERQ0AIAEgAigCDBCuGAALIAIoAgwhAyAAQQ\ +A2AgggACADNgIEIAAgATYCACACQRBqJAALWQIBfwF+IwBBEGsiAyQAIANBCGogARCYECADKQMIIQQQ\ +vRYiASAENwIMIAAgATYCBCAAQQI2AgAgAUEIaiACQQhqKAIANgIAIAEgAikCADcCACADQRBqJAALWQ\ +IBfwF+IwBBEGsiAyQAIANBCGogARCYECADKQMIIQQQvRYiASAENwIMIAAgATYCBCAAQQE6AAAgAUEI\ +aiACQQhqKAIANgIAIAEgAikCADcCACADQRBqJAALWQIBfwF+IwBBEGsiAyQAIANBCGogARCYECADKQ\ +MIIQQQvRYiASAENwIMIAAgATYCBCAAQQE7AQAgAUEIaiACQQhqKAIANgIAIAEgAikCADcCACADQRBq\ +JAALYQEBfwJAAkACQAJAIAEtAAAOAwABAgALIAEoAgxBAEchAgwCCyAAIAEoAAE2AAFBAiECDAELIA\ +AgASkAATcAASAAQQlqIAFBCWopAAA3AABBAyECCyAAIAI6AAAgARDlFgtcAQF/IwBBEGsiAiQAAkAC\ +QCAAKAIARQ0AIAIgADYCDCABQazSxwBBBSACQQxqQcgAEJQHIQAMAQsgASgCFEGx0scAQQkgASgCGC\ +gCDBEJACEACyACQRBqJAAgAAtbAQF/IwBBEGsiAiQAIAIgACgCACIAQQxqNgIMIAFBiNLHAEEIQZWy\ +wABBAyAAQckAQZiywABBDCAAQQhqQTxB0M3HAEELIAJBDGpBOhCjByEAIAJBEGokACAAC1UBAX8jAE\ +EgayIDJAAgA0EQaiAAIAEQqhUgAyADKQMQNwIYIANBCGogA0EYaiACELsLAkAgAygCCA0AQbTWxwAQ\ ++xgACyADKAIMIQEgA0EgaiQAIAELUgEEfwJAIAAoAggiAigCACAAKAIQIgMgACgCDCIEaiIFayABTw\ +0AIAIgBSABELcQCyACKAIEIgIgBCABaiIBaiACIARqIAMQkRoaIAAgATYCDAtTAQF/IwBBEGsiAiQA\ +IAIgADYCCCACIAAgAWo2AgwCQANAIAJBCGoQxxEiAEGAgMQARg0BIABBP0YNASAAQSpHDQALCyACQR\ +BqJAAgAEGAgMQARwtUAQF/AkAgACgCCCICIAFNDQAgACgCACICQQRqKAIAIAJBCGooAgAgACgCBCAB\ +QRxsaiIAQQRqKAIAIABBCGooAgAQrQkPCyABIAJBiJjKABDICwALagEBfwJAAkAgACgCAA0AIAAoAg\ +ghAQJAIAAoAgQNACABKALQBUGFgICAeEcPCyABKALkAkGAgICAeEchAQwBC0EBIQEgACgCBCgC0AVB\ +hYCAgHhHDQAgACgCCCgC5AJBgICAgHhHDwsgAQtkAQF/IAEgACgCJEGAgICAeEYiAhDREwJAIAINAC\ +ABIAAtADAQ0RMgACkDACABENITIAApAwggARDSEyAAKQMQIAEQ0hMgACgCHCAAKAIgIAEQnQ8gACgC\ +KCAAKAIsIAEQnQ8LC08BA38jAEEQayIBJAACQANAIAFBBGogABCyAyABKAIEIgJFDQEgAiABKAIMIg\ +NBBnRqELsVIAIgA0EYbGpBwAVqENMWDAALCyABQRBqJAALXgIBfwJ+AkACQCAADQBCAiECQgEhAwwB\ +CyAAKQMAIQIgAEIANwMAQgIgACkDECACUCIBGyECQgEgACkDCCABGyEDC0EAIAI3A8jqU0EAIAM3A8\ +DqU0EAQgE3A7jqUwtQAQN/AkAgACgCBCABKAIEIAAoAggiAiABKAIIIgMgAiADSRsQkhoiBCACIANr\ +IAQbIgJFDQAgAkEfdg8LIAAtAAwgAS0ADGtB/wFxQf8BRgtZAQJ/IwBBEGsiASQAQQEgACgC/AQiAH\ +QhAgJAIABBH3FBG0kNACABIAKtNwMIQZzG0wBBKyABQQhqQcDLxwBB1OnHABCpCgALIAFBEGokACAC\ +QYCAgIAEcgtQACAAKAIMQQxsIAAoApQBQQN0aiAAKAKkAWogACgCaGogACgCiAEgACgCfGogACgCOG\ +ogACgCRGogACgCVGogACgCYGogACgCmAFqQQJ0agtcAQF/IwBBEGsiAiQAIAIgACgCACIANgIMIAFB\ +mqnJAEEHQfyqyQBBBSAAQQRqQTxBgavJAEEEIABBCGpBrwJBhavJAEEDIAJBDGpBrgIQowchACACQR\ +BqJAAgAAtUAQF/AkAgACgCCCICIAFNDQAgACgCACICQQRqKAIAIAJBCGooAgAgACgCBCABQQZ0aiIA\ +QThqKAIAIABBPGooAgAQ/xgPCyABIAJBiJjKABDICwALVQECfyMAQRBrIgIkAAJAAkAgASgCCCIDIA\ +EoAgRJDQAgAkEENgIEIAAgASACQQRqELwNDAELIABBADoAACAAIAEoAgAgA2otAAA6AAELIAJBEGok\ +AAtYAQN/AkAgAC0AAEEDRw0AIAAoAgQiACgCACEBAkAgACgCBCICKAIAIgNFDQAgASADEQIACwJAIA\ +IoAgQiA0UNACABIAIoAgggAxDzFgsgAEEMQQQQkgwLC1IBAX8jAEEQayICJAACQAJAIAAoAgxFDQAg\ +ACEBDAELIAJBCGogAEEIaigCADYCACACIAApAgA3AwAgASACEIkOIQEgABCLGgsgAkEQaiQAIAELWw\ +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\ +AUEIaigCADYCAAtKAQF/AkAgACgCCCICIAAoAgBHDQAgABDzDwsgACACQQFqNgIIIAAoAgQgAkEMbG\ +oiACABKQIANwIAIABBCGogAUEIaigCADYCAAtKAQF/AkAgACgCCCICIAAoAgBHDQAgABD5BgsgACAC\ +QQFqNgIIIAAoAgQgAkEJbGoiACABKQAANwAAIABBCGogAUEIai0AADoAAAtKAQF/AkAgACgCCCICIA\ +AoAgBHDQAgABDHBgsgACACQQFqNgIIIAAoAgQgAkEMbGoiACABKQIANwIAIABBCGogAUEIaigCADYC\ +AAtKAQF/AkAgACgCCCICIAAoAgBHDQAgABDIBgsgACACQQFqNgIIIAAoAgQgAkEEdGoiACABKQIANw\ +IAIABBCGogAUEIaikCADcCAAtKAQF/AkAgACgCCCICIAAoAgBHDQAgABDIBgsgACACQQFqNgIIIAAo\ +AgQgAkEEdGoiACABKQIANwIAIABBCGogAUEIaikCADcCAAtPAQJ/AkAgACgCsAFFDQAgACAAKAJwIA\ +AoArQBIgIgACgCuAEiA2sgAyACayACIANLG2o2AnALIAAgATYCuAEgACABNgK0ASAAQQE2ArABC0oB\ +AX8CQCAAKAIIIgIgACgCAEcNACAAEPMPCyAAIAJBAWo2AgggACgCBCACQQxsaiIAIAEpAgA3AgAgAE\ +EIaiABQQhqKAIANgIAC14BAX8gASgCACIBIAEoAgAiAkEBajYCAAJAIAJBf0oNAAALIAAgARCKECAA\ +QYCAgIB4NgLUBSAAQYCAgIB4NgLoBCAAQYCAgIB4NgLYBCAAQQI2AsgEIABBAjYCyAELTwEBfyMAQS\ +BrIgEkACABQQxqIABBABDsCwJAIAEtAAxFDQAgASABKQIQNwIYQeDEyABBKiABQRhqQYDLxwBBjMXI\ +ABCpCgALIAFBIGokAAtfAQF/IAEoAoACIgEgASgCACICQQFqNgIAAkAgAkF/Sg0AAAsgACABEIoQIA\ +BBgICAgHg2AtQFIABBgICAgHg2AugEIABBgICAgHg2AtgEIABBAjYCyAQgAEECNgLIAQtfAQF/IAEo\ +ApADIgEgASgCACICQQFqNgIAAkAgAkF/Sg0AAAsgACABEIoQIABBgICAgHg2AtQFIABBgICAgHg2Au\ +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\ +ACAAQrmX4s6V4ZaXtH83AwggAEKfkdnYz8Cr/Qg3AwALIAAgAELH67DU3dO1sRg3AwggAELbgo2k9a\ +GL8BQ3AwALEAAgABDKFiAAQShBBBCSDAsTACAAQYy8wAA2AgQgACABNgIACxMAIABByLzAADYCBCAA\ +IAE2AgALEwAgAEEoNgIEIABBjtXCADYCAAsRACABIAAoAgAgACgCBBCRAgsRACABIAAoAgAgACgCBB\ +CRAgsRACABKAIUIAEoAhggABDGAgsPAAJAIABFDQAgABCpDgsLDwAgACgCAEEIaiABENoCCxAAIAAg\ +ASgCACACIAMQixkLIQAgAEKm9tKlqL/OjR43AwggAEKZovr50pLvrqN/NwMACxMAIABBKDYCBCAAQY\ +7VwgA2AgALIQAgAEKl+6/8nqXFgzA3AwggAELO19Sijt/I2Ip/NwMACyIAIABClJSqge39qojmADcD\ +CCAAQo+OxNuHuquk5AA3AwALIgAgAELdiNXv7Zbx6NkANwMIIABCg6607PiVkavjADcDAAshACAAQu\ +C99ezQlK2e6QA3AwggAEKWjYepgYDZj2s3AwALIAAgAEKhv8LSl6qjuHE3AwggAELk/tv5hO3SqC43\ +AwALIgAgAEKQhobNro6U9KJ/NwMIIABC0eiY9vXh5qjzADcDAAsQACAAEKsXIABBKEEEEJIMCxMAIA\ +BBnNzCADYCBCAAIAE2AgALEwAgAEEoNgIEIABBjtXCADYCAAsRACAAENIWIABB5ABBBBCSDAsQACAA\ +ELEXIABBIEEEEJIMCxMAIABBpNvCADYCBCAAIAE2AgALEwAgAEHg28IANgIEIAAgATYCAAsTACAAQd\ +jcwgA2AgQgACABNgIACw8AAkAgAEUNACAAEMoCCwsPACAAEPcLIABBEGoQ9wsLDwAgABCEBiAAQSBq\ +EIQGCw8AIABBMGoQpg0gABD9FgsSACAAIAEgAkGStMcAQRUQuQwLFAAgACABEPQCIABBgICAgHg2Aj\ +ALIQAgAEKQsaPYoom8xph/NwMIIABC39mym8LcxuAnNwMACw8AIAAQyxcgAEE4ahDLFwsUACAAIAEQ\ +9AIgAEGAgICAeDYCJAsRACAAELYHIABB8AVBCBCSDAsVACAAQQA2AgggAEKAgICAwAA3AgALDwACQC\ +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\ +DLSjcCAAsLACAAIAEgAhCcAgsLACACIAAgARDSEgsOACABQZSryQBBAhCRAgsMACAAKAIAIAEQ3BEL\ +DAAgAEHgAUEEEJIMCwwAIAAgASgCABDIBwsMACAAIAEoAgAQyAcLDAAgACgCACABEP8PCwwAIAAoAg\ +AgARCAEAsJACAAEBJBAUYLDAAgACgCACABEKwYCwsAIABBHEEEEJIMCwsAIABBNEEEEJIMCwwAIAAo\ +AgAgARCsBQsMACAAKAIAIAEQwwcLCwAgAEHAAGoQ0hcLDAAgACgCACABEK4NCwwAIAAoAgAgARDlEQ\ +sMACAAKAIAIAEQrBULDAAgACgCACABELINCwwAIAAoAgAgARCDDgsMACAAKAIAIAEQ3hILDAAgACgC\ +ACABELENCwwAIAAoAgAgARDzDAsMACAAKAIAIAEQ9wULCwAgACABIAIQowwLDAAgACgCACABEJUFCw\ +sAIAAgASACEK8PCwsAIAAtAJwKQQFxCwwAIAAoApQNQbwCagsMACAAKAKUDUG8AmoLCwAgACgCjANB\ +AksLDAAgACgClA1BvAJqCwsAIABBgAJqEKAUCwsAIAAoAowDQQJLCwwAIAAoAgAgARC8CQsMACAAKA\ +IAIAEQsA0LDAAgACgCACABEM4JCwwAIAAoAgAgARDjDwsLACAAIAEQpAtBAAsLACAAQRhBBBCSDAsO\ +ACABQZSryQBBAhCRAgsOACAAQcytyQAgARDGAgsKACAAIAEQwRMACwoAIAAgARCJGgALCwAgAEEUQQ\ +QQkgwLCwAgACABIAIQ0Q8LDAAgACgCACABEKwVCwwAIAAgASkCADcDAAsLACAAIAEQngtBAAsLACAA\ +IAEgAhDOBwsLACAAIAEgAhCfAgsLACAAIAEgAhCKDgsLACAAIAEgAhCkBAsJACAAQQAQugcLCgAgAC\ +gCABDwFwsJACAAQQAQxQcLCQAgAEIBNwMACwkAIAAgARCsFQsLAQF/QQEgABDxDwsLAQF/QQAgABDx\ +DwsJACAAQQA2AgALCQAgACABEKwYCwkAIABBADYCAAsJACAAIAEQqxgLCAAgACABED0LCAAgACABEB\ +QLCQAgAEEBENIKCwkAIABBARDPAQsIACAAQYACagsIACAAQZADagsIACAAQcgAagsJACAAQQA2AgAL\ +CQAgAEEANgIACwgAIAAQ4gkACwgAIAAtAOACCwcAIAAoAjgLCAAgACgCyAILCAAgACgCzAILCAAgAC\ +0AxAILBwAgACgCFAsIACAAKAKsAgsIACAAKAKwAgsFACABRQsIACAALQDYAgsHACAAKAIgCwgAIAAo\ +AsACCwgAIAAoAsQCCwcAIAAQohYLBgAgABAeCwcAIAAQrxQLCAAgAC0AtBILCAAgAC0ArA0LBwAgAC\ +gCQAsHACAAENcPCwcAIAAQ2QgLBwAgABD6CgsHACAAKAJACwcAIAAQoBQLBABBAAsEAEEACwQAQQEL\ +BABBAAsEACAACwQAQQALBABBAQsEAEEBCwQAQQALBAAgAAsDAAALAgALAgALAgALAgALAgALC8PmEw\ +IAQYCAwAALiOYT6q8QAF4AAADXAwAAPQAAADS4EABjAAAAGwEAAEEAAABgdW53cmFwX3Rocm93YCBm\ +YWlsZWQAAAAAAAAAAAAAAAEAAABWAQAAAAAAAAAAAAABAAAAVwEAAAAAAAAAAAAAAQAAAFgBAAAAAA\ +AAAAAAAAEAAABZAQAAAAAAAAAAAAABAAAAWgEAAAAAAAAAAAAAAQAAAFsBAAAAAAAAAAAAAAEAAABc\ +AQAAAAAAAAAAAAABAAAAXQEAAF4BAAAMAAAABAAAAF8BAABgAQAAYQEAAAAAAAAAAAAAAQAAAGIBAA\ +BeAQAADAAAAAQAAABjAQAAAAAAAAEAAAABAAAAZAEAAGUBAAAEAAAABAAAAGYBAABnAQAACAAAAAQA\ +AABoAQAAZwEAAAgAAAAEAAAAaQEAAGgBAAAQARAAagEAAGsBAABsAQAAbQEAAG4BAABvAQAAJAAAAA\ +QAAABwAQAAbwEAACQAAAAEAAAAcQEAAHABAABMARAAcgEAAHMBAAB0AQAAcgEAAHUBAAB2AQAAdwEA\ +AHgBAAB5AQAAegEAAHsBAABDb3VsZG4ndCBkZXNlcmlhbGl6ZSBpNjQgb3IgdTY0IGZyb20gYSBCaW\ +dJbnQgb3V0c2lkZSBpNjQ6Ok1JTi4udTY0OjpNQVggYm91bmRzTm9kZU1vZHVsZXNEaXJQYXJzZUVy\ +cm9yc3JjL3dhc20vc3JjL2xpYi5ycwAABwIQABMAAADnAAAALQAAAAcCEAATAAAA/wAAAC0AAAAHAh\ +AAEwAAABEBAAA6AAAARU5PRU5UAAAAAAAAAAAAAAEAAAB8AQAAfQEAAH4BAAB/AQAABwIQABMAAABN\ +AAAABwAAAFdvcmtzcGFjZU5wbVBhY2thZ2UgaXMgbm90IHN1cHBvcnRlZCDNEQAEAAAAJVgSAAEAAA\ +ABAAAAAAAAAFdvcmtzcGFjZSBkZXAgaXMgbm90IHN1cHBvcnRlZGlzX2ZpbGVpc19kaXJlY3Rvcnlp\ +c19zeW1saW5rANoCEAAHAAAA4QIQAAwAAADtAhAACgAAAHN0cnVjdCBXYXNtRnNNZXRhZGF0YXN0cn\ +VjdCBXYXNtRnNEaXJFbnRyeQAAG6kSAAcAAAATqRIABAAAAHN0cnVjdCBFcnJvcgkAAAAJAAAACwAA\ +ABIAAAASAAAAFgAAABYAAAAgAAAAGQAAAAgAAACsyxEAtcsRAL7LEQDJyxEA28sRAO3LEQADzBEAGc\ +wRADnMEQBSzBEAAAAAAAgAAAAIAAAAgAEAAAAAAAAAAAAAAQAAAIEBAAAAAAAACAAAAAQAAACCAQAA\ +AAAAAAgAAAAIAAAAgwEAAAAAAAAEAAAABAAAAIQBAABCb3Jyb3dlZE93bmVkQ293Qnl0ZXNuZWVkbG\ +UAhQEAAFwBAAAEAAAAFQEAAIUBAABcAQAABAAAAIUBAABcAQAABAAAAIYBAACHAQAAiAEAAIkBAACK\ +AQAAiwEAAIwBAACNAQAAjgEAAI8BAACQAQAAkQEAAJIBAACTAQAAlAEAAJUBAACWAQAAFQEAABQEEA\ +AkBBAAJAQQACQEEAAkBBAAlwEAAEgBAAAEAAAAmAEAAJcBAABIAQAABAAAAJcBAABIAQAABAAAAJkB\ +AACaAQAAmwEAAIkBAACcAQAAnQEAAJ4BAACfAQAAoAEAAKEBAACiAQAAowEAAKQBAAClAQAApgEAAK\ +cBAACoAQAAmAEAAJgEEACoBBAAqAQQAKgEEACoBBAAqQEAAGQBAAAEAAAAqgEAAKkBAABkAQAABAAA\ +AKkBAABkAQAABAAAAKsBAACsAQAArQEAAIkBAACuAQAArwEAALABAACxAQAAsgEAALMBAAC0AQAAtQ\ +EAALYBAAC3AQAAuAEAALkBAAC6AQAAqgEAABwFEAAsBRAALAUQACwFEAAsBRAAptIQAFoAAAAmBQAA\ +LQAAAKbSEABaAAAA1wUAAA0AAAAgPgAAwAUQAAIAAAAqPgAAzAUQAAIAAADw4BEAVAAAALAAAABFAA\ +AAbWF0Y2ggc3RhdGUgbXVzdCBoYXZlIG5vbi1lbXB0eSBwaWRz6AUQACQAAADw4BEAVAAAALcAAAAJ\ +AAAA8OARAFQAAACzAAAAGQAAAGRmYTo6REZBKAoAADQGEAAKAAAAbWF0Y2gga2luZDogSAYQAAwAAA\ +DkqhIAAQAAAHByZWZpbHRlcjogAGQGEAALAAAA5KoSAAEAAABzaG9ydGVzdCBwYXR0ZXJuIGxlbmd0\ +aDogAAAAgAYQABkAAADkqhIAAQAAAGxvbmdlc3QgcGF0dGVybiBsZW5ndGg6IKwGEAAYAAAA5KoSAA\ +EAAABhbHBoYWJldCBsZW5ndGg6IAAAANQGEAARAAAA5KoSAAEAAABzdHJpZGU6IPgGEAAIAAAA5KoS\ +AAEAAABieXRlIGNsYXNzZXM6IAAAEAcQAA4AAADkqhIAAQAAAG1lbW9yeSB1c2FnZTogAAAwBxAADg\ +AAAOSqEgABAAAARiA6ClAHEAACAAAAUgcQAAIAAAAgbWF0Y2hlczogAABkBxAACgAAAPDgEQBUAAAA\ +TAEAACsAAADw4BEAVAAAAMkBAAAWAAAA8OARAFQAAADLAQAAFgAAAPDgEQBUAAAA2AEAAEMAAADw4B\ +EAVAAAAOgBAAASAAAA8OARAFQAAADqAQAAEgAAAPDgEQBUAAAA4QEAAEcAAADw4BEAVAAAAE0CAAAe\ +AAAA8OARAFQAAADQAgAALAAAAPDgEQBUAAAA0QIAACoAAADw4BEAVAAAANICAAAzAAAA8OARAFQAAA\ +DTAgAALwAAAPDgEQBUAAAAwgIAABsAAADw4BEAVAAAAMcCAAAmAAAA8OARAFQAAADHAgAALQAAAPDg\ +EQBUAAAAyAIAAC0AAADw4BEAVAAAAMMCAAAmAAAA8OARAFQAAADDAgAALQAAAPDgEQBUAAAAxAIAAC\ +sAAADw4BEAVAAAAJ8CAAAhAAAA8OARAFQAAACgAgAAHwAAAPDgEQBUAAAAoQIAABwAAADw4BEAVAAA\ +AIQCAAAlAAAA8OARAFQAAACFAgAAIwAAAPDgEQBUAAAAhgIAACAAAADw4BEAVAAAAIECAAAlAAAA8O\ +ARAFQAAACCAgAAIwAAAPDgEQBUAAAAegIAACEAAADw4BEAVAAAAHsCAAAfAAAA8OARAFQAAACUAgAA\ +JgAAAPDgEQBUAAAAkgIAACYAAADw4BEAVAAAALkCAAAmAAAA8OARAFQAAAC6AgAAJgAAAPDgEQBUAA\ +AAtwIAACYAAABjb250aWd1b3VzOjpORkEoCgAAAJgJEAARAAAAROERAF8AAABLAQAAIQAAAAEAAAAA\ +AAAAIFgSAAEAAACH7xEAAwAAACAgICAgICAgIG1hdGNoZXM6IAAA3AkQABIAAABE4REAXwAAAGwBAA\ +BAAAAAROERAF8AAABtAQAAEgAAAEThEQBfAAAA9wEAACMAAABE4REAXwAAAPcBAAAYAAAAROERAF8A\ +AAD4AQAAHgAAAEThEQBfAAAA+AEAADEAAABE4REAXwAAAPkBAAAZAAAAROERAF8AAADyAQAAIwAAAE\ +ThEQBfAAAA8gEAABgAAABE4REAXwAAAPMBAAAjAAAAROERAF8AAADzAQAAGAAAAEThEQBfAAAA7QEA\ +ACMAAABE4REAXwAAAO0BAAAYAAAAROERAF8AAADuAQAAHgAAAEThEQBfAAAA7gEAACMAAABE4REAXw\ +AAAO8BAAAZAAAAROERAF8AAACYAgAANAAAAEThEQBfAAAAmwIAACEAAABE4REAXwAAAJsCAAAmAAAA\ +ROERAF8AAACcAgAAHwAAAEThEQBfAAAAnAIAADIAAABE4REAXwAAAJMCAAA0AAAAROERAF8AAACVAg\ +AAGAAAAEThEQBfAAAAjwIAADQAAABE4REAXwAAAJACAAAnAAAAROERAF8AAACQAgAALAAAAEThEQBf\ +AAAAzAIAADQAAABE4REAXwAAANoCAAA8AAAAROERAF8AAADbAgAAEQAAAEThEQBfAAAA3gIAABEAAA\ +BlcXVpdmFsZW5jZSBjbGFzc2VzIGFyZSBuZXZlciBlbXB0eQDYCxAAIwAAAEThEQBfAAAALgMAAAkA\ +AABE4REAXwAAADADAAAQAAAAROERAF8AAAA/AwAAHQAAAEThEQBfAAAA4AMAACMAAABE4REAXwAAAO\ +EDAAAhAAAAROERAF8AAADiAwAAKAAAAEThEQBfAAAA4wMAACYAAABE4REAXwAAANgDAAAmAAAAROER\ +AF8AAADSAwAAHgAAAEThEQBfAAAAxgMAACIAAAAE4hEAYgAAAAABAAAVAAAABOIRAGIAAAARAQAAJw\ +AAAATiEQBiAAAAEQEAADAAAAAE4hEAYgAAAAsBAAApAAAABOIRAGIAAAAdAQAAIwAAAATiEQBiAAAA\ +LQEAACMAAAAE4hEAYgAAAEgBAAAkAAAABOIRAGIAAABIAQAAQQAAAATiEQBiAAAAgwEAABcAAAAE4h\ +EAYgAAAIQBAAAkAAAABOIRAGIAAACGAQAAFwAAAATiEQBiAAAAiQEAAB8AAAAE4hEAYgAAAIoBAAA3\ +AAAABOIRAGIAAACPAQAAJgAAAATiEQBiAAAAmAEAAEAAAAAE4hEAYgAAAJkBAAA/AAAABOIRAGIAAA\ +CeAQAAPAAAAATiEQBiAAAAowEAACkAAAAE4hEAYgAAAKMBAAANAAAABOIRAGIAAACkAQAAGAAAAATi\ +EQBiAAAAoAEAABgAAAAE4hEAYgAAAKEBAAAYAAAABOIRAGIAAACcAQAAJAAAAATiEQBiAAAAkAEAAB\ +gAAAAE4hEAYgAAAIwBAAAYAAAABOIRAGIAAACNAQAAGAAAAATiEQBiAAAAugEAABgAAABzdGF0ZSBt\ +dXN0IG5vdCBiZSBkZW5zZSB5ZXQAVA4QABsAAAAE4hEAYgAAALgBAAAJAAAABOIRAGIAAAC/AQAAGA\ +AAAHN0YXRlIG11c3QgaGF2ZSB6ZXJvIHRyYW5zaXRpb25zmA4QACAAAAAE4hEAYgAAAL0BAAAJAAAA\ +BOIRAGIAAADFAQAAGAAAAATiEQBiAAAAygEAABwAAAAE4hEAYgAAAMgBAAAcAAAABOIRAGIAAADXAQ\ +AAHwAAAATiEQBiAAAA2QEAABsAAAAE4hEAYgAAAN0BAAAVAAAABOIRAGIAAADhAQAAGQAAAATiEQBi\ +AAAA3wEAABgAAAAE4hEAYgAAANoBAAAgAAAABOIRAGIAAADvAQAAIwAAAATiEQBiAAAA8QEAABsAAA\ +AE4hEAYgAAAPQBAAAnAAAABOIRAGIAAAD+AQAAIgAAAATiEQBiAAAABAIAAB0AAAAE4hEAYgAAAAIC\ +AAAcAAAABOIRAGIAAAAIAgAAJAAAAATiEQBiAAAA8gEAACQAAABwYXR0ZXJucyBsb25nZXIgdGhhbi\ +BTbWFsbEluZGV4OjpNQVggYXJlIG5vdCBhbGxvd2VkBOIRAGIAAAA9AgAADgAAAATiEQBiAAAABwUA\ +ACQAAAAE4hEAYgAAABgFAAAuAAAABOIRAGIAAAAZBQAAIAAAAATiEQBiAAAAIAUAACgAAAAE4hEAYg\ +AAAEMFAAAyAAAABOIRAGIAAABHBQAALwAAAATiEQBiAAAATAUAACAAAAAE4hEAYgAAAEkFAAArAAAA\ +BOIRAGIAAABEBQAAJAAAAGFzc2VydGlvbiBmYWlsZWQ6IG9sZF9zdGFydF91aWQgPCBvbGRfc3Rhcn\ +RfYWlkAATiEQBiAAAAegUAAAkAAAAE4hEAYgAAALwFAAASAAAABOIRAGIAAAC/BQAAPwAAAATiEQBi\ +AAAAxQUAABsAAAAE4hEAYgAAAI8FAAAnAAAABOIRAGIAAACQBQAAIAAAAATiEQBiAAAAmgUAAD4AAA\ +BhbmNob3JlZCBzdGFydCBzdGF0ZSBzaG91bGQgYmUgYXQgaW5kZXggMwAAAFQREAApAAAAAwAAAATi\ +EQBiAAAAewUAAAkAAAAE4hEAYgAAAN4FAAAnAAAABOIRAGIAAADkBQAAHwAAAATiEQBiAAAA7QUAAC\ +gAAAAE4hEAYgAAAPEFAAAfAAAABOIRAGIAAADzBQAAHAAAAATiEQBiAAAAMAYAABgAAAAE4hEAYgAA\ +ACcGAAA6AAAABOIRAGIAAAAnBgAAHAAAAATiEQBiAAAAIwYAABYAAAAE4hEAYgAAAEIGAAAfAAAABO\ +IRAGIAAABDBgAAIAAAAATiEQBiAAAAVgYAACkAAAAE4hEAYgAAAFwGAAAjAAAABOIRAGIAAABdBgAA\ +JAAAAATiEQBiAAAAXwYAADAAAAAE4hEAYgAAAGEGAAAnAAAAbm9uY29udGlndW91czo6TkZBKAqcEh\ +AAFAAAANDjEQBbAAAAHAIAACUAAADQ4xEAWwAAAIcCAAApAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2Vs\ +Zi5ieV9pZC5sZW4oKSA8PSB1MTY6Ok1BWCBhcyB1c2l6ZX4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbm\ +RleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9haG8tY29yYXNpY2stMS4xLjMvc3JjL3BhY2tl\ +ZC9wYXR0ZXJuLnJzAAAPExAAXwAAAEgAAAAJAAAADxMQAF8AAABdAAAAGgAAAA8TEABfAAAAXQAAAD\ +AAAAAPExAAXwAAAI8AAAAcAAAADxMQAF8AAADIAAAAJQAAAGFzc2VydGlvbiBmYWlsZWQ6IHBhdHRl\ +cm5zLmxlbigpID49IDF+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMj\ +JiYmExNTAwMWYvYWhvLWNvcmFzaWNrLTEuMS4zL3NyYy9wYWNrZWQvcmFiaW5rYXJwLnJzAADlExAA\ +YQAAAD0AAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogaGFzaF9sZW4gPj0gMQDlExAAYQAAAD8AAAAJAA\ +AA5RMQAGEAAABNAAAALAAAAOUTEABhAAAATwAAABcAAADlExAAYQAAAGAAAAArAAAA5RMQAGEAAABv\ +AAAAEQAAAEAAAADlExAAYQAAAFsAAAAJAAAA5RMQAGEAAACOAAAAIwAAAOUTEABhAAAAlwAAAAkAAA\ +B+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWhv\ +LWNvcmFzaWNrLTEuMS4zL3NyYy91dGlsL2FscGhhYmV0LnJzQnl0ZUNsYXNzZXMoPG9uZS1jbGFzcy\ +1wZXItYnl0ZT4pAFoVEAAhAAAA/BQQAF4AAAD1AAAALgAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9p\ +bmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9haG8tY29yYXNpY2stMS4xLjMvc3JjL3V0aW\ +wvZGVidWcucnMAlBUQAFsAAAAYAAAAPQAAAJQVEABbAAAAFQAAAA0AAAC7AQAAMAAAAAQAAAC8AQAA\ +vQEAAL4BAABIAAAACAAAAL8BAADAAQAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy\ +5pby02ZjE3ZDIyYmJhMTUwMDFmL2Foby1jb3Jhc2ljay0xLjEuMy9zcmMvdXRpbC9wcmVmaWx0ZXIu\ +cnMAOBYQAF8AAABgAQAADQAAADgWEABfAAAAkQEAAB4AAABSYXJlQnl0ZU9mZnNldHMAAAAAAAIAAA\ +ABAAAAwQEAAMIBAAAAAAAAAgEAAAEAAADDAQAAxAEAAAAAAAADAQAAAQAAAMUBAADGAQAAOBYQAF8A\ +AAA9AgAAFgAAADgWEABfAAAAKAIAABUAAAA4FhAAXwAAAIICAAAvAAAAOBYQAF8AAACkAgAALQAAAD\ +gWEABfAAAAvAIAADoAAAA4FhAAXwAAAL8CAAA7AAAAOBYQAF8AAADTAgAARgAAADgWEABfAAAA1gIA\ +ADsAAAAAAAAAAQAAAAEAAADHAQAAyAEAAAAAAAACAAAAAQAAAMkBAADKAQAAAAAAAAMAAAABAAAAyw\ +EAAMwBAAA4FhAAXwAAADEDAAAWAAAAOBYQAF8AAAAWAwAAJAAAADgWEABfAAAAIgMAABEAAAA4FhAA\ +XwAAAE8DAAAZAAAAOBYQAF8AAABQAwAAGQAAADgWEABfAAAAYQMAAC0AAAA4FhAAXwAAAHIDAAA6AA\ +AAOBYQAF8AAACEAwAARgAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYx\ +N2QyMmJiYTE1MDAxZi9haG8tY29yYXNpY2stMS4xLjMvc3JjL3V0aWwvcmVtYXBwZXIucnMAAEAYEA\ +BeAAAAcgAAABIAAABAGBAAXgAAAIwAAAAkAAAAQBgQAF4AAACRAAAAIAAAAEAYEABeAAAAkwAAAB0A\ +AABAGBAAXgAAAJkAAAAfAAAAUGF0dGVybnNieV9pZG9yZGVydG90YWxfcGF0dGVybl9ieXRlc2ltcG\ +1lbW9yeV91c2FnZVBhY2tlZFJhcmVCeXRlT2Zmc2V0UmFyZUJ5dGVzT25lYnl0ZTFSYXJlQnl0ZXNU\ +d29vZmZzZXRzYnl0ZTJSYXJlQnl0ZXNUaHJlZWJ5dGUzU3RhcnRCeXRlc09uZVN0YXJ0Qnl0ZXNUd2\ +9TdGFydEJ5dGVzVGhyZWV+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdk\ +MjJiYmExNTAwMWYvYWhvLWNvcmFzaWNrLTEuMS4zL3NyYy91dGlsL3ByaW1pdGl2ZXMucnMAAACdGR\ +AAYAAAAOECAAABAAAAzQEAAAwAAAAEAAAAzgEAAM8BAADQAQAAbGlicmFyeS9hbGxvYy9zcmMvcmF3\ +X3ZlYy5ycygaEAAcAAAAGQAAAAUAAAAAAAAAAAAAAAEAAADRAQAAYSBmb3JtYXR0aW5nIHRyYWl0IG\ +ltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHdoZW4gdGhlIHVuZGVybHlpbmcgc3RyZWFt\ +IGRpZCBub3RsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAALoaEAAYAAAAfwIAAA4AAAAAAAAAAAAAAA\ +EAAADSAQAAbGlicmFyeS9hbGxvYy9zcmMvc3RyLnJz9BoQABgAAACaAQAAPwAAAPQaEAAYAAAAmwEA\ +ADMAAABsaWJyYXJ5L2FsbG9jL3NyYy9zeW5jLnJzAAAALBsQABkAAABvAQAAMgAAAHN3YXBfcmVtb3\ +ZlIGluZGV4IChpcyApIHNob3VsZCBiZSA8IGxlbiAoaXMgWBsQABYAAABuGxAAFgAAAErtFAABAAAA\ +aW5zZXJ0aW9uIGluZGV4IChpcyApIHNob3VsZCBiZSA8PSBsZW4gKGlzIACcGxAAFAAAALAbEAAXAA\ +AASu0UAAEAAABgYXRgIHNwbGl0IGluZGV4IChpcyAAAADgGxAAFQAAALAbEAAXAAAASu0UAAEAAADT\ +AQAADAAAAAQAAABfAQAA1AEAANUBAAAAAAAAAAAAAAEAAABiAQAAAAAAABAAAAAEAAAA1gEAANcBAA\ +DYAQAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogaW52YWxpZCBPbmNl\ +IHN0YXRlUBwQADwAAAAvcnVzdGMvZWViOTBjZGExOTY5MzgzZjU2YTI2MzdjYmQzMDM3YmRmNTk4OD\ +QxYy9saWJyYXJ5L3N0ZC9zcmMvc3lzL3N5bmMvb25jZS9ub190aHJlYWRzLnJzAJQcEABbAAAANgAA\ +ABIAAADZAQAA2gEAANsBAADcAQAA3QEAAHsBAADeAQAA3wEAAOABAADhAQAAegEAAHsBAAB+Ly5jYX\ +Jnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYW55aG93LTEu\ +MC44OS9zcmMvZXJyb3IucnMAAADTAQAADAAAAAQAAADiAQAA0wEAAAwAAAAEAAAA4wEAAOIBAACEHR\ +AA5AEAAOUBAADmAQAA5AEAAG4BAAAAAAAACAAAAAQAAADnAQAAAAAAAAgAAAAEAAAA6AEAAOcBAADA\ +HRAA5AEAAOkBAADmAQAA5AEAAG4BAADqAQAAKAAAAAQAAABwAQAA6gEAACgAAAAEAAAAcQEAAHABAA\ +D8HRAAcgEAAOsBAAB0AQAAcgEAAHUBAADsAQAAJAAAAAQAAABwAQAA7AEAACQAAAAEAAAAcQEAAHAB\ +AAA4HhAAcgEAAO0BAAB0AQAAcgEAAHUBAABiYWNrdHJhY2UgY2FwdHVyZSBmYWlsZWQwHRAAUQAAAK\ +gDAAAOAAAACgpDYXVzZWQgYnk6nB4QAAwAAAAKCgAAsB4QAAIAAABzdGFjayBiYWNrdHJhY2U6U3Rh\ +Y2sgYmFja3RyYWNlOgoAAADMHhAAEQAAACAgICAgICBhc3NlcnRpb24gZmFpbGVkOiBlZGVsdGEgPj\ +0gMGxpYnJhcnkvY29yZS9zcmMvbnVtL2RpeV9mbG9hdC5ycwAAAAwfEAAhAAAATAAAAAkAAAAMHxAA\ +IQAAAE4AAAAJAAAAAgAAABQAAADIAAAA0AcAACBOAABADQMAgIQeAAAtMQEAwusLAJQ1dwAAwW/yhi\ +MAAAAAAIHvrIVbQW0t7gQAAAAAAAAAAAAAAR9qv2TtOG7tl6fa9Pk/6QNPGAAAAAAAAAAAAAAAAAAA\ +AAAAAT6VLgmZ3wP9OBUPL+R0I+z1z9MI3ATE2rDNvBl/M6YDJh/pTgIAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAAAAAAAAAAAAAXwumFuH075yn9nYhy8VEsZQ3mtwbkrPD9iV1W5xsiawZsatJDYVHVrT\ +QjwOVP9jwHNVzBfv+WXyKLxV98fcgNztbvTO79xf91MFAGxpYnJhcnkvY29yZS9zcmMvbnVtL2ZsdD\ +JkZWMvc3RyYXRlZ3kvZHJhZ29uLnJzYXNzZXJ0aW9uIGZhaWxlZDogZC5tYW50ID4gMABQIBAALwAA\ +AMEAAAAJAAAAUCAQAC8AAAD6AAAADQAAAFAgEAAvAAAAAQEAADYAAABQIBAALwAAAHEBAAAkAAAAUC\ +AQAC8AAAB2AQAAVwAAAFAgEAAvAAAAgwEAADYAAABQIBAALwAAAGUBAAANAAAAUCAQAC8AAABLAQAA\ +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\ +bXB0eSBzdHJpbmdpbnZhbGlkIGRpZ2l0IGZvdW5kIGluIHN0cmluZ251bWJlciB0b28gbGFyZ2UgdG\ +8gZml0IGluIHRhcmdldCB0eXBlbnVtYmVyIHRvbyBzbWFsbCB0byBmaXQgaW4gdGFyZ2V0IHR5cGVu\ +dW1iZXIgd291bGQgYmUgemVybyBmb3Igbm9uLXplcm8gdHlwZUJvcnJvd0Vycm9yQm9ycm93TXV0RX\ +Jyb3JhbHJlYWR5IGJvcnJvd2VkOiCmKBAAEgAAAGFscmVhZHkgbXV0YWJseSBib3Jyb3dlZDogAADA\ +KBAAGgAAAAEAAAAAAAAA6ugUAAEAAADq6BQAAQAAAOroFAABAAAAbGlicmFyeS9jb3JlL3NyYy9uZX\ +QvZGlzcGxheV9idWZmZXIucnMAAAQpEAAmAAAAFgAAAEEAAAAAAAAAAAAAAAEAAADRAQAAbGlicmFy\ +eS9jb3JlL3NyYy9uZXQvaXBfYWRkci5ycwBMKRAAHwAAAC4EAABUAAAATCkQAB8AAADHBwAAJQAAAD\ +o6ZmZmZjoAjCkQAAcAAABMKRAAHwAAAL0HAAAuAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBv\ +biBhIGBOb25lYCB2YWx1ZWluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgIGJ1dCB0aGUgaW\ +5kZXggaXMgAAAA1ykQACAAAAD3KRAAEgAAAAAAAAAEAAAABAAAAO4BAAAAAAAABAAAAAQAAADvAQAA\ +PT1hc3NlcnRpb24gYGxlZnQgIHJpZ2h0YCBmYWlsZWQKICBsZWZ0OiAKIHJpZ2h0OiAAAD4qEAAQAA\ +AATioQABcAAABlKhAACQAAACByaWdodGAgZmFpbGVkOiAKICBsZWZ0OiAAAAA+KhAAEAAAAIgqEAAQ\ +AAAAmCoQAAkAAABlKhAACQAAAAAAAAAMAAAABAAAAPABAADxAQAA8gEAACAgICAgewooCmF0dGVtcH\ +RlZCB0byBiZWdpbiBhIG5ldyBtYXAgZW50cnkgd2l0aG91dCBjb21wbGV0aW5nIHRoZSBwcmV2aW91\ +cyBvbmUA5SoQAEYAAABsaWJyYXJ5L2NvcmUvc3JjL2ZtdC9idWlsZGVycy5yczQrEAAgAAAATAMAAA\ +0AAABhdHRlbXB0ZWQgdG8gZmluaXNoIGEgbWFwIHdpdGggYSBwYXJ0aWFsIGVudHJ5AABkKxAALgAA\ +ADQrEAAgAAAA7gMAAA0AAABsaWJyYXJ5L2NvcmUvc3JjL2ZtdC9udW0ucnMArCsQABsAAABpAAAAFw\ +AAAAAAAAAsAAAABAAAAPMBAAD0AQAA9QEAAAAAAAAUAAAABAAAAPYBAAD3AQAA+AEAADAwMDAwMDAw\ +MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDBsaW\ +JyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMASCwQABsAAAAlCAAACQAAAEgsEAAbAAAAjQkAACYAAABI\ +LBAAGwAAAJYJAAAaAAAAbGlicmFyeS9jb3JlL3NyYy9zbGljZS9tZW1jaHIucnOULBAAIAAAAIMAAA\ +AeAAAAlCwQACAAAACfAAAACQAAAHVzZXItcHJvdmlkZWQgY29tcGFyaXNvbiBmdW5jdGlvbiBkb2Vz\ +IG5vdCBjb3JyZWN0bHkgaW1wbGVtZW50IGEgdG90YWwgb3JkZXLULBAATAAAAGxpYnJhcnkvY29yZS\ +9zcmMvc2xpY2Uvc29ydC9zaGFyZWQvc21hbGxzb3J0LnJzACgtEAAvAAAAXgMAAAUAAAByYW5nZSBz\ +dGFydCBpbmRleCAgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggaC0QABIAAAB6LRAAIg\ +AAAHJhbmdlIGVuZCBpbmRleCCsLRAAEAAAAHotEAAiAAAAc2xpY2UgaW5kZXggc3RhcnRzIGF0ICBi\ +dXQgZW5kcyBhdCAAzC0QABYAAADiLRAADQAAAHNvdXJjZSBzbGljZSBsZW5ndGggKCkgZG9lcyBub3\ +QgbWF0Y2ggZGVzdGluYXRpb24gc2xpY2UgbGVuZ3RoICgALhAAFQAAABUuEAArAAAASu0UAAEAAABh\ +dHRlbXB0ZWQgdG8gaW5kZXggc3RyIHVwIHRvIG1heGltdW0gdXNpemUAAFguEAAqAAAAAQEBAQEBAQ\ +EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB\ +AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQ\ +EBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDBA\ +QEBAQAAAAAAAAAAAAAAGxpYnJhcnkvY29yZS9zcmMvc3RyL3BhdHRlcm4ucnMAjC8QAB8AAABSBQAA\ +EgAAAIwvEAAfAAAAUgUAACgAAACMLxAAHwAAAEUGAAAVAAAAjC8QAB8AAABzBgAAFQAAAIwvEAAfAA\ +AAdAYAABUAAABsaWJyYXJ5L2NvcmUvc3JjL3N0ci9sb3NzeS5ycwAAAPwvEAAdAAAAhgAAACMAAAD8\ +LxAAHQAAAH8AAAArAAAAWy4uLl1iZWdpbiA8PSBlbmQgKCA8PSApIHdoZW4gc2xpY2luZyBgAEEwEA\ +AOAAAATzAQAAQAAABTMBAAEAAAABiaEgABAAAAYnl0ZSBpbmRleCAgaXMgbm90IGEgY2hhciBib3Vu\ +ZGFyeTsgaXQgaXMgaW5zaWRlICAoYnl0ZXMgKSBvZiBgAIQwEAALAAAAjzAQACYAAAC1MBAACAAAAL\ +0wEAAGAAAAGJoSAAEAAAAgaXMgb3V0IG9mIGJvdW5kcyBvZiBgAACEMBAACwAAAOwwEAAWAAAAGJoS\ +AAEAAABsaWJyYXJ5L2NvcmUvc3JjL3N0ci9tb2QucnMAHDEQABsAAAAFAQAALAAAAGxpYnJhcnkvY2\ +9yZS9zcmMvdW5pY29kZS9wcmludGFibGUucnMAAABIMRAAJQAAABoAAAA2AAAASDEQACUAAAAKAAAA\ +KwAAAAAGAQEDAQQCBQcHAggICQIKBQsCDgQQARECEgUTERQBFQIXAhkNHAUdCB8BJAFqBGsCrwOxAr\ +wCzwLRAtQM1QnWAtcC2gHgBeEC5wToAu4g8AT4AvoD+wEMJzs+Tk+Pnp6fe4uTlqKyuoaxBgcJNj0+\ +VvPQ0QQUGDY3Vld/qq6vvTXgEoeJjp4EDQ4REikxNDpFRklKTk9kZVy2txscBwgKCxQXNjk6qKnY2Q\ +k3kJGoBwo7PmZpj5IRb1+/7u9aYvT8/1NUmpsuLycoVZ2goaOkp6iturzEBgsMFR06P0VRpqfMzaAH\ +GRoiJT4/5+zv/8XGBCAjJSYoMzg6SEpMUFNVVlhaXF5gY2Vma3N4fX+KpKqvsMDQrq9ub76TXiJ7BQ\ +MELQNmAwEvLoCCHQMxDxwEJAkeBSsFRAQOKoCqBiQEJAQoCDQLTkOBNwkWCggYO0U5A2MICTAWBSED\ +GwUBQDgESwUvBAoHCQdAICcEDAk2AzoFGgcEDAdQSTczDTMHLggKgSZSSysIKhYaJhwUFwlOBCQJRA\ +0ZBwoGSAgnCXULQj4qBjsFCgZRBgEFEAMFgItiHkgICoCmXiJFCwoGDRM6Bgo2LAQXgLk8ZFMMSAkK\ +RkUbSAhTDUkHCoD2RgodA0dJNwMOCAoGOQcKgTYZBzsDHFYBDzINg5tmdQuAxIpMYw2EMBAWj6qCR6\ +G5gjkHKgRcBiYKRgooBROCsFtlSwQ5BxFABQsCDpf4CITWKgmi54EzDwEdBg4ECIGMiQRrBQ0DCQcQ\ +kmBHCXQ8gPYKcwhwFUZ6FAwUDFcJGYCHgUcDhUIPFYRQHwYGgNUrBT4hAXAtAxoEAoFAHxE6BQGB0C\ +qC5oD3KUwECgQCgxFETD2AwjwGAQRVBRs0AoEOLARkDFYKgK44HQ0sBAkHAg4GgJqD2AQRAw0DdwRf\ +BgwEAQ8MBDgICgYoCCJOgVQMHQMJBzYIDgQJBwkHgMslCoQGAAEDBQUGBgIHBggHCREKHAsZDBoNEA\ +4MDwQQAxISEwkWARcEGAEZAxoHGwEcAh8WIAMrAy0LLgEwBDECMgGnAqkCqgSrCPoC+wX9Av4D/wmt\ +eHmLjaIwV1iLjJAc3Q4PS0z7/C4vP1xdX+KEjY6RkqmxurvFxsnK3uTl/wAEERIpMTQ3Ojs9SUpdhI\ +6SqbG0urvGys7P5OUABA0OERIpMTQ6O0VGSUpeZGWEkZudyc7PDREpOjtFSVdbXF5fZGWNkam0urvF\ +yd/k5fANEUVJZGWAhLK8vr/V1/Dxg4WLpKa+v8XHz9rbSJi9zcbOz0lOT1dZXl+Jjo+xtre/wcbH1x\ +EWF1tc9vf+/4Btcd7fDh9ubxwdX31+rq9/u7wWFx4fRkdOT1haXF5+f7XF1NXc8PH1cnOPdHWWJi4v\ +p6+3v8fP19+aAECXmDCPH9LUzv9OT1pbBwgPECcv7u9ubzc9P0JFkJFTZ3XIydDR2Nnn/v8AIF8igt\ +8EgkQIGwQGEYGsDoCrBR8JgRsDGQgBBC8ENAQHAwEHBgcRClAPEgdVBwMEHAoJAwgDBwMCAwMDDAQF\ +AwsGAQ4VBU4HGwdXBwIGFwxQBEMDLQMBBBEGDww6BB0lXyBtBGolgMgFgrADGgaC/QNZBxYJGAkUDB\ +QMagYKBhoGWQcrBUYKLAQMBAEDMQssBBoGCwOArAYKBi8xTQOApAg8Aw8DPAc4CCsFgv8RGAgvES0D\ +IQ8hD4CMBIKXGQsViJQFLwU7BwIOGAmAviJ0DIDWGoEQBYDfC/KeAzcJgVwUgLgIgMsFChg7AwoGOA\ +hGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWAphCB9QcBICoGTASAjQSAvgMb\ +Aw8NbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3VuaWNvZGVfZGF0YS5ycwALNxAAKAAAAFAAAAAoAA\ +AACzcQACgAAABcAAAAFgAAAGxpYnJhcnkvY29yZS9zcmMvbnVtL2JpZ251bS5ycwAAVDcQAB4AAACs\ +AQAAAQAAAGFzc2VydGlvbiBmYWlsZWQ6IG5vYm9ycm93YXNzZXJ0aW9uIGZhaWxlZDogZGlnaXRzID\ +wgNDBhc3NlcnRpb24gZmFpbGVkOiBvdGhlciA+IDBhdHRlbXB0IHRvIGRpdmlkZSBieSB6ZXJvANY3\ +EAAZAAAAYXR0ZW1wdCB0byBjYWxjdWxhdGUgdGhlIHJlbWFpbmRlciB3aXRoIGEgZGl2aXNvciBvZi\ +B6ZXJvAAAA+DcQADkAAADCAgAASRIAAm0WADQWH8A4tiRARQAsIE4FMGBOADQgU8BNIFaNpEBWDaaA\ +VqTXAFcA+UBibvrgYj79AGOAAsFlNwfhaoAOgXAAHKF54B6hjpoj4ZOQL0GVMDThlQBEQZZHRqGWAG\ +jBljlq4ZZAbgGX+IfhmNaMwZrwrwGbI7Fhm/yyQZwAvIGdANShnabW4Z4A34GjkOJhptDkYang5+Gp\ +AO4hqjDxIawAAGK04KYitTq3QrWizoK14esCtl7uQrYA+IK2HvqitgAAw7ZLE+O2sCMDt7AjVLdBGg\ +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\ +E6AQIBAQQIAQcCCwIeAT0BDAEyAQMBNwEBAwUDAQQHAgsCHQE6AQIBBgEFAhQCHAI5AgQECAEUAh0B\ +SAEHAwEBWgECBwsJYgECCQkBAQdJAhsBAQEBATcOAQUBAgULASQJAWYEAQYBAgICGQIEAxAEDQECAg\ +YBDwFeAQADAAMdAh4CHgJAAgEHCAECCwMBBQEtBTMBQQIiAXYDBAIJAQYD2wICAToBAQcBAQEBAggG\ +CgIBJwEIHzEEMAEBBQEBBQEoCQwCIAQCAgEDOAEBAgMBAQM6CAICQAZSAwENAQcEAQYBAwIyPw0BIm\ +UAAQEDCwMNAw0DDQIMBQgCCgECAQIFMQUBCgEBDQEQDTMhAAJxA30BDwFgIC8BAAEkBAMFBQFdBl0D\ +AAEABgABYgQBCgEBHARQAg4iTgEXA2cDAwIIAQMBBAEZAgUBlwIaEg0BJggZCy4DMAECBAICEQEVAk\ +IGAgICAgwBCAEjAQsBMwEBAwICBQIBARsBDgIFAgEBZAUJA3kBAgEEAQABkxEAEAMBDBAiAQIBqQEH\ +AQYBCwEjAQEBLwEtAkMBFQMAAeIBlQUABgEqAQkAAwECBQQoAwQBpQIABAACUANGCzEEewE2DykBAg\ +IKAzEEAgICAQQBCgEyAyQFAQg+AQwCNAkKBAIBXwMCAQECBgECAZ0BAwgVAjkCAwElBwMFwwgCAwEB\ +FwFUBgEBBAIBAu4EBgIBAhsCVQgCAQECagEBAQIGAQFlAwIEAQUACQECAAIBAQQBkAQCAgQBIAooBg\ +IECAEJBgIDLg0BAgAHAQYBAVIWAgcBAgECegYDAQECAQcBAUgCAwEBAQACCwI0BQUBAQEAEQYPAAU7\ +BwkEAAE/EUACAQIABAEHAQIAAgEEAC4CFwADCRACBx4ElAMANwQyCAEOARYFAQ8ABwERAgcBAgEFBT\ +4hAaAOAAE9BAAFAAdtCAAFAAEeYIDwAACgEAAAoBPgBoAcIAgWH6AItiTACQAsIBNApmATMKvgFAD7\ +YBch/yAYAAShGIAHIRmADOEboBjhHEBuYR0A1KEdptbhHQDfgSIw4GElAOkhJjDxYSaK8bImQRoGGi\ +8BCgEEAQUXAR8BwwEEBNABJAcCHgVgASoEAgICBAEBBgEBAwEBARQBUwGLCKYBJgkpACYBAQUBAisB\ +BABWAgYACQcrAgNAwEAAAgYCJgIGAggBAQEBAQEBHwI1AQcBAQMDAQcDBAIGBA0FAwEHdAENARANZQ\ +EEAQIKAQEDBQYBAQEBAQEEAQYEAQIEBQUEAREgAwIANADlBgQDAgwmAQEFAQAuEh6EZgMEATsFAgEB\ +AQUYBQEDACsBDgZQAAcMBQAaBhoAUGAkBCR0CwEPAQcBAgELAQ8BBwECAAECAwEqAQkAMw0zAEAAQA\ +BVAUcBAgIBAgICBAEMAQEBBwFBAQQCCAEHARwBBAEFAQEDBwEAAhkBGQEfARkBHwEZAR8BGQEfARkB\ +CAAKARQGBgA+AEQAGgYaBhoAAAADAACDBCAAkQVgAF0ToAASFyAfDCBgH+8soCsqMCAsb6bgLAKoYC\ +0e+2AuAP4gNp7/YDb9AeE2AQohNyQN4TerDmE5LxihOTAcYUjzHqFMQDRhUPBqoVFPbyFSnbyhUgDP\ +YVNl0aFTANohVADg4VWu4mFX7OQhWdDooVkgAO5Z8AF/WgBwAAcALQEBAQIBAgEBSAswFRABZQcCBg\ +ICAQQjAR4bWws6CQkBGAQBCQEDAQUrAzwIKhgBIDcBAQEECAQBAwcKAh0BOgEBAQIECAEJAQoCGgEC\ +AjkBBAIEAgIDAwEeAgMBCwI5AQQFAQIEARQCFgYBAToBAQIBBAgBBwMKAh4BOwEBAQwBCQEoAQMBNw\ +EBAwUDAQQHAgsCHQE6AQIBAgEDAQUCBwILAhwCOQIBAQIECAEJAQoCHQFIAQQBAgMBAQgBUQECBwwI\ +YgECCQsHSQIbAQEBAQE3DgEFAQIFCwEkCQFmBAEGAQICAhkCBAMQBA0BAgIGAQ8BAAMAAx0CHgIeAk\ +ACAQcIAQILCQEtAwEBdQIiAXYDBAIJAQYD2wICAToBAQcBAQEBAggGCgIBMB8xBDAHAQEFASgJDAIg\ +BAICAQM4AQECAwEBAzoIAgKYAwENAQcEAQYBAwLGQAABwyEAA40BYCAABmkCAAQBCiACUAIAAQMBBA\ +EZAgUBlwIaEg0BJggZCy4DMAECBAICJwFDBgICAgIMAQgBLwEzAQEDAgIFAgEBKgIIAe4BAgEEAQAB\ +ABAQEAACAAHiAZUFAAMBAgUEKAMEAaUCAAQAAlADRgsxBHsBNg8pAQICCgMxBAICBwE9AyQFAQg+AQ\ +wCNAkKBAIBXwMCAQECBgECAZ0BAwgVAjkCAQEBARYBDgcDBcMIAgMBARcBUQECBgEBAgEBAgEC6wEC\ +BAYCAQIbAlUIAgEBAmoBAQECBgEBZQMCBAEFAAkBAvUBCgIBAQQBkAQCAgQBIAooBgIECAEJBgIDLg\ +0BAgAHAQYBAVIWAgcBAgECegYDAQECAQcBAUgCAwEBAQACCwI0BQUBAQEAAQYPAAU7BwABPwRRAQAC\ +AC4CFwABAQMEBQgIAgceBJQDADcEMggBDgEWBQEPAAcBEQIHAQIBBWQBoAcAAT0EAAQAB20HAGCA8A\ +AAYAYAAGYJIAFAEOABaRMgBu4WoAZGGeAGcCDgB2Ak4Al2JyAL/SygCwcw4AuSMSAMIKbgDDCoYA7w\ +q+AOEP9gEAcBoRDhAuEQWAihEfoMIRNgDuEWUBRhF1AW4RngGGEaUBwhG1AfoRsAJGEcYGrhHIBuIR\ +3A0iEeztdhHkDhIR/w4mEf8OShH8fo4R9x7CEgAPGhIPD74SH6+zIiMAp4AgUBAgMACoYKxgoACnYK\ +BAZsCnYKdgoCBm4NcwoIB2cKaAcHE20KYAp2CkYUAApGCgAUAAPvCgYKFgoACoALpQoGCrYKVgqGCg\ +YKAAEDBgYKxjMCBQA8ThYAHgABAAEZCQ4DAASKCh4IAQ8gCicPAAq8CgAGmgomCsYKFgpWCgAKAAoA\ +LQw5EQIAGyQEHQEIAYYFygoACBkHJwlLBRYGoAICEAIuQAk0Ah4DSwVoCBgIKQcABjAKAB+eCioEcA\ +eGHoAKPAqQCgcU+woACnYKAApmCmYMABNdCgAd4wpGCgAKZhUAbwAKVgqGCgEHABcAFAwUbBkAMgAK\ +AAoACgAJgAoAOwEDAQRMLQEPAA0ACgAAwAAAAOAAAADBAAAA4QAAAMIAAADiAAAAwwAAAOMAAADEAA\ +AA5AAAAMUAAADlAAAAxgAAAOYAAADHAAAA5wAAAMgAAADoAAAAyQAAAOkAAADKAAAA6gAAAMsAAADr\ +AAAAzAAAAOwAAADNAAAA7QAAAM4AAADuAAAAzwAAAO8AAADQAAAA8AAAANEAAADxAAAA0gAAAPIAAA\ +DTAAAA8wAAANQAAAD0AAAA1QAAAPUAAADWAAAA9gAAANgAAAD4AAAA2QAAAPkAAADaAAAA+gAAANsA\ +AAD7AAAA3AAAAPwAAADdAAAA/QAAAN4AAAD+AAAAAAEAAAEBAAACAQAAAwEAAAQBAAAFAQAABgEAAA\ +cBAAAIAQAACQEAAAoBAAALAQAADAEAAA0BAAAOAQAADwEAABABAAARAQAAEgEAABMBAAAUAQAAFQEA\ +ABYBAAAXAQAAGAEAABkBAAAaAQAAGwEAABwBAAAdAQAAHgEAAB8BAAAgAQAAIQEAACIBAAAjAQAAJA\ +EAACUBAAAmAQAAJwEAACgBAAApAQAAKgEAACsBAAAsAQAALQEAAC4BAAAvAQAAMAEAAAAAQAAyAQAA\ +MwEAADQBAAA1AQAANgEAADcBAAA5AQAAOgEAADsBAAA8AQAAPQEAAD4BAAA/AQAAQAEAAEEBAABCAQ\ +AAQwEAAEQBAABFAQAARgEAAEcBAABIAQAASgEAAEsBAABMAQAATQEAAE4BAABPAQAAUAEAAFEBAABS\ +AQAAUwEAAFQBAABVAQAAVgEAAFcBAABYAQAAWQEAAFoBAABbAQAAXAEAAF0BAABeAQAAXwEAAGABAA\ +BhAQAAYgEAAGMBAABkAQAAZQEAAGYBAABnAQAAaAEAAGkBAABqAQAAawEAAGwBAABtAQAAbgEAAG8B\ +AABwAQAAcQEAAHIBAABzAQAAdAEAAHUBAAB2AQAAdwEAAHgBAAD/AAAAeQEAAHoBAAB7AQAAfAEAAH\ +0BAAB+AQAAgQEAAFMCAACCAQAAgwEAAIQBAACFAQAAhgEAAFQCAACHAQAAiAEAAIkBAABWAgAAigEA\ +AFcCAACLAQAAjAEAAI4BAADdAQAAjwEAAFkCAACQAQAAWwIAAJEBAACSAQAAkwEAAGACAACUAQAAYw\ +IAAJYBAABpAgAAlwEAAGgCAACYAQAAmQEAAJwBAABvAgAAnQEAAHICAACfAQAAdQIAAKABAAChAQAA\ +ogEAAKMBAACkAQAApQEAAKYBAACAAgAApwEAAKgBAACpAQAAgwIAAKwBAACtAQAArgEAAIgCAACvAQ\ +AAsAEAALEBAACKAgAAsgEAAIsCAACzAQAAtAEAALUBAAC2AQAAtwEAAJICAAC4AQAAuQEAALwBAAC9\ +AQAAxAEAAMYBAADFAQAAxgEAAMcBAADJAQAAyAEAAMkBAADKAQAAzAEAAMsBAADMAQAAzQEAAM4BAA\ +DPAQAA0AEAANEBAADSAQAA0wEAANQBAADVAQAA1gEAANcBAADYAQAA2QEAANoBAADbAQAA3AEAAN4B\ +AADfAQAA4AEAAOEBAADiAQAA4wEAAOQBAADlAQAA5gEAAOcBAADoAQAA6QEAAOoBAADrAQAA7AEAAO\ +0BAADuAQAA7wEAAPEBAADzAQAA8gEAAPMBAAD0AQAA9QEAAPYBAACVAQAA9wEAAL8BAAD4AQAA+QEA\ +APoBAAD7AQAA/AEAAP0BAAD+AQAA/wEAAAACAAABAgAAAgIAAAMCAAAEAgAABQIAAAYCAAAHAgAACA\ +IAAAkCAAAKAgAACwIAAAwCAAANAgAADgIAAA8CAAAQAgAAEQIAABICAAATAgAAFAIAABUCAAAWAgAA\ +FwIAABgCAAAZAgAAGgIAABsCAAAcAgAAHQIAAB4CAAAfAgAAIAIAAJ4BAAAiAgAAIwIAACQCAAAlAg\ +AAJgIAACcCAAAoAgAAKQIAACoCAAArAgAALAIAAC0CAAAuAgAALwIAADACAAAxAgAAMgIAADMCAAA6\ +AgAAZSwAADsCAAA8AgAAPQIAAJoBAAA+AgAAZiwAAEECAABCAgAAQwIAAIABAABEAgAAiQIAAEUCAA\ +CMAgAARgIAAEcCAABIAgAASQIAAEoCAABLAgAATAIAAE0CAABOAgAATwIAAHADAABxAwAAcgMAAHMD\ +AAB2AwAAdwMAAH8DAADzAwAAhgMAAKwDAACIAwAArQMAAIkDAACuAwAAigMAAK8DAACMAwAAzAMAAI\ +4DAADNAwAAjwMAAM4DAACRAwAAsQMAAJIDAACyAwAAkwMAALMDAACUAwAAtAMAAJUDAAC1AwAAlgMA\ +ALYDAACXAwAAtwMAAJgDAAC4AwAAmQMAALkDAACaAwAAugMAAJsDAAC7AwAAnAMAALwDAACdAwAAvQ\ +MAAJ4DAAC+AwAAnwMAAL8DAACgAwAAwAMAAKEDAADBAwAAowMAAMMDAACkAwAAxAMAAKUDAADFAwAA\ +pgMAAMYDAACnAwAAxwMAAKgDAADIAwAAqQMAAMkDAACqAwAAygMAAKsDAADLAwAAzwMAANcDAADYAw\ +AA2QMAANoDAADbAwAA3AMAAN0DAADeAwAA3wMAAOADAADhAwAA4gMAAOMDAADkAwAA5QMAAOYDAADn\ +AwAA6AMAAOkDAADqAwAA6wMAAOwDAADtAwAA7gMAAO8DAAD0AwAAuAMAAPcDAAD4AwAA+QMAAPIDAA\ +D6AwAA+wMAAP0DAAB7AwAA/gMAAHwDAAD/AwAAfQMAAAAEAABQBAAAAQQAAFEEAAACBAAAUgQAAAME\ +AABTBAAABAQAAFQEAAAFBAAAVQQAAAYEAABWBAAABwQAAFcEAAAIBAAAWAQAAAkEAABZBAAACgQAAF\ +oEAAALBAAAWwQAAAwEAABcBAAADQQAAF0EAAAOBAAAXgQAAA8EAABfBAAAEAQAADAEAAARBAAAMQQA\ +ABIEAAAyBAAAEwQAADMEAAAUBAAANAQAABUEAAA1BAAAFgQAADYEAAAXBAAANwQAABgEAAA4BAAAGQ\ +QAADkEAAAaBAAAOgQAABsEAAA7BAAAHAQAADwEAAAdBAAAPQQAAB4EAAA+BAAAHwQAAD8EAAAgBAAA\ +QAQAACEEAABBBAAAIgQAAEIEAAAjBAAAQwQAACQEAABEBAAAJQQAAEUEAAAmBAAARgQAACcEAABHBA\ +AAKAQAAEgEAAApBAAASQQAACoEAABKBAAAKwQAAEsEAAAsBAAATAQAAC0EAABNBAAALgQAAE4EAAAv\ +BAAATwQAAGAEAABhBAAAYgQAAGMEAABkBAAAZQQAAGYEAABnBAAAaAQAAGkEAABqBAAAawQAAGwEAA\ +BtBAAAbgQAAG8EAABwBAAAcQQAAHIEAABzBAAAdAQAAHUEAAB2BAAAdwQAAHgEAAB5BAAAegQAAHsE\ +AAB8BAAAfQQAAH4EAAB/BAAAgAQAAIEEAACKBAAAiwQAAIwEAACNBAAAjgQAAI8EAACQBAAAkQQAAJ\ +IEAACTBAAAlAQAAJUEAACWBAAAlwQAAJgEAACZBAAAmgQAAJsEAACcBAAAnQQAAJ4EAACfBAAAoAQA\ +AKEEAACiBAAAowQAAKQEAAClBAAApgQAAKcEAACoBAAAqQQAAKoEAACrBAAArAQAAK0EAACuBAAArw\ +QAALAEAACxBAAAsgQAALMEAAC0BAAAtQQAALYEAAC3BAAAuAQAALkEAAC6BAAAuwQAALwEAAC9BAAA\ +vgQAAL8EAADABAAAzwQAAMEEAADCBAAAwwQAAMQEAADFBAAAxgQAAMcEAADIBAAAyQQAAMoEAADLBA\ +AAzAQAAM0EAADOBAAA0AQAANEEAADSBAAA0wQAANQEAADVBAAA1gQAANcEAADYBAAA2QQAANoEAADb\ +BAAA3AQAAN0EAADeBAAA3wQAAOAEAADhBAAA4gQAAOMEAADkBAAA5QQAAOYEAADnBAAA6AQAAOkEAA\ +DqBAAA6wQAAOwEAADtBAAA7gQAAO8EAADwBAAA8QQAAPIEAADzBAAA9AQAAPUEAAD2BAAA9wQAAPgE\ +AAD5BAAA+gQAAPsEAAD8BAAA/QQAAP4EAAD/BAAAAAUAAAEFAAACBQAAAwUAAAQFAAAFBQAABgUAAA\ +cFAAAIBQAACQUAAAoFAAALBQAADAUAAA0FAAAOBQAADwUAABAFAAARBQAAEgUAABMFAAAUBQAAFQUA\ +ABYFAAAXBQAAGAUAABkFAAAaBQAAGwUAABwFAAAdBQAAHgUAAB8FAAAgBQAAIQUAACIFAAAjBQAAJA\ +UAACUFAAAmBQAAJwUAACgFAAApBQAAKgUAACsFAAAsBQAALQUAAC4FAAAvBQAAMQUAAGEFAAAyBQAA\ +YgUAADMFAABjBQAANAUAAGQFAAA1BQAAZQUAADYFAABmBQAANwUAAGcFAAA4BQAAaAUAADkFAABpBQ\ +AAOgUAAGoFAAA7BQAAawUAADwFAABsBQAAPQUAAG0FAAA+BQAAbgUAAD8FAABvBQAAQAUAAHAFAABB\ +BQAAcQUAAEIFAAByBQAAQwUAAHMFAABEBQAAdAUAAEUFAAB1BQAARgUAAHYFAABHBQAAdwUAAEgFAA\ +B4BQAASQUAAHkFAABKBQAAegUAAEsFAAB7BQAATAUAAHwFAABNBQAAfQUAAE4FAAB+BQAATwUAAH8F\ +AABQBQAAgAUAAFEFAACBBQAAUgUAAIIFAABTBQAAgwUAAFQFAACEBQAAVQUAAIUFAABWBQAAhgUAAK\ +AQAAAALQAAoRAAAAEtAACiEAAAAi0AAKMQAAADLQAApBAAAAQtAAClEAAABS0AAKYQAAAGLQAApxAA\ +AActAACoEAAACC0AAKkQAAAJLQAAqhAAAAotAACrEAAACy0AAKwQAAAMLQAArRAAAA0tAACuEAAADi\ +0AAK8QAAAPLQAAsBAAABAtAACxEAAAES0AALIQAAASLQAAsxAAABMtAAC0EAAAFC0AALUQAAAVLQAA\ +thAAABYtAAC3EAAAFy0AALgQAAAYLQAAuRAAABktAAC6EAAAGi0AALsQAAAbLQAAvBAAABwtAAC9EA\ +AAHS0AAL4QAAAeLQAAvxAAAB8tAADAEAAAIC0AAMEQAAAhLQAAwhAAACItAADDEAAAIy0AAMQQAAAk\ +LQAAxRAAACUtAADHEAAAJy0AAM0QAAAtLQAAoBMAAHCrAAChEwAAcasAAKITAAByqwAAoxMAAHOrAA\ +CkEwAAdKsAAKUTAAB1qwAAphMAAHarAACnEwAAd6sAAKgTAAB4qwAAqRMAAHmrAACqEwAAeqsAAKsT\ +AAB7qwAArBMAAHyrAACtEwAAfasAAK4TAAB+qwAArxMAAH+rAACwEwAAgKsAALETAACBqwAAshMAAI\ +KrAACzEwAAg6sAALQTAACEqwAAtRMAAIWrAAC2EwAAhqsAALcTAACHqwAAuBMAAIirAAC5EwAAiasA\ +ALoTAACKqwAAuxMAAIurAAC8EwAAjKsAAL0TAACNqwAAvhMAAI6rAAC/EwAAj6sAAMATAACQqwAAwR\ +MAAJGrAADCEwAAkqsAAMMTAACTqwAAxBMAAJSrAADFEwAAlasAAMYTAACWqwAAxxMAAJerAADIEwAA\ +mKsAAMkTAACZqwAAyhMAAJqrAADLEwAAm6sAAMwTAACcqwAAzRMAAJ2rAADOEwAAnqsAAM8TAACfqw\ +AA0BMAAKCrAADREwAAoasAANITAACiqwAA0xMAAKOrAADUEwAApKsAANUTAAClqwAA1hMAAKarAADX\ +EwAAp6sAANgTAACoqwAA2RMAAKmrAADaEwAAqqsAANsTAACrqwAA3BMAAKyrAADdEwAArasAAN4TAA\ +CuqwAA3xMAAK+rAADgEwAAsKsAAOETAACxqwAA4hMAALKrAADjEwAAs6sAAOQTAAC0qwAA5RMAALWr\ +AADmEwAAtqsAAOcTAAC3qwAA6BMAALirAADpEwAAuasAAOoTAAC6qwAA6xMAALurAADsEwAAvKsAAO\ +0TAAC9qwAA7hMAAL6rAADvEwAAv6sAAPATAAD4EwAA8RMAAPkTAADyEwAA+hMAAPMTAAD7EwAA9BMA\ +APwTAAD1EwAA/RMAAJAcAADQEAAAkRwAANEQAACSHAAA0hAAAJMcAADTEAAAlBwAANQQAACVHAAA1R\ +AAAJYcAADWEAAAlxwAANcQAACYHAAA2BAAAJkcAADZEAAAmhwAANoQAACbHAAA2xAAAJwcAADcEAAA\ +nRwAAN0QAACeHAAA3hAAAJ8cAADfEAAAoBwAAOAQAAChHAAA4RAAAKIcAADiEAAAoxwAAOMQAACkHA\ +AA5BAAAKUcAADlEAAAphwAAOYQAACnHAAA5xAAAKgcAADoEAAAqRwAAOkQAACqHAAA6hAAAKscAADr\ +EAAArBwAAOwQAACtHAAA7RAAAK4cAADuEAAArxwAAO8QAACwHAAA8BAAALEcAADxEAAAshwAAPIQAA\ +CzHAAA8xAAALQcAAD0EAAAtRwAAPUQAAC2HAAA9hAAALccAAD3EAAAuBwAAPgQAAC5HAAA+RAAALoc\ +AAD6EAAAvRwAAP0QAAC+HAAA/hAAAL8cAAD/EAAAAB4AAAEeAAACHgAAAx4AAAQeAAAFHgAABh4AAA\ +ceAAAIHgAACR4AAAoeAAALHgAADB4AAA0eAAAOHgAADx4AABAeAAARHgAAEh4AABMeAAAUHgAAFR4A\ +ABYeAAAXHgAAGB4AABkeAAAaHgAAGx4AABweAAAdHgAAHh4AAB8eAAAgHgAAIR4AACIeAAAjHgAAJB\ +4AACUeAAAmHgAAJx4AACgeAAApHgAAKh4AACseAAAsHgAALR4AAC4eAAAvHgAAMB4AADEeAAAyHgAA\ +Mx4AADQeAAA1HgAANh4AADceAAA4HgAAOR4AADoeAAA7HgAAPB4AAD0eAAA+HgAAPx4AAEAeAABBHg\ +AAQh4AAEMeAABEHgAARR4AAEYeAABHHgAASB4AAEkeAABKHgAASx4AAEweAABNHgAATh4AAE8eAABQ\ +HgAAUR4AAFIeAABTHgAAVB4AAFUeAABWHgAAVx4AAFgeAABZHgAAWh4AAFseAABcHgAAXR4AAF4eAA\ +BfHgAAYB4AAGEeAABiHgAAYx4AAGQeAABlHgAAZh4AAGceAABoHgAAaR4AAGoeAABrHgAAbB4AAG0e\ +AABuHgAAbx4AAHAeAABxHgAAch4AAHMeAAB0HgAAdR4AAHYeAAB3HgAAeB4AAHkeAAB6HgAAex4AAH\ +weAAB9HgAAfh4AAH8eAACAHgAAgR4AAIIeAACDHgAAhB4AAIUeAACGHgAAhx4AAIgeAACJHgAAih4A\ +AIseAACMHgAAjR4AAI4eAACPHgAAkB4AAJEeAACSHgAAkx4AAJQeAACVHgAAnh4AAN8AAACgHgAAoR\ +4AAKIeAACjHgAApB4AAKUeAACmHgAApx4AAKgeAACpHgAAqh4AAKseAACsHgAArR4AAK4eAACvHgAA\ +sB4AALEeAACyHgAAsx4AALQeAAC1HgAAth4AALceAAC4HgAAuR4AALoeAAC7HgAAvB4AAL0eAAC+Hg\ +AAvx4AAMAeAADBHgAAwh4AAMMeAADEHgAAxR4AAMYeAADHHgAAyB4AAMkeAADKHgAAyx4AAMweAADN\ +HgAAzh4AAM8eAADQHgAA0R4AANIeAADTHgAA1B4AANUeAADWHgAA1x4AANgeAADZHgAA2h4AANseAA\ +DcHgAA3R4AAN4eAADfHgAA4B4AAOEeAADiHgAA4x4AAOQeAADlHgAA5h4AAOceAADoHgAA6R4AAOoe\ +AADrHgAA7B4AAO0eAADuHgAA7x4AAPAeAADxHgAA8h4AAPMeAAD0HgAA9R4AAPYeAAD3HgAA+B4AAP\ +keAAD6HgAA+x4AAPweAAD9HgAA/h4AAP8eAAAIHwAAAB8AAAkfAAABHwAACh8AAAIfAAALHwAAAx8A\ +AAwfAAAEHwAADR8AAAUfAAAOHwAABh8AAA8fAAAHHwAAGB8AABAfAAAZHwAAER8AABofAAASHwAAGx\ +8AABMfAAAcHwAAFB8AAB0fAAAVHwAAKB8AACAfAAApHwAAIR8AACofAAAiHwAAKx8AACMfAAAsHwAA\ +JB8AAC0fAAAlHwAALh8AACYfAAAvHwAAJx8AADgfAAAwHwAAOR8AADEfAAA6HwAAMh8AADsfAAAzHw\ +AAPB8AADQfAAA9HwAANR8AAD4fAAA2HwAAPx8AADcfAABIHwAAQB8AAEkfAABBHwAASh8AAEIfAABL\ +HwAAQx8AAEwfAABEHwAATR8AAEUfAABZHwAAUR8AAFsfAABTHwAAXR8AAFUfAABfHwAAVx8AAGgfAA\ +BgHwAAaR8AAGEfAABqHwAAYh8AAGsfAABjHwAAbB8AAGQfAABtHwAAZR8AAG4fAABmHwAAbx8AAGcf\ +AACIHwAAgB8AAIkfAACBHwAAih8AAIIfAACLHwAAgx8AAIwfAACEHwAAjR8AAIUfAACOHwAAhh8AAI\ +8fAACHHwAAmB8AAJAfAACZHwAAkR8AAJofAACSHwAAmx8AAJMfAACcHwAAlB8AAJ0fAACVHwAAnh8A\ +AJYfAACfHwAAlx8AAKgfAACgHwAAqR8AAKEfAACqHwAAoh8AAKsfAACjHwAArB8AAKQfAACtHwAApR\ +8AAK4fAACmHwAArx8AAKcfAAC4HwAAsB8AALkfAACxHwAAuh8AAHAfAAC7HwAAcR8AALwfAACzHwAA\ +yB8AAHIfAADJHwAAcx8AAMofAAB0HwAAyx8AAHUfAADMHwAAwx8AANgfAADQHwAA2R8AANEfAADaHw\ +AAdh8AANsfAAB3HwAA6B8AAOAfAADpHwAA4R8AAOofAAB6HwAA6x8AAHsfAADsHwAA5R8AAPgfAAB4\ +HwAA+R8AAHkfAAD6HwAAfB8AAPsfAAB9HwAA/B8AAPMfAAAmIQAAyQMAACohAABrAAAAKyEAAOUAAA\ +AyIQAATiEAAGAhAABwIQAAYSEAAHEhAABiIQAAciEAAGMhAABzIQAAZCEAAHQhAABlIQAAdSEAAGYh\ +AAB2IQAAZyEAAHchAABoIQAAeCEAAGkhAAB5IQAAaiEAAHohAABrIQAAeyEAAGwhAAB8IQAAbSEAAH\ +0hAABuIQAAfiEAAG8hAAB/IQAAgyEAAIQhAAC2JAAA0CQAALckAADRJAAAuCQAANIkAAC5JAAA0yQA\ +ALokAADUJAAAuyQAANUkAAC8JAAA1iQAAL0kAADXJAAAviQAANgkAAC/JAAA2SQAAMAkAADaJAAAwS\ +QAANskAADCJAAA3CQAAMMkAADdJAAAxCQAAN4kAADFJAAA3yQAAMYkAADgJAAAxyQAAOEkAADIJAAA\ +4iQAAMkkAADjJAAAyiQAAOQkAADLJAAA5SQAAMwkAADmJAAAzSQAAOckAADOJAAA6CQAAM8kAADpJA\ +AAACwAADAsAAABLAAAMSwAAAIsAAAyLAAAAywAADMsAAAELAAANCwAAAUsAAA1LAAABiwAADYsAAAH\ +LAAANywAAAgsAAA4LAAACSwAADksAAAKLAAAOiwAAAssAAA7LAAADCwAADwsAAANLAAAPSwAAA4sAA\ +A+LAAADywAAD8sAAAQLAAAQCwAABEsAABBLAAAEiwAAEIsAAATLAAAQywAABQsAABELAAAFSwAAEUs\ +AAAWLAAARiwAABcsAABHLAAAGCwAAEgsAAAZLAAASSwAABosAABKLAAAGywAAEssAAAcLAAATCwAAB\ +0sAABNLAAAHiwAAE4sAAAfLAAATywAACAsAABQLAAAISwAAFEsAAAiLAAAUiwAACMsAABTLAAAJCwA\ +AFQsAAAlLAAAVSwAACYsAABWLAAAJywAAFcsAAAoLAAAWCwAACksAABZLAAAKiwAAFosAAArLAAAWy\ +wAACwsAABcLAAALSwAAF0sAAAuLAAAXiwAAC8sAABfLAAAYCwAAGEsAABiLAAAawIAAGMsAAB9HQAA\ +ZCwAAH0CAABnLAAAaCwAAGksAABqLAAAaywAAGwsAABtLAAAUQIAAG4sAABxAgAAbywAAFACAABwLA\ +AAUgIAAHIsAABzLAAAdSwAAHYsAAB+LAAAPwIAAH8sAABAAgAAgCwAAIEsAACCLAAAgywAAIQsAACF\ +LAAAhiwAAIcsAACILAAAiSwAAIosAACLLAAAjCwAAI0sAACOLAAAjywAAJAsAACRLAAAkiwAAJMsAA\ +CULAAAlSwAAJYsAACXLAAAmCwAAJksAACaLAAAmywAAJwsAACdLAAAniwAAJ8sAACgLAAAoSwAAKIs\ +AACjLAAApCwAAKUsAACmLAAApywAAKgsAACpLAAAqiwAAKssAACsLAAArSwAAK4sAACvLAAAsCwAAL\ +EsAACyLAAAsywAALQsAAC1LAAAtiwAALcsAAC4LAAAuSwAALosAAC7LAAAvCwAAL0sAAC+LAAAvywA\ +AMAsAADBLAAAwiwAAMMsAADELAAAxSwAAMYsAADHLAAAyCwAAMksAADKLAAAyywAAMwsAADNLAAAzi\ +wAAM8sAADQLAAA0SwAANIsAADTLAAA1CwAANUsAADWLAAA1ywAANgsAADZLAAA2iwAANssAADcLAAA\ +3SwAAN4sAADfLAAA4CwAAOEsAADiLAAA4ywAAOssAADsLAAA7SwAAO4sAADyLAAA8ywAAECmAABBpg\ +AAQqYAAEOmAABEpgAARaYAAEamAABHpgAASKYAAEmmAABKpgAAS6YAAEymAABNpgAATqYAAE+mAABQ\ +pgAAUaYAAFKmAABTpgAAVKYAAFWmAABWpgAAV6YAAFimAABZpgAAWqYAAFumAABcpgAAXaYAAF6mAA\ +BfpgAAYKYAAGGmAABipgAAY6YAAGSmAABlpgAAZqYAAGemAABopgAAaaYAAGqmAABrpgAAbKYAAG2m\ +AACApgAAgaYAAIKmAACDpgAAhKYAAIWmAACGpgAAh6YAAIimAACJpgAAiqYAAIumAACMpgAAjaYAAI\ +6mAACPpgAAkKYAAJGmAACSpgAAk6YAAJSmAACVpgAAlqYAAJemAACYpgAAmaYAAJqmAACbpgAAIqcA\ +ACOnAAAkpwAAJacAACanAAAnpwAAKKcAACmnAAAqpwAAK6cAACynAAAtpwAALqcAAC+nAAAypwAAM6\ +cAADSnAAA1pwAANqcAADenAAA4pwAAOacAADqnAAA7pwAAPKcAAD2nAAA+pwAAP6cAAECnAABBpwAA\ +QqcAAEOnAABEpwAARacAAEanAABHpwAASKcAAEmnAABKpwAAS6cAAEynAABNpwAATqcAAE+nAABQpw\ +AAUacAAFKnAABTpwAAVKcAAFWnAABWpwAAV6cAAFinAABZpwAAWqcAAFunAABcpwAAXacAAF6nAABf\ +pwAAYKcAAGGnAABipwAAY6cAAGSnAABlpwAAZqcAAGenAABopwAAaacAAGqnAABrpwAAbKcAAG2nAA\ +BupwAAb6cAAHmnAAB6pwAAe6cAAHynAAB9pwAAeR0AAH6nAAB/pwAAgKcAAIGnAACCpwAAg6cAAISn\ +AACFpwAAhqcAAIenAACLpwAAjKcAAI2nAABlAgAAkKcAAJGnAACSpwAAk6cAAJanAACXpwAAmKcAAJ\ +mnAACapwAAm6cAAJynAACdpwAAnqcAAJ+nAACgpwAAoacAAKKnAACjpwAApKcAAKWnAACmpwAAp6cA\ +AKinAACppwAAqqcAAGYCAACrpwAAXAIAAKynAABhAgAAracAAGwCAACupwAAagIAALCnAACeAgAAsa\ +cAAIcCAACypwAAnQIAALOnAABTqwAAtKcAALWnAAC2pwAAt6cAALinAAC5pwAAuqcAALunAAC8pwAA\ +vacAAL6nAAC/pwAAwKcAAMGnAADCpwAAw6cAAMSnAACUpwAAxacAAIICAADGpwAAjh0AAMenAADIpw\ +AAyacAAMqnAADQpwAA0acAANanAADXpwAA2KcAANmnAAD1pwAA9qcAACH/AABB/wAAIv8AAEL/AAAj\ +/wAAQ/8AACT/AABE/wAAJf8AAEX/AAAm/wAARv8AACf/AABH/wAAKP8AAEj/AAAp/wAASf8AACr/AA\ +BK/wAAK/8AAEv/AAAs/wAATP8AAC3/AABN/wAALv8AAE7/AAAv/wAAT/8AADD/AABQ/wAAMf8AAFH/\ +AAAy/wAAUv8AADP/AABT/wAANP8AAFT/AAA1/wAAVf8AADb/AABW/wAAN/8AAFf/AAA4/wAAWP8AAD\ +n/AABZ/wAAOv8AAFr/AAAABAEAKAQBAAEEAQApBAEAAgQBACoEAQADBAEAKwQBAAQEAQAsBAEABQQB\ +AC0EAQAGBAEALgQBAAcEAQAvBAEACAQBADAEAQAJBAEAMQQBAAoEAQAyBAEACwQBADMEAQAMBAEANA\ +QBAA0EAQA1BAEADgQBADYEAQAPBAEANwQBABAEAQA4BAEAEQQBADkEAQASBAEAOgQBABMEAQA7BAEA\ +FAQBADwEAQAVBAEAPQQBABYEAQA+BAEAFwQBAD8EAQAYBAEAQAQBABkEAQBBBAEAGgQBAEIEAQAbBA\ +EAQwQBABwEAQBEBAEAHQQBAEUEAQAeBAEARgQBAB8EAQBHBAEAIAQBAEgEAQAhBAEASQQBACIEAQBK\ +BAEAIwQBAEsEAQAkBAEATAQBACUEAQBNBAEAJgQBAE4EAQAnBAEATwQBALAEAQDYBAEAsQQBANkEAQ\ +CyBAEA2gQBALMEAQDbBAEAtAQBANwEAQC1BAEA3QQBALYEAQDeBAEAtwQBAN8EAQC4BAEA4AQBALkE\ +AQDhBAEAugQBAOIEAQC7BAEA4wQBALwEAQDkBAEAvQQBAOUEAQC+BAEA5gQBAL8EAQDnBAEAwAQBAO\ +gEAQDBBAEA6QQBAMIEAQDqBAEAwwQBAOsEAQDEBAEA7AQBAMUEAQDtBAEAxgQBAO4EAQDHBAEA7wQB\ +AMgEAQDwBAEAyQQBAPEEAQDKBAEA8gQBAMsEAQDzBAEAzAQBAPQEAQDNBAEA9QQBAM4EAQD2BAEAzw\ +QBAPcEAQDQBAEA+AQBANEEAQD5BAEA0gQBAPoEAQDTBAEA+wQBAHAFAQCXBQEAcQUBAJgFAQByBQEA\ +mQUBAHMFAQCaBQEAdAUBAJsFAQB1BQEAnAUBAHYFAQCdBQEAdwUBAJ4FAQB4BQEAnwUBAHkFAQCgBQ\ +EAegUBAKEFAQB8BQEAowUBAH0FAQCkBQEAfgUBAKUFAQB/BQEApgUBAIAFAQCnBQEAgQUBAKgFAQCC\ +BQEAqQUBAIMFAQCqBQEAhAUBAKsFAQCFBQEArAUBAIYFAQCtBQEAhwUBAK4FAQCIBQEArwUBAIkFAQ\ +CwBQEAigUBALEFAQCMBQEAswUBAI0FAQC0BQEAjgUBALUFAQCPBQEAtgUBAJAFAQC3BQEAkQUBALgF\ +AQCSBQEAuQUBAJQFAQC7BQEAlQUBALwFAQCADAEAwAwBAIEMAQDBDAEAggwBAMIMAQCDDAEAwwwBAI\ +QMAQDEDAEAhQwBAMUMAQCGDAEAxgwBAIcMAQDHDAEAiAwBAMgMAQCJDAEAyQwBAIoMAQDKDAEAiwwB\ +AMsMAQCMDAEAzAwBAI0MAQDNDAEAjgwBAM4MAQCPDAEAzwwBAJAMAQDQDAEAkQwBANEMAQCSDAEA0g\ +wBAJMMAQDTDAEAlAwBANQMAQCVDAEA1QwBAJYMAQDWDAEAlwwBANcMAQCYDAEA2AwBAJkMAQDZDAEA\ +mgwBANoMAQCbDAEA2wwBAJwMAQDcDAEAnQwBAN0MAQCeDAEA3gwBAJ8MAQDfDAEAoAwBAOAMAQChDA\ +EA4QwBAKIMAQDiDAEAowwBAOMMAQCkDAEA5AwBAKUMAQDlDAEApgwBAOYMAQCnDAEA5wwBAKgMAQDo\ +DAEAqQwBAOkMAQCqDAEA6gwBAKsMAQDrDAEArAwBAOwMAQCtDAEA7QwBAK4MAQDuDAEArwwBAO8MAQ\ +CwDAEA8AwBALEMAQDxDAEAsgwBAPIMAQCgGAEAwBgBAKEYAQDBGAEAohgBAMIYAQCjGAEAwxgBAKQY\ +AQDEGAEApRgBAMUYAQCmGAEAxhgBAKcYAQDHGAEAqBgBAMgYAQCpGAEAyRgBAKoYAQDKGAEAqxgBAM\ +sYAQCsGAEAzBgBAK0YAQDNGAEArhgBAM4YAQCvGAEAzxgBALAYAQDQGAEAsRgBANEYAQCyGAEA0hgB\ +ALMYAQDTGAEAtBgBANQYAQC1GAEA1RgBALYYAQDWGAEAtxgBANcYAQC4GAEA2BgBALkYAQDZGAEAuh\ +gBANoYAQC7GAEA2xgBALwYAQDcGAEAvRgBAN0YAQC+GAEA3hgBAL8YAQDfGAEAQG4BAGBuAQBBbgEA\ +YW4BAEJuAQBibgEAQ24BAGNuAQBEbgEAZG4BAEVuAQBlbgEARm4BAGZuAQBHbgEAZ24BAEhuAQBobg\ +EASW4BAGluAQBKbgEAam4BAEtuAQBrbgEATG4BAGxuAQBNbgEAbW4BAE5uAQBubgEAT24BAG9uAQBQ\ +bgEAcG4BAFFuAQBxbgEAUm4BAHJuAQBTbgEAc24BAFRuAQB0bgEAVW4BAHVuAQBWbgEAdm4BAFduAQ\ +B3bgEAWG4BAHhuAQBZbgEAeW4BAFpuAQB6bgEAW24BAHtuAQBcbgEAfG4BAF1uAQB9bgEAXm4BAH5u\ +AQBfbgEAf24BAADpAQAi6QEAAekBACPpAQAC6QEAJOkBAAPpAQAl6QEABOkBACbpAQAF6QEAJ+kBAA\ +bpAQAo6QEAB+kBACnpAQAI6QEAKukBAAnpAQAr6QEACukBACzpAQAL6QEALekBAAzpAQAu6QEADekB\ +AC/pAQAO6QEAMOkBAA/pAQAx6QEAEOkBADLpAQAR6QEAM+kBABLpAQA06QEAE+kBADXpAQAU6QEANu\ +kBABXpAQA36QEAFukBADjpAQAX6QEAOekBABjpAQA66QEAGekBADvpAQAa6QEAPOkBABvpAQA96QEA\ +HOkBAD7pAQAd6QEAP+kBAB7pAQBA6QEAH+kBAEHpAQAg6QEAQukBACHpAQBD6QEAtQAAAJwDAADfAA\ +AAAABAAOAAAADAAAAA4QAAAMEAAADiAAAAwgAAAOMAAADDAAAA5AAAAMQAAADlAAAAxQAAAOYAAADG\ +AAAA5wAAAMcAAADoAAAAyAAAAOkAAADJAAAA6gAAAMoAAADrAAAAywAAAOwAAADMAAAA7QAAAM0AAA\ +DuAAAAzgAAAO8AAADPAAAA8AAAANAAAADxAAAA0QAAAPIAAADSAAAA8wAAANMAAAD0AAAA1AAAAPUA\ +AADVAAAA9gAAANYAAAD4AAAA2AAAAPkAAADZAAAA+gAAANoAAAD7AAAA2wAAAPwAAADcAAAA/QAAAN\ +0AAAD+AAAA3gAAAP8AAAB4AQAAAQEAAAABAAADAQAAAgEAAAUBAAAEAQAABwEAAAYBAAAJAQAACAEA\ +AAsBAAAKAQAADQEAAAwBAAAPAQAADgEAABEBAAAQAQAAEwEAABIBAAAVAQAAFAEAABcBAAAWAQAAGQ\ +EAABgBAAAbAQAAGgEAAB0BAAAcAQAAHwEAAB4BAAAhAQAAIAEAACMBAAAiAQAAJQEAACQBAAAnAQAA\ +JgEAACkBAAAoAQAAKwEAACoBAAAtAQAALAEAAC8BAAAuAQAAMQEAAEkAAAAzAQAAMgEAADUBAAA0AQ\ +AANwEAADYBAAA6AQAAOQEAADwBAAA7AQAAPgEAAD0BAABAAQAAPwEAAEIBAABBAQAARAEAAEMBAABG\ +AQAARQEAAEgBAABHAQAASQEAAAEAQABLAQAASgEAAE0BAABMAQAATwEAAE4BAABRAQAAUAEAAFMBAA\ +BSAQAAVQEAAFQBAABXAQAAVgEAAFkBAABYAQAAWwEAAFoBAABdAQAAXAEAAF8BAABeAQAAYQEAAGAB\ +AABjAQAAYgEAAGUBAABkAQAAZwEAAGYBAABpAQAAaAEAAGsBAABqAQAAbQEAAGwBAABvAQAAbgEAAH\ +EBAABwAQAAcwEAAHIBAAB1AQAAdAEAAHcBAAB2AQAAegEAAHkBAAB8AQAAewEAAH4BAAB9AQAAfwEA\ +AFMAAACAAQAAQwIAAIMBAACCAQAAhQEAAIQBAACIAQAAhwEAAIwBAACLAQAAkgEAAJEBAACVAQAA9g\ +EAAJkBAACYAQAAmgEAAD0CAACeAQAAIAIAAKEBAACgAQAAowEAAKIBAAClAQAApAEAAKgBAACnAQAA\ +rQEAAKwBAACwAQAArwEAALQBAACzAQAAtgEAALUBAAC5AQAAuAEAAL0BAAC8AQAAvwEAAPcBAADFAQ\ +AAxAEAAMYBAADEAQAAyAEAAMcBAADJAQAAxwEAAMsBAADKAQAAzAEAAMoBAADOAQAAzQEAANABAADP\ +AQAA0gEAANEBAADUAQAA0wEAANYBAADVAQAA2AEAANcBAADaAQAA2QEAANwBAADbAQAA3QEAAI4BAA\ +DfAQAA3gEAAOEBAADgAQAA4wEAAOIBAADlAQAA5AEAAOcBAADmAQAA6QEAAOgBAADrAQAA6gEAAO0B\ +AADsAQAA7wEAAO4BAADwAQAAAgBAAPIBAADxAQAA8wEAAPEBAAD1AQAA9AEAAPkBAAD4AQAA+wEAAP\ +oBAAD9AQAA/AEAAP8BAAD+AQAAAQIAAAACAAADAgAAAgIAAAUCAAAEAgAABwIAAAYCAAAJAgAACAIA\ +AAsCAAAKAgAADQIAAAwCAAAPAgAADgIAABECAAAQAgAAEwIAABICAAAVAgAAFAIAABcCAAAWAgAAGQ\ +IAABgCAAAbAgAAGgIAAB0CAAAcAgAAHwIAAB4CAAAjAgAAIgIAACUCAAAkAgAAJwIAACYCAAApAgAA\ +KAIAACsCAAAqAgAALQIAACwCAAAvAgAALgIAADECAAAwAgAAMwIAADICAAA8AgAAOwIAAD8CAAB+LA\ +AAQAIAAH8sAABCAgAAQQIAAEcCAABGAgAASQIAAEgCAABLAgAASgIAAE0CAABMAgAATwIAAE4CAABQ\ +AgAAbywAAFECAABtLAAAUgIAAHAsAABTAgAAgQEAAFQCAACGAQAAVgIAAIkBAABXAgAAigEAAFkCAA\ +CPAQAAWwIAAJABAABcAgAAq6cAAGACAACTAQAAYQIAAKynAABjAgAAlAEAAGUCAACNpwAAZgIAAKqn\ +AABoAgAAlwEAAGkCAACWAQAAagIAAK6nAABrAgAAYiwAAGwCAACtpwAAbwIAAJwBAABxAgAAbiwAAH\ +ICAACdAQAAdQIAAJ8BAAB9AgAAZCwAAIACAACmAQAAggIAAMWnAACDAgAAqQEAAIcCAACxpwAAiAIA\ +AK4BAACJAgAARAIAAIoCAACxAQAAiwIAALIBAACMAgAARQIAAJICAAC3AQAAnQIAALKnAACeAgAAsK\ +cAAEUDAACZAwAAcQMAAHADAABzAwAAcgMAAHcDAAB2AwAAewMAAP0DAAB8AwAA/gMAAH0DAAD/AwAA\ +kAMAAAMAQACsAwAAhgMAAK0DAACIAwAArgMAAIkDAACvAwAAigMAALADAAAEAEAAsQMAAJEDAACyAw\ +AAkgMAALMDAACTAwAAtAMAAJQDAAC1AwAAlQMAALYDAACWAwAAtwMAAJcDAAC4AwAAmAMAALkDAACZ\ +AwAAugMAAJoDAAC7AwAAmwMAALwDAACcAwAAvQMAAJ0DAAC+AwAAngMAAL8DAACfAwAAwAMAAKADAA\ +DBAwAAoQMAAMIDAACjAwAAwwMAAKMDAADEAwAApAMAAMUDAAClAwAAxgMAAKYDAADHAwAApwMAAMgD\ +AACoAwAAyQMAAKkDAADKAwAAqgMAAMsDAACrAwAAzAMAAIwDAADNAwAAjgMAAM4DAACPAwAA0AMAAJ\ +IDAADRAwAAmAMAANUDAACmAwAA1gMAAKADAADXAwAAzwMAANkDAADYAwAA2wMAANoDAADdAwAA3AMA\ +AN8DAADeAwAA4QMAAOADAADjAwAA4gMAAOUDAADkAwAA5wMAAOYDAADpAwAA6AMAAOsDAADqAwAA7Q\ +MAAOwDAADvAwAA7gMAAPADAACaAwAA8QMAAKEDAADyAwAA+QMAAPMDAAB/AwAA9QMAAJUDAAD4AwAA\ +9wMAAPsDAAD6AwAAMAQAABAEAAAxBAAAEQQAADIEAAASBAAAMwQAABMEAAA0BAAAFAQAADUEAAAVBA\ +AANgQAABYEAAA3BAAAFwQAADgEAAAYBAAAOQQAABkEAAA6BAAAGgQAADsEAAAbBAAAPAQAABwEAAA9\ +BAAAHQQAAD4EAAAeBAAAPwQAAB8EAABABAAAIAQAAEEEAAAhBAAAQgQAACIEAABDBAAAIwQAAEQEAA\ +AkBAAARQQAACUEAABGBAAAJgQAAEcEAAAnBAAASAQAACgEAABJBAAAKQQAAEoEAAAqBAAASwQAACsE\ +AABMBAAALAQAAE0EAAAtBAAATgQAAC4EAABPBAAALwQAAFAEAAAABAAAUQQAAAEEAABSBAAAAgQAAF\ +MEAAADBAAAVAQAAAQEAABVBAAABQQAAFYEAAAGBAAAVwQAAAcEAABYBAAACAQAAFkEAAAJBAAAWgQA\ +AAoEAABbBAAACwQAAFwEAAAMBAAAXQQAAA0EAABeBAAADgQAAF8EAAAPBAAAYQQAAGAEAABjBAAAYg\ +QAAGUEAABkBAAAZwQAAGYEAABpBAAAaAQAAGsEAABqBAAAbQQAAGwEAABvBAAAbgQAAHEEAABwBAAA\ +cwQAAHIEAAB1BAAAdAQAAHcEAAB2BAAAeQQAAHgEAAB7BAAAegQAAH0EAAB8BAAAfwQAAH4EAACBBA\ +AAgAQAAIsEAACKBAAAjQQAAIwEAACPBAAAjgQAAJEEAACQBAAAkwQAAJIEAACVBAAAlAQAAJcEAACW\ +BAAAmQQAAJgEAACbBAAAmgQAAJ0EAACcBAAAnwQAAJ4EAAChBAAAoAQAAKMEAACiBAAApQQAAKQEAA\ +CnBAAApgQAAKkEAACoBAAAqwQAAKoEAACtBAAArAQAAK8EAACuBAAAsQQAALAEAACzBAAAsgQAALUE\ +AAC0BAAAtwQAALYEAAC5BAAAuAQAALsEAAC6BAAAvQQAALwEAAC/BAAAvgQAAMIEAADBBAAAxAQAAM\ +MEAADGBAAAxQQAAMgEAADHBAAAygQAAMkEAADMBAAAywQAAM4EAADNBAAAzwQAAMAEAADRBAAA0AQA\ +ANMEAADSBAAA1QQAANQEAADXBAAA1gQAANkEAADYBAAA2wQAANoEAADdBAAA3AQAAN8EAADeBAAA4Q\ +QAAOAEAADjBAAA4gQAAOUEAADkBAAA5wQAAOYEAADpBAAA6AQAAOsEAADqBAAA7QQAAOwEAADvBAAA\ +7gQAAPEEAADwBAAA8wQAAPIEAAD1BAAA9AQAAPcEAAD2BAAA+QQAAPgEAAD7BAAA+gQAAP0EAAD8BA\ +AA/wQAAP4EAAABBQAAAAUAAAMFAAACBQAABQUAAAQFAAAHBQAABgUAAAkFAAAIBQAACwUAAAoFAAAN\ +BQAADAUAAA8FAAAOBQAAEQUAABAFAAATBQAAEgUAABUFAAAUBQAAFwUAABYFAAAZBQAAGAUAABsFAA\ +AaBQAAHQUAABwFAAAfBQAAHgUAACEFAAAgBQAAIwUAACIFAAAlBQAAJAUAACcFAAAmBQAAKQUAACgF\ +AAArBQAAKgUAAC0FAAAsBQAALwUAAC4FAABhBQAAMQUAAGIFAAAyBQAAYwUAADMFAABkBQAANAUAAG\ +UFAAA1BQAAZgUAADYFAABnBQAANwUAAGgFAAA4BQAAaQUAADkFAABqBQAAOgUAAGsFAAA7BQAAbAUA\ +ADwFAABtBQAAPQUAAG4FAAA+BQAAbwUAAD8FAABwBQAAQAUAAHEFAABBBQAAcgUAAEIFAABzBQAAQw\ +UAAHQFAABEBQAAdQUAAEUFAAB2BQAARgUAAHcFAABHBQAAeAUAAEgFAAB5BQAASQUAAHoFAABKBQAA\ +ewUAAEsFAAB8BQAATAUAAH0FAABNBQAAfgUAAE4FAAB/BQAATwUAAIAFAABQBQAAgQUAAFEFAACCBQ\ +AAUgUAAIMFAABTBQAAhAUAAFQFAACFBQAAVQUAAIYFAABWBQAAhwUAAAUAQADQEAAAkBwAANEQAACR\ +HAAA0hAAAJIcAADTEAAAkxwAANQQAACUHAAA1RAAAJUcAADWEAAAlhwAANcQAACXHAAA2BAAAJgcAA\ +DZEAAAmRwAANoQAACaHAAA2xAAAJscAADcEAAAnBwAAN0QAACdHAAA3hAAAJ4cAADfEAAAnxwAAOAQ\ +AACgHAAA4RAAAKEcAADiEAAAohwAAOMQAACjHAAA5BAAAKQcAADlEAAApRwAAOYQAACmHAAA5xAAAK\ +ccAADoEAAAqBwAAOkQAACpHAAA6hAAAKocAADrEAAAqxwAAOwQAACsHAAA7RAAAK0cAADuEAAArhwA\ +AO8QAACvHAAA8BAAALAcAADxEAAAsRwAAPIQAACyHAAA8xAAALMcAAD0EAAAtBwAAPUQAAC1HAAA9h\ +AAALYcAAD3EAAAtxwAAPgQAAC4HAAA+RAAALkcAAD6EAAAuhwAAP0QAAC9HAAA/hAAAL4cAAD/EAAA\ +vxwAAPgTAADwEwAA+RMAAPETAAD6EwAA8hMAAPsTAADzEwAA/BMAAPQTAAD9EwAA9RMAAIAcAAASBA\ +AAgRwAABQEAACCHAAAHgQAAIMcAAAhBAAAhBwAACIEAACFHAAAIgQAAIYcAAAqBAAAhxwAAGIEAACI\ +HAAASqYAAHkdAAB9pwAAfR0AAGMsAACOHQAAxqcAAAEeAAAAHgAAAx4AAAIeAAAFHgAABB4AAAceAA\ +AGHgAACR4AAAgeAAALHgAACh4AAA0eAAAMHgAADx4AAA4eAAARHgAAEB4AABMeAAASHgAAFR4AABQe\ +AAAXHgAAFh4AABkeAAAYHgAAGx4AABoeAAAdHgAAHB4AAB8eAAAeHgAAIR4AACAeAAAjHgAAIh4AAC\ +UeAAAkHgAAJx4AACYeAAApHgAAKB4AACseAAAqHgAALR4AACweAAAvHgAALh4AADEeAAAwHgAAMx4A\ +ADIeAAA1HgAANB4AADceAAA2HgAAOR4AADgeAAA7HgAAOh4AAD0eAAA8HgAAPx4AAD4eAABBHgAAQB\ +4AAEMeAABCHgAARR4AAEQeAABHHgAARh4AAEkeAABIHgAASx4AAEoeAABNHgAATB4AAE8eAABOHgAA\ +UR4AAFAeAABTHgAAUh4AAFUeAABUHgAAVx4AAFYeAABZHgAAWB4AAFseAABaHgAAXR4AAFweAABfHg\ +AAXh4AAGEeAABgHgAAYx4AAGIeAABlHgAAZB4AAGceAABmHgAAaR4AAGgeAABrHgAAah4AAG0eAABs\ +HgAAbx4AAG4eAABxHgAAcB4AAHMeAAByHgAAdR4AAHQeAAB3HgAAdh4AAHkeAAB4HgAAex4AAHoeAA\ +B9HgAAfB4AAH8eAAB+HgAAgR4AAIAeAACDHgAAgh4AAIUeAACEHgAAhx4AAIYeAACJHgAAiB4AAIse\ +AACKHgAAjR4AAIweAACPHgAAjh4AAJEeAACQHgAAkx4AAJIeAACVHgAAlB4AAJYeAAAGAEAAlx4AAA\ +cAQACYHgAACABAAJkeAAAJAEAAmh4AAAoAQACbHgAAYB4AAKEeAACgHgAAox4AAKIeAAClHgAApB4A\ +AKceAACmHgAAqR4AAKgeAACrHgAAqh4AAK0eAACsHgAArx4AAK4eAACxHgAAsB4AALMeAACyHgAAtR\ +4AALQeAAC3HgAAth4AALkeAAC4HgAAux4AALoeAAC9HgAAvB4AAL8eAAC+HgAAwR4AAMAeAADDHgAA\ +wh4AAMUeAADEHgAAxx4AAMYeAADJHgAAyB4AAMseAADKHgAAzR4AAMweAADPHgAAzh4AANEeAADQHg\ +AA0x4AANIeAADVHgAA1B4AANceAADWHgAA2R4AANgeAADbHgAA2h4AAN0eAADcHgAA3x4AAN4eAADh\ +HgAA4B4AAOMeAADiHgAA5R4AAOQeAADnHgAA5h4AAOkeAADoHgAA6x4AAOoeAADtHgAA7B4AAO8eAA\ +DuHgAA8R4AAPAeAADzHgAA8h4AAPUeAAD0HgAA9x4AAPYeAAD5HgAA+B4AAPseAAD6HgAA/R4AAPwe\ +AAD/HgAA/h4AAAAfAAAIHwAAAR8AAAkfAAACHwAACh8AAAMfAAALHwAABB8AAAwfAAAFHwAADR8AAA\ +YfAAAOHwAABx8AAA8fAAAQHwAAGB8AABEfAAAZHwAAEh8AABofAAATHwAAGx8AABQfAAAcHwAAFR8A\ +AB0fAAAgHwAAKB8AACEfAAApHwAAIh8AACofAAAjHwAAKx8AACQfAAAsHwAAJR8AAC0fAAAmHwAALh\ +8AACcfAAAvHwAAMB8AADgfAAAxHwAAOR8AADIfAAA6HwAAMx8AADsfAAA0HwAAPB8AADUfAAA9HwAA\ +Nh8AAD4fAAA3HwAAPx8AAEAfAABIHwAAQR8AAEkfAABCHwAASh8AAEMfAABLHwAARB8AAEwfAABFHw\ +AATR8AAFAfAAALAEAAUR8AAFkfAABSHwAADABAAFMfAABbHwAAVB8AAA0AQABVHwAAXR8AAFYfAAAO\ +AEAAVx8AAF8fAABgHwAAaB8AAGEfAABpHwAAYh8AAGofAABjHwAAax8AAGQfAABsHwAAZR8AAG0fAA\ +BmHwAAbh8AAGcfAABvHwAAcB8AALofAABxHwAAux8AAHIfAADIHwAAcx8AAMkfAAB0HwAAyh8AAHUf\ +AADLHwAAdh8AANofAAB3HwAA2x8AAHgfAAD4HwAAeR8AAPkfAAB6HwAA6h8AAHsfAADrHwAAfB8AAP\ +ofAAB9HwAA+x8AAIAfAAAPAEAAgR8AABAAQACCHwAAEQBAAIMfAAASAEAAhB8AABMAQACFHwAAFABA\ +AIYfAAAVAEAAhx8AABYAQACIHwAAFwBAAIkfAAAYAEAAih8AABkAQACLHwAAGgBAAIwfAAAbAEAAjR\ +8AABwAQACOHwAAHQBAAI8fAAAeAEAAkB8AAB8AQACRHwAAIABAAJIfAAAhAEAAkx8AACIAQACUHwAA\ +IwBAAJUfAAAkAEAAlh8AACUAQACXHwAAJgBAAJgfAAAnAEAAmR8AACgAQACaHwAAKQBAAJsfAAAqAE\ +AAnB8AACsAQACdHwAALABAAJ4fAAAtAEAAnx8AAC4AQACgHwAALwBAAKEfAAAwAEAAoh8AADEAQACj\ +HwAAMgBAAKQfAAAzAEAApR8AADQAQACmHwAANQBAAKcfAAA2AEAAqB8AADcAQACpHwAAOABAAKofAA\ +A5AEAAqx8AADoAQACsHwAAOwBAAK0fAAA8AEAArh8AAD0AQACvHwAAPgBAALAfAAC4HwAAsR8AALkf\ +AACyHwAAPwBAALMfAABAAEAAtB8AAEEAQAC2HwAAQgBAALcfAABDAEAAvB8AAEQAQAC+HwAAmQMAAM\ +IfAABFAEAAwx8AAEYAQADEHwAARwBAAMYfAABIAEAAxx8AAEkAQADMHwAASgBAANAfAADYHwAA0R8A\ +ANkfAADSHwAASwBAANMfAABMAEAA1h8AAE0AQADXHwAATgBAAOAfAADoHwAA4R8AAOkfAADiHwAATw\ +BAAOMfAABQAEAA5B8AAFEAQADlHwAA7B8AAOYfAABSAEAA5x8AAFMAQADyHwAAVABAAPMfAABVAEAA\ +9B8AAFYAQAD2HwAAVwBAAPcfAABYAEAA/B8AAFkAQABOIQAAMiEAAHAhAABgIQAAcSEAAGEhAAByIQ\ +AAYiEAAHMhAABjIQAAdCEAAGQhAAB1IQAAZSEAAHYhAABmIQAAdyEAAGchAAB4IQAAaCEAAHkhAABp\ +IQAAeiEAAGohAAB7IQAAayEAAHwhAABsIQAAfSEAAG0hAAB+IQAAbiEAAH8hAABvIQAAhCEAAIMhAA\ +DQJAAAtiQAANEkAAC3JAAA0iQAALgkAADTJAAAuSQAANQkAAC6JAAA1SQAALskAADWJAAAvCQAANck\ +AAC9JAAA2CQAAL4kAADZJAAAvyQAANokAADAJAAA2yQAAMEkAADcJAAAwiQAAN0kAADDJAAA3iQAAM\ +QkAADfJAAAxSQAAOAkAADGJAAA4SQAAMckAADiJAAAyCQAAOMkAADJJAAA5CQAAMokAADlJAAAyyQA\ +AOYkAADMJAAA5yQAAM0kAADoJAAAziQAAOkkAADPJAAAMCwAAAAsAAAxLAAAASwAADIsAAACLAAAMy\ +wAAAMsAAA0LAAABCwAADUsAAAFLAAANiwAAAYsAAA3LAAABywAADgsAAAILAAAOSwAAAksAAA6LAAA\ +CiwAADssAAALLAAAPCwAAAwsAAA9LAAADSwAAD4sAAAOLAAAPywAAA8sAABALAAAECwAAEEsAAARLA\ +AAQiwAABIsAABDLAAAEywAAEQsAAAULAAARSwAABUsAABGLAAAFiwAAEcsAAAXLAAASCwAABgsAABJ\ +LAAAGSwAAEosAAAaLAAASywAABssAABMLAAAHCwAAE0sAAAdLAAATiwAAB4sAABPLAAAHywAAFAsAA\ +AgLAAAUSwAACEsAABSLAAAIiwAAFMsAAAjLAAAVCwAACQsAABVLAAAJSwAAFYsAAAmLAAAVywAACcs\ +AABYLAAAKCwAAFksAAApLAAAWiwAACosAABbLAAAKywAAFwsAAAsLAAAXSwAAC0sAABeLAAALiwAAF\ +8sAAAvLAAAYSwAAGAsAABlLAAAOgIAAGYsAAA+AgAAaCwAAGcsAABqLAAAaSwAAGwsAABrLAAAcywA\ +AHIsAAB2LAAAdSwAAIEsAACALAAAgywAAIIsAACFLAAAhCwAAIcsAACGLAAAiSwAAIgsAACLLAAAii\ +wAAI0sAACMLAAAjywAAI4sAACRLAAAkCwAAJMsAACSLAAAlSwAAJQsAACXLAAAliwAAJksAACYLAAA\ +mywAAJosAACdLAAAnCwAAJ8sAACeLAAAoSwAAKAsAACjLAAAoiwAAKUsAACkLAAApywAAKYsAACpLA\ +AAqCwAAKssAACqLAAArSwAAKwsAACvLAAAriwAALEsAACwLAAAsywAALIsAAC1LAAAtCwAALcsAAC2\ +LAAAuSwAALgsAAC7LAAAuiwAAL0sAAC8LAAAvywAAL4sAADBLAAAwCwAAMMsAADCLAAAxSwAAMQsAA\ +DHLAAAxiwAAMksAADILAAAyywAAMosAADNLAAAzCwAAM8sAADOLAAA0SwAANAsAADTLAAA0iwAANUs\ +AADULAAA1ywAANYsAADZLAAA2CwAANssAADaLAAA3SwAANwsAADfLAAA3iwAAOEsAADgLAAA4ywAAO\ +IsAADsLAAA6ywAAO4sAADtLAAA8ywAAPIsAAAALQAAoBAAAAEtAAChEAAAAi0AAKIQAAADLQAAoxAA\ +AAQtAACkEAAABS0AAKUQAAAGLQAAphAAAActAACnEAAACC0AAKgQAAAJLQAAqRAAAAotAACqEAAACy\ +0AAKsQAAAMLQAArBAAAA0tAACtEAAADi0AAK4QAAAPLQAArxAAABAtAACwEAAAES0AALEQAAASLQAA\ +shAAABMtAACzEAAAFC0AALQQAAAVLQAAtRAAABYtAAC2EAAAFy0AALcQAAAYLQAAuBAAABktAAC5EA\ +AAGi0AALoQAAAbLQAAuxAAABwtAAC8EAAAHS0AAL0QAAAeLQAAvhAAAB8tAAC/EAAAIC0AAMAQAAAh\ +LQAAwRAAACItAADCEAAAIy0AAMMQAAAkLQAAxBAAACUtAADFEAAAJy0AAMcQAAAtLQAAzRAAAEGmAA\ +BApgAAQ6YAAEKmAABFpgAARKYAAEemAABGpgAASaYAAEimAABLpgAASqYAAE2mAABMpgAAT6YAAE6m\ +AABRpgAAUKYAAFOmAABSpgAAVaYAAFSmAABXpgAAVqYAAFmmAABYpgAAW6YAAFqmAABdpgAAXKYAAF\ ++mAABepgAAYaYAAGCmAABjpgAAYqYAAGWmAABkpgAAZ6YAAGamAABppgAAaKYAAGumAABqpgAAbaYA\ +AGymAACBpgAAgKYAAIOmAACCpgAAhaYAAISmAACHpgAAhqYAAImmAACIpgAAi6YAAIqmAACNpgAAjK\ +YAAI+mAACOpgAAkaYAAJCmAACTpgAAkqYAAJWmAACUpgAAl6YAAJamAACZpgAAmKYAAJumAACapgAA\ +I6cAACKnAAAlpwAAJKcAACenAAAmpwAAKacAACinAAArpwAAKqcAAC2nAAAspwAAL6cAAC6nAAAzpw\ +AAMqcAADWnAAA0pwAAN6cAADanAAA5pwAAOKcAADunAAA6pwAAPacAADynAAA/pwAAPqcAAEGnAABA\ +pwAAQ6cAAEKnAABFpwAARKcAAEenAABGpwAASacAAEinAABLpwAASqcAAE2nAABMpwAAT6cAAE6nAA\ +BRpwAAUKcAAFOnAABSpwAAVacAAFSnAABXpwAAVqcAAFmnAABYpwAAW6cAAFqnAABdpwAAXKcAAF+n\ +AABepwAAYacAAGCnAABjpwAAYqcAAGWnAABkpwAAZ6cAAGanAABppwAAaKcAAGunAABqpwAAbacAAG\ +ynAABvpwAAbqcAAHqnAAB5pwAAfKcAAHunAAB/pwAAfqcAAIGnAACApwAAg6cAAIKnAACFpwAAhKcA\ +AIenAACGpwAAjKcAAIunAACRpwAAkKcAAJOnAACSpwAAlKcAAMSnAACXpwAAlqcAAJmnAACYpwAAm6\ +cAAJqnAACdpwAAnKcAAJ+nAACepwAAoacAAKCnAACjpwAAoqcAAKWnAACkpwAAp6cAAKanAACppwAA\ +qKcAALWnAAC0pwAAt6cAALanAAC5pwAAuKcAALunAAC6pwAAvacAALynAAC/pwAAvqcAAMGnAADApw\ +AAw6cAAMKnAADIpwAAx6cAAMqnAADJpwAA0acAANCnAADXpwAA1qcAANmnAADYpwAA9qcAAPWnAABT\ +qwAAs6cAAHCrAACgEwAAcasAAKETAAByqwAAohMAAHOrAACjEwAAdKsAAKQTAAB1qwAApRMAAHarAA\ +CmEwAAd6sAAKcTAAB4qwAAqBMAAHmrAACpEwAAeqsAAKoTAAB7qwAAqxMAAHyrAACsEwAAfasAAK0T\ +AAB+qwAArhMAAH+rAACvEwAAgKsAALATAACBqwAAsRMAAIKrAACyEwAAg6sAALMTAACEqwAAtBMAAI\ +WrAAC1EwAAhqsAALYTAACHqwAAtxMAAIirAAC4EwAAiasAALkTAACKqwAAuhMAAIurAAC7EwAAjKsA\ +ALwTAACNqwAAvRMAAI6rAAC+EwAAj6sAAL8TAACQqwAAwBMAAJGrAADBEwAAkqsAAMITAACTqwAAwx\ +MAAJSrAADEEwAAlasAAMUTAACWqwAAxhMAAJerAADHEwAAmKsAAMgTAACZqwAAyRMAAJqrAADKEwAA\ +m6sAAMsTAACcqwAAzBMAAJ2rAADNEwAAnqsAAM4TAACfqwAAzxMAAKCrAADQEwAAoasAANETAACiqw\ +AA0hMAAKOrAADTEwAApKsAANQTAAClqwAA1RMAAKarAADWEwAAp6sAANcTAACoqwAA2BMAAKmrAADZ\ +EwAAqqsAANoTAACrqwAA2xMAAKyrAADcEwAArasAAN0TAACuqwAA3hMAAK+rAADfEwAAsKsAAOATAA\ +CxqwAA4RMAALKrAADiEwAAs6sAAOMTAAC0qwAA5BMAALWrAADlEwAAtqsAAOYTAAC3qwAA5xMAALir\ +AADoEwAAuasAAOkTAAC6qwAA6hMAALurAADrEwAAvKsAAOwTAAC9qwAA7RMAAL6rAADuEwAAv6sAAO\ +8TAAAA+wAAWgBAAAH7AABbAEAAAvsAAFwAQAAD+wAAXQBAAAT7AABeAEAABfsAAF8AQAAG+wAAYABA\ +ABP7AABhAEAAFPsAAGIAQAAV+wAAYwBAABb7AABkAEAAF/sAAGUAQABB/wAAIf8AAEL/AAAi/wAAQ/\ +8AACP/AABE/wAAJP8AAEX/AAAl/wAARv8AACb/AABH/wAAJ/8AAEj/AAAo/wAASf8AACn/AABK/wAA\ +Kv8AAEv/AAAr/wAATP8AACz/AABN/wAALf8AAE7/AAAu/wAAT/8AAC//AABQ/wAAMP8AAFH/AAAx/w\ +AAUv8AADL/AABT/wAAM/8AAFT/AAA0/wAAVf8AADX/AABW/wAANv8AAFf/AAA3/wAAWP8AADj/AABZ\ +/wAAOf8AAFr/AAA6/wAAKAQBAAAEAQApBAEAAQQBACoEAQACBAEAKwQBAAMEAQAsBAEABAQBAC0EAQ\ +AFBAEALgQBAAYEAQAvBAEABwQBADAEAQAIBAEAMQQBAAkEAQAyBAEACgQBADMEAQALBAEANAQBAAwE\ +AQA1BAEADQQBADYEAQAOBAEANwQBAA8EAQA4BAEAEAQBADkEAQARBAEAOgQBABIEAQA7BAEAEwQBAD\ +wEAQAUBAEAPQQBABUEAQA+BAEAFgQBAD8EAQAXBAEAQAQBABgEAQBBBAEAGQQBAEIEAQAaBAEAQwQB\ +ABsEAQBEBAEAHAQBAEUEAQAdBAEARgQBAB4EAQBHBAEAHwQBAEgEAQAgBAEASQQBACEEAQBKBAEAIg\ +QBAEsEAQAjBAEATAQBACQEAQBNBAEAJQQBAE4EAQAmBAEATwQBACcEAQDYBAEAsAQBANkEAQCxBAEA\ +2gQBALIEAQDbBAEAswQBANwEAQC0BAEA3QQBALUEAQDeBAEAtgQBAN8EAQC3BAEA4AQBALgEAQDhBA\ +EAuQQBAOIEAQC6BAEA4wQBALsEAQDkBAEAvAQBAOUEAQC9BAEA5gQBAL4EAQDnBAEAvwQBAOgEAQDA\ +BAEA6QQBAMEEAQDqBAEAwgQBAOsEAQDDBAEA7AQBAMQEAQDtBAEAxQQBAO4EAQDGBAEA7wQBAMcEAQ\ +DwBAEAyAQBAPEEAQDJBAEA8gQBAMoEAQDzBAEAywQBAPQEAQDMBAEA9QQBAM0EAQD2BAEAzgQBAPcE\ +AQDPBAEA+AQBANAEAQD5BAEA0QQBAPoEAQDSBAEA+wQBANMEAQCXBQEAcAUBAJgFAQBxBQEAmQUBAH\ +IFAQCaBQEAcwUBAJsFAQB0BQEAnAUBAHUFAQCdBQEAdgUBAJ4FAQB3BQEAnwUBAHgFAQCgBQEAeQUB\ +AKEFAQB6BQEAowUBAHwFAQCkBQEAfQUBAKUFAQB+BQEApgUBAH8FAQCnBQEAgAUBAKgFAQCBBQEAqQ\ +UBAIIFAQCqBQEAgwUBAKsFAQCEBQEArAUBAIUFAQCtBQEAhgUBAK4FAQCHBQEArwUBAIgFAQCwBQEA\ +iQUBALEFAQCKBQEAswUBAIwFAQC0BQEAjQUBALUFAQCOBQEAtgUBAI8FAQC3BQEAkAUBALgFAQCRBQ\ +EAuQUBAJIFAQC7BQEAlAUBALwFAQCVBQEAwAwBAIAMAQDBDAEAgQwBAMIMAQCCDAEAwwwBAIMMAQDE\ +DAEAhAwBAMUMAQCFDAEAxgwBAIYMAQDHDAEAhwwBAMgMAQCIDAEAyQwBAIkMAQDKDAEAigwBAMsMAQ\ +CLDAEAzAwBAIwMAQDNDAEAjQwBAM4MAQCODAEAzwwBAI8MAQDQDAEAkAwBANEMAQCRDAEA0gwBAJIM\ +AQDTDAEAkwwBANQMAQCUDAEA1QwBAJUMAQDWDAEAlgwBANcMAQCXDAEA2AwBAJgMAQDZDAEAmQwBAN\ +oMAQCaDAEA2wwBAJsMAQDcDAEAnAwBAN0MAQCdDAEA3gwBAJ4MAQDfDAEAnwwBAOAMAQCgDAEA4QwB\ +AKEMAQDiDAEAogwBAOMMAQCjDAEA5AwBAKQMAQDlDAEApQwBAOYMAQCmDAEA5wwBAKcMAQDoDAEAqA\ +wBAOkMAQCpDAEA6gwBAKoMAQDrDAEAqwwBAOwMAQCsDAEA7QwBAK0MAQDuDAEArgwBAO8MAQCvDAEA\ +8AwBALAMAQDxDAEAsQwBAPIMAQCyDAEAwBgBAKAYAQDBGAEAoRgBAMIYAQCiGAEAwxgBAKMYAQDEGA\ +EApBgBAMUYAQClGAEAxhgBAKYYAQDHGAEApxgBAMgYAQCoGAEAyRgBAKkYAQDKGAEAqhgBAMsYAQCr\ +GAEAzBgBAKwYAQDNGAEArRgBAM4YAQCuGAEAzxgBAK8YAQDQGAEAsBgBANEYAQCxGAEA0hgBALIYAQ\ +DTGAEAsxgBANQYAQC0GAEA1RgBALUYAQDWGAEAthgBANcYAQC3GAEA2BgBALgYAQDZGAEAuRgBANoY\ +AQC6GAEA2xgBALsYAQDcGAEAvBgBAN0YAQC9GAEA3hgBAL4YAQDfGAEAvxgBAGBuAQBAbgEAYW4BAE\ +FuAQBibgEAQm4BAGNuAQBDbgEAZG4BAERuAQBlbgEARW4BAGZuAQBGbgEAZ24BAEduAQBobgEASG4B\ +AGluAQBJbgEAam4BAEpuAQBrbgEAS24BAGxuAQBMbgEAbW4BAE1uAQBubgEATm4BAG9uAQBPbgEAcG\ +4BAFBuAQBxbgEAUW4BAHJuAQBSbgEAc24BAFNuAQB0bgEAVG4BAHVuAQBVbgEAdm4BAFZuAQB3bgEA\ +V24BAHhuAQBYbgEAeW4BAFluAQB6bgEAWm4BAHtuAQBbbgEAfG4BAFxuAQB9bgEAXW4BAH5uAQBebg\ +EAf24BAF9uAQAi6QEAAOkBACPpAQAB6QEAJOkBAALpAQAl6QEAA+kBACbpAQAE6QEAJ+kBAAXpAQAo\ +6QEABukBACnpAQAH6QEAKukBAAjpAQAr6QEACekBACzpAQAK6QEALekBAAvpAQAu6QEADOkBAC/pAQ\ +AN6QEAMOkBAA7pAQAx6QEAD+kBADLpAQAQ6QEAM+kBABHpAQA06QEAEukBADXpAQAT6QEANukBABTp\ +AQA36QEAFekBADjpAQAW6QEAOekBABfpAQA66QEAGOkBADvpAQAZ6QEAPOkBABrpAQA96QEAG+kBAD\ +7pAQAc6QEAP+kBAB3pAQBA6QEAHukBAEHpAQAf6QEAQukBACDpAQBD6QEAIekBAFMAAABTAAAAAAAA\ +ALwCAABOAAAAAAAAAEoAAAAMAwAAAAAAAJkDAAAIAwAAAQMAAKUDAAAIAwAAAQMAADUFAABSBQAAAA\ +AAAEgAAAAxAwAAAAAAAFQAAAAIAwAAAAAAAFcAAAAKAwAAAAAAAFkAAAAKAwAAAAAAAEEAAAC+AgAA\ +AAAAAKUDAAATAwAAAAAAAKUDAAATAwAAAAMAAKUDAAATAwAAAQMAAKUDAAATAwAAQgMAAAgfAACZAw\ +AAAAAAAAkfAACZAwAAAAAAAAofAACZAwAAAAAAAAsfAACZAwAAAAAAAAwfAACZAwAAAAAAAA0fAACZ\ +AwAAAAAAAA4fAACZAwAAAAAAAA8fAACZAwAAAAAAAAgfAACZAwAAAAAAAAkfAACZAwAAAAAAAAofAA\ +CZAwAAAAAAAAsfAACZAwAAAAAAAAwfAACZAwAAAAAAAA0fAACZAwAAAAAAAA4fAACZAwAAAAAAAA8f\ +AACZAwAAAAAAACgfAACZAwAAAAAAACkfAACZAwAAAAAAACofAACZAwAAAAAAACsfAACZAwAAAAAAAC\ +wfAACZAwAAAAAAAC0fAACZAwAAAAAAAC4fAACZAwAAAAAAAC8fAACZAwAAAAAAACgfAACZAwAAAAAA\ +ACkfAACZAwAAAAAAACofAACZAwAAAAAAACsfAACZAwAAAAAAACwfAACZAwAAAAAAAC0fAACZAwAAAA\ +AAAC4fAACZAwAAAAAAAC8fAACZAwAAAAAAAGgfAACZAwAAAAAAAGkfAACZAwAAAAAAAGofAACZAwAA\ +AAAAAGsfAACZAwAAAAAAAGwfAACZAwAAAAAAAG0fAACZAwAAAAAAAG4fAACZAwAAAAAAAG8fAACZAw\ +AAAAAAAGgfAACZAwAAAAAAAGkfAACZAwAAAAAAAGofAACZAwAAAAAAAGsfAACZAwAAAAAAAGwfAACZ\ +AwAAAAAAAG0fAACZAwAAAAAAAG4fAACZAwAAAAAAAG8fAACZAwAAAAAAALofAACZAwAAAAAAAJEDAA\ +CZAwAAAAAAAIYDAACZAwAAAAAAAJEDAABCAwAAAAAAAJEDAABCAwAAmQMAAJEDAACZAwAAAAAAAMof\ +AACZAwAAAAAAAJcDAACZAwAAAAAAAIkDAACZAwAAAAAAAJcDAABCAwAAAAAAAJcDAABCAwAAmQMAAJ\ +cDAACZAwAAAAAAAJkDAAAIAwAAAAMAAJkDAAAIAwAAAQMAAJkDAABCAwAAAAAAAJkDAAAIAwAAQgMA\ +AKUDAAAIAwAAAAMAAKUDAAAIAwAAAQMAAKEDAAATAwAAAAAAAKUDAABCAwAAAAAAAKUDAAAIAwAAQg\ +MAAPofAACZAwAAAAAAAKkDAACZAwAAAAAAAI8DAACZAwAAAAAAAKkDAABCAwAAAAAAAKkDAABCAwAA\ +mQMAAKkDAACZAwAAAAAAAEYAAABGAAAAAAAAAEYAAABJAAAAAAAAAEYAAABMAAAAAAAAAEYAAABGAA\ +AASQAAAEYAAABGAAAATAAAAFMAAABUAAAAAAAAAFMAAABUAAAAAAAAAEQFAABGBQAAAAAAAEQFAAA1\ +BQAAAAAAAEQFAAA7BQAAAAAAAE4FAABGBQAAAAAAAEQFAAA9BQAAAAAAACYAAAAdAAAAJgAAACYAAA\ +AmAAAA2CcQAP4nEAAbKBAAQSgQAGcoEAAAAAAAAAAAAAEAAAD5AQAAAAAAAAAAAAABAAAA+gEAAAAA\ +AAAAAAAAAQAAAPsBAAAAAAAAAAAAAAEAAAD8AQAAAAAAAAAAAAABAAAA/QEAAAAAAAAAAAAAAQAAAP\ +4BAAAAAAAAAAAAAAEAAAD/AQAAY2FwYWNpdHkgb3ZlcmZsb3cAAACYqRAAEQAAAC9ydXN0Yy9lZWI5\ +MGNkYTE5NjkzODNmNTZhMjYzN2NiZDMwMzdiZGY1OTg4NDFjL2xpYnJhcnkvYWxsb2Mvc3JjL3ZlYy\ +9zcGVjX2Zyb21faXRlcl9uZXN0ZWQucnMAALSpEABeAAAAOwAAABIAAABeAQAADAAAAAQAAABfAQAA\ +AAIAAGEBAAAAAAAAAAAAAAEAAABiAQAAVXJsc2NoZW1lY2Fubm90X2JlX2FfYmFzZXVzZXJuYW1lcG\ +Fzc3dvcmRob3N0cG9ydHBhdGhxdWVyeWZyYWdtZW50ZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVk\ +OyB1c2UgRGlzcGxheQAAXgEAAAwAAAAEAAAAYwEAAAECAAAIAAAABAAAAAICAAADAgAASAAAAAQAAA\ +AEAgAABQIAAAQAAAAEAAAAjQAAAAMCAABIAAAABAAAAAYCAAADAgAASAAAAAQAAAAEAgAABgIAAPiq\ +EADkAQAABwIAAOYBAADkAQAAbgEAAAAAAAABAAAAAQAAAAgCAAAAAAAAAQAAAAEAAAAJAgAACAIAAD\ +SrEAAKAgAACwIAAAwCAAAKAgAADQIAAAUCAAAEAAAABAAAAA4CAAAFAgAABAAAAAQAAACNAAAADgIA\ +AHCrEAAPAgAAEAIAAOYBAAARAgAAbgEAAC9ydXN0Yy9lZWI5MGNkYTE5NjkzODNmNTZhMjYzN2NiZD\ +MwMzdiZGY1OTg4NDFjL2xpYnJhcnkvc3RkL3NyYy9wYXRoLnJzAKyrEABHAAAAeAwAABsAAACsqxAA\ +RwAAAJsMAAAhAAAArKsQAEcAAACODAAAIgAAAFBhdHRlcm5FcnJvcnBvc21zZ3BhdGNoYXNzZXJ0aW\ +9uIGZhaWxlZDogbGVuID4gMIjAEABbAAAAZQEAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBvbGRfbGVm\ +dF9sZW4gPj0gY291bnQAiMAQAFsAAADdBQAADQAAAOPAEABfAAAAIwIAADQAAADjwBAAXwAAAKcAAA\ +AjAAAArOMUAEwAAAA3DAAADQAAAHVua25vd24gZmllbGQgYGAsIGV4cGVjdGVkIADMrBAADwAAANus\ +EAAMAAAAAAAAAAAAAAABAAAAEgIAAAAAAAAAAAAAAQAAABMCAABEb21haW5JcHY0SXB2NlJhbmdlUG\ +F0aFRvVXJsRXJyb3JQYXJzZUVycm9ycmFuZ2VkaXNwbGF5X21lc3NhZ2UAFAIAAAwAAAAEAAAAFQIA\ +ABQCAAAMAAAABAAAABYCAAAVAgAAWK0QABcCAAAYAgAA5gEAABcCAABuAQAAGQIAACAAAAAEAAAAcA\ +EAABkCAAAgAAAABAAAAHEBAABwAQAAlK0QAHIBAAAaAgAAdAEAAHIBAAB1AQAAGwIAAGQAAAAEAAAA\ +cAEAABsCAABkAAAABAAAAHEBAABwAQAA0K0QAHIBAAAcAgAAdAEAAHIBAAB1AQAAHQIAACgAAAAEAA\ +AAcAEAAB0CAAAoAAAABAAAAHEBAABwAQAADK4QAHIBAAAeAgAAdAEAAHIBAAB1AQAAHwIAACAAAAAE\ +AAAAcAEAAB8CAAAgAAAABAAAAHEBAABwAQAASK4QAHIBAAAgAgAAdAEAAHIBAAB1AQAAIQIAACICAA\ +AjAgAAJAIAACUCAAB7AQAAJgIAACcCAAAoAgAAKQIAACoCAAB7AQAAKwIAACwCAAAtAgAALgIAAC8C\ +AAB7AQAAMAIAADECAAAyAgAAMwIAAC8CAAB7AQAAY29udGV4dFVybFRvRmlsZVBhdGhFcnJvcgAAAA\ +AAAAAEAAAABAAAADQCAAA1AgAANgIAAElvRGVzZXJpYWxpemV+Ly5jYXJnby9yZWdpc3RyeS9zcmMv\ +aW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc2VyZGVfanNvbi0xLjAuMTI4L3NyYy92YW\ +x1ZS9zZXIucnNzZXJpYWxpemVfdmFsdWUgY2FsbGVkIGJlZm9yZSBzZXJpYWxpemVfa2V5AAAlrxAA\ +WgAAAKoBAAAfAAAATm90RXhwZWN0ZWRTY2hlbWVJbnZhbGlkSW52YWxpZFBhdGhXaXRoVmVyc2lvbn\ +4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9kZW5v\ +X2NvbmZpZy0wLjM3LjEvc3JjL2Rlbm9fanNvbi9tb2QucnMiYXV0byIsICJtYW51YWwiLCBvciAibm\ +9uZSJhdXRvbWFudWFsAAAA6q8QAF4AAACaAgAAHAAAAGNvbW1lbnRz6q8QAF4AAADEAgAABwAAAGRl\ +ZmluaXRpb24AAOqvEABeAAAAswIAABIAAADqrxAAXgAAALQCAAAUAAAAZGVuby5qc29uZGVuby5qc2\ +9uYwDEsBAACQAAAM2wEAAKAAAAdGFza3MAAADqrxAAXgAAAHwDAAAIAAAA6q8QAF4AAAB+AwAACAAA\ +AE9ubHkgZmlsZTogc3BlY2lmaWVycyBhcmUgc3VwcG9ydGVkIGZvciBzZWN1cml0eSByZWFzb25zIG\ +luIGltcG9ydCBtYXBzIHN0b3JlZCBpbiBhIGRlbm8uanNvbi4gVG8gdXNlIGEgcmVtb3RlIGltcG9y\ +dCBtYXAsIHVzZSB0aGUgLS1pbXBvcnQtbWFwIGZsYWcgYW5kICJkZW5vLmltcG9ydE1hcCIgaW4gdG\ +hlIGxhbmd1YWdlIHNlcnZlciBjb25maWdUaGUgJ2V4cG9ydHMnIGtleSBtdXN0IGJlIGEgc3RyaW5n\ +IG9yIG9iamVjdCwgZm91bmQgaW52YWxpZCB2YWx1ZSAnJy7XsRAAQwAAABqyEAACAAAAVGhlIHBhdG\ +ggb2YgdGhlICBtdXN0IGJlIGEgc3RyaW5nLCBmb3VuZCBpbnZhbGlkIHZhbHVlICcsshAAEAAAADyy\ +EAAoAAAAGrIQAAIAAAAnLiBFeHBvcnRzIGluIGRlbm8uanNvbiBkbyBub3Qgc3VwcG9ydCBjb25kaX\ +Rpb25hbCBleHBvcnRzLgAsshAAEAAAADyyEAAoAAAAfLIQADsAAADqrxAAXgAAABoEAAAfAAAAVGhl\ +ICBtdXN0IHN0YXJ0IHdpdGggJy4vJy4gRGlkIHlvdSBtZWFuICcnPwDgshAABAAAAOSyEAAlAAAACb\ +MQAAIAAAAgbXVzdCBub3QgY29udGFpbiBkb3VibGUgc2xhc2hlcyAoLy8pLCBvciBwYXJ0cyBjb25z\ +aXN0aW5nIGVudGlyZWx5IG9mIGRvdHMgKC4pLuCyEAAEAAAAJLMQAFAAAAAgbXVzdCBvbmx5IGNvbn\ +RhaW4gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMsIHVuZGVyc2NvcmVzIChfKSwgZGFzaGVzICgtKSwg\ +ZG90cyAoLiksIGFuZCBzbGFzaGVzICgvKS4A4LIQAAQAAACEsxAAYwAAACBtdXN0IG5vdCBlbmQgd2\ +l0aCAnLycuIERpZCB5b3UgbWVhbiAnAADgshAABAAAAPizEAAmAAAACbMQAAIAAAAgbXVzdCBub3Qg\ +YmUgZW1wdHkuIFVzZSAnLicgaWYgeW91IG1lYW50IHRoZSByb290IGV4cG9ydC4AAADgshAABAAAAD\ +i0EAA5AAAAVGhlIHBhdGggJycgYXQgdGhlICBjb3VsZCBub3QgYmUgcmVzb2x2ZWQgYXMgYSByZWxh\ +dGl2ZSBwYXRoIGZyb20gdGhlIGNvbmZpZyBmaWxlLiBEaWQgeW91IG1lYW4gJwAAAIS0EAAKAAAAjr\ +QQAAkAAACXtBAATgAAAAmzEAACAAAAIGlzIG1pc3NpbmcgYSBmaWxlIGV4dGVuc2lvbi4gQWRkIGEg\ +ZmlsZSBleHRlbnNpb24gc3VjaCBhcyAnLmpzJyBvciAnLnRzJy4AAIS0EAAKAAAAjrQQAAkAAAAItR\ +AASgAAAIS0EAAKAAAAjrQQAAkAAAD4sxAAJgAAAAmzEAACAAAAVGhlIHBhdGggZm9yIHRoZSAgbXVz\ +dCBub3QgYmUgZW1wdHkujLUQABEAAACdtRAAEwAAACcgZXhwb3J07loSAAEAAADAtRAACAAAAHJvb3\ +QgZXhwb3J0dmVuZG9yRmFpbGVkIHRvIHBhcnNlICJsb2NrIiBjb25maWd1cmF0aW9uAAAA6q8QAF4A\ +AADQBQAADAAAAGRlbm8ubG9jawAAAAAAAAAAAAAAAQAAADcCAAA4AgAAOQIAADoCAABub2RlX21vZH\ +VsZXMuZ2l0LmdpdGlnbm9yZSEvYrYQAAIAAABithAAAgAAAOjpFAABAAAAaHR0cDovL2h0dHBzOi8v\ +W1tdW11dfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMD\ +FmL2Rlbm9fY29uZmlnLTAuMzcuMS9zcmMvd29ya3NwYWNlL2Rpc2NvdmVyeS5ycwAAAJG2EABkAAAA\ +SQAAADgAAACRthAAZAAAAEkAAABCAAAAVXNpbmcgYSB3b3Jrc3BhY2UgY2FjaGUgcmVxdWlyZXMgc2\ +V0dGluZyB0aGUgZGVuby5qc29uIGFuZCBwYWNrYWdlLmpzb24gY2FjaGVzAAAYtxAATgAAAJG2EABk\ +AAAA9gAAAAUAAACRthAAZAAAAC4BAAAwAAAAkbYQAGQAAAA6AQAAKgAAAJG2EABkAAAA4wEAAAgAAA\ +BwYWNrYWdlLmpzb26RthAAZAAAAA4DAAA6AAAAkbYQAGQAAAAOAwAARAAAAJG2EABkAAAArgIAAD4A\ +AAAvZGVuby5qc29uLy9kZW5vLmpzb25jLy9wYWNrYWdlLmpzb24vAAAAAQAAAAAAAACwtxAADAAAAJ\ +G2EABkAAAAdwMAADgAAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdk\ +MjJiYmExNTAwMWYvZGVub19jb25maWctMC4zNy4xL3NyYy93b3Jrc3BhY2UvcmVzb2x2ZXIucnMABM\ +0RAAQAAAABAAAAAAAAAOjpFAABAAAANLgQAGMAAAA0AgAAEAAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3Ny\ +Yy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9kZW5vX2NvbmZpZy0wLjM3LjEvc3JjL3\ +dvcmtzcGFjZS9tb2QucnMAAMC4EABeAAAAjgEAACYAAADAuBAAXgAAAJIBAAAtAAAAY29tcGlsZXJP\ +cHRpb25zaW1wb3J0TWFwbG9ja25vZGVNb2R1bGVzRGlydW5zdGFibGUAAMC4EABeAAAAaAQAACMAAA\ +DAuBAAXgAAAGoEAAAUAAAAQ291bGQgbm90IHJlc29sdmUgcGF0aDogJwAAAJS5EAAZAAAA7loSAAEA\ +AADAuBAAXgAAAHAEAABGAAAATm8gcGF0aHMgcHJvdmlkZWQuAADQuRAAEgAAAMC4EABeAAAAiAQAAC\ +4AAABQcm92aWRlZCBjb25maWcgZmlsZSBwYXRoICgnJykgaGFkIG5vIHBhcmVudCBkaXJlY3Rvcnku\ +APy5EAAcAAAAGLoQABsAAADAuBAAXgAAAL8EAABDAAAAwLgQAF4AAADMBAAAQwAAAMC4EABeAAAA2Q\ +QAABYAAADAuBAAXgAAAOgEAAAWAAAAwLgQAF4AAAD5BAAAOQAAAMC4EABeAAAAgwcAABQAAABleGNs\ +dWRlZGF0YSBkaWQgbm90IG1hdGNoIGFueSB2YXJpYW50IG9mIHVudGFnZ2VkIGVudW0gTG9ja0Nvbm\ +ZpZ2Zyb3plbnN0cnVjdCB2YXJpYW50IExvY2tDb25maWc6Ok9iamVjdFdvcmtzcGFjZUNvbmZpZ1Bh\ +cnNlRXJyb3IAAABMxhAABwAAAHN0cnVjdCBXb3Jrc3BhY2VDb25maWdzdHJ1Y3QgV29ya3NwYWNlQ2\ +9uZmlnIHdpdGggMSBlbGVtZW50AEa7EAAlAAAAUGF0Y2hDb25maWdQYXJzZUVycm9yUGF0aFRvVXJs\ +RmFpbGVkUmVhZGluZ1BhcnNlTm90T2JqZWN0bGludGZtdHRlc3RiZW5jaGxpY2Vuc2VwdWJsaXNoc3\ +RydWN0IENvbmZpZ0ZpbGVKc29uc3RydWN0IENvbmZpZ0ZpbGVKc29uIHdpdGggMjIgZWxlbWVudHMA\ +AOC7EAAmAAAAVXJsUGFyc2VFcnJvcnVybFVybFBhcnNlR2xvYlBhcnNlR2xvYlBhdHRlcm5QYXJzZU\ +Vycm9yRmFpbGVkIGxvYWRpbmcgaW1wb3J0IG1hcCBzcGVjaWZpZWQgaW4gJwAARrwQACgAAADuWhIA\ +AQAAAGJhc2VGYWlsZWQgam9pbmluZyAnJyB0byAnAACEvBAAEAAAAJS8EAAGAAAATNAQAAMAAABVbm\ +tub3duIGV4cG9ydCAnJyBmb3IgJycuCiAgUGFja2FnZSBleHBvcnRzOgoAAAC0vBAAEAAAAMS8EAAH\ +AAAAy7wQABYAAAAgKiAA/LwQAAMAAABAXgAACL0QAAIAAABDb25maWdSZWFkZGlyX3VybFdvcmtzcG\ +FjZU1lbWJlck5vdEFsbG93ZWRJbnZhbGlkUGF0Y2hXb3Jrc3BhY2VEZW5vSnNvblJlYWRQYWNrYWdl\ +SnNvblJlYWROb3RGb3VuZFBhY2thZ2VKc29uTm90Rm91bmRNYXliZVNwZWNpZmllZEZpbGVOb25EZX\ +NjZW5kYW50d29ya3NwYWNlX3VybG1lbWJlcl91cmxtZW1iZXJEdXBsaWNhdGVQYWNrYWdlTmFtZWRl\ +bm9fanNvbl91cmxvdGhlcl9kZW5vX2pzb25fdXJsSW52YWxpZFNlbGZSZWZlcmVuY2VJbnZhbGlkTW\ +VtYmVyTnBtTWVtYmVyVG9QYXR0ZXJuV29ya3NwYWNlRGlzY292ZXJFcnJvckZhaWxlZFJlc29sdmlu\ +Z1N0YXJ0RGlyZWN0b3J5UGFja2FnZUpzb25SZWFkRXJyb3JXb3Jrc3BhY2VDb25maWdQYXJzZVJlc2\ +9sdmVNZW1iZXJSZXNvbHZlUGF0Y2hNdWx0aXBsZVdvcmtzcGFjZXNiYXNlX3dvcmtzcGFjZV91cmxv\ +dGhlcl93b3Jrc3BhY2VfdXJsQ29uZmlnTm90V29ya3NwYWNlTWVtYmVyY29uZmlnX3VybEZhaWxlZE\ +NvbGxlY3RpbmdOcG1NZW1iZXJzcGFja2FnZV9qc29uX3VybAAAAAAAAAAAAAEAAAD5AQAAAAAAAAAA\ +AAABAAAA+wEAAAAAAAAAAAAAAQAAADsCAAAAAAAAAAAAAAEAAAD9AQAAAAAAAAAAAAABAAAA/QEAAG\ +Zld2VyIGVsZW1lbnRzIGluIGFycmF5AHS/EAAXAAAAAAAAAAgAAAAEAAAAPAIAAGZld2VyIGVsZW1l\ +bnRzIGluIG1hcAAAAKS/EAAVAAAAAAAAAAAAAAABAAAAPQIAAAAAAAAAAAAAAQAAAD0CAAAAAAAAAA\ +AAAAEAAAA+AgAAAAAAAAAAAAABAAAAPQIAAAAAAAAAAAAAAQAAAD0CAAAAAAAAAAAAAAEAAAD5AQAA\ +AAAAAAAAAAABAAAAPwIAAAAAAAAAAAAAAQAAAEACAAAAAAAAAAAAAAEAAABBAgAAYSBzZXF1ZW5jZQ\ +AA0wEAAAwAAAAEAAAAXwEAAGABAABhAQAAAAAAAAAAAAABAAAAYgEAAC9ydXN0Yy9lZWI5MGNkYTE5\ +NjkzODNmNTZhMjYzN2NiZDMwMzdiZGY1OTg4NDFjL2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb2\ +5zL2J0cmVlL25vZGUucnMvcnVzdGMvZWViOTBjZGExOTY5MzgzZjU2YTI2MzdjYmQzMDM3YmRmNTk4\ +ODQxYy9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy9idHJlZS9uYXZpZ2F0ZS5ycwAA48AQAF\ +8AAADHAAAAJwAAAC9ydXN0Yy9lZWI5MGNkYTE5NjkzODNmNTZhMjYzN2NiZDMwMzdiZGY1OTg4NDFj\ +L2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb25zL2J0cmVlL21hcC9lbnRyeS5yc1TBEABgAAAAcQ\ +EAADYAAABhc3NlcnRpb24gZmFpbGVkOiBpZHggPCBDQVBBQ0lUWYjAEABbAAAAlwIAAAkAAABhc3Nl\ +cnRpb24gZmFpbGVkOiBlZGdlLmhlaWdodCA9PSBzZWxmLmhlaWdodCAtIDGIwBAAWwAAAK8CAAAJAA\ +AAiMAQAFsAAACzAgAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNyYy5sZW4oKSA9PSBkc3QubGVuKCmI\ +wBAAWwAAAC8HAAAFAAAAiMAQAFsAAACvBAAAIwAAAIjAEABbAAAAswQAACMAAACIwBAAWwAAAO8EAA\ +AkAAAAYXNzZXJ0aW9uIGZhaWxlZDogZWRnZS5oZWlnaHQgPT0gc2VsZi5ub2RlLmhlaWdodCAtIDEA\ +AACIwBAAWwAAAPADAAAJAAAA48AQAF8AAABZAgAAMAAAAOPAEABfAAAAFwIAAC8AAADjwBAAXwAAAK\ +IAAAAkAAAAbWlzc2luZyBmaWVsZCBgACTDEAAPAAAAGJoSAAEAAABpbnZhbGlkIGxlbmd0aCAARMMQ\ +AA8AAAC+ohIACwAAAGR1cGxpY2F0ZSBmaWVsZCBgAAAAZMMQABEAAAAYmhIAAQAAAAAAAAAEAAAABA\ +AAAEICAAAAAAAABAAAAAQAAABDAgAAdmFsdWUgaXMgbWlzc2luZ01hcEFjY2Vzczo6bmV4dF92YWx1\ +ZSBjYWxsZWQgYmVmb3JlIG5leHRfa2V5fi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy\ +5pby02ZjE3ZDIyYmJhMTUwMDFmL3NlcmRlLTEuMC4yMTAvc3JjL2RlL3ZhbHVlLnJz5MMQAFQAAADO\ +BAAAGwAAAAAAAAAAAAAAAQAAAD0CAAA0AAAAAQAAAAAAAAABAAAAAAAAAEBucG06AAAAAQAAAAAAAA\ +BsxBAABQAAACVYEgABAAAAMn4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYx\ +N2QyMmJiYTE1MDAxZi9kZW5vX2xvY2tmaWxlLTAuMjMuMS9zcmMvdHJhbnNmb3Jtcy5yc3JlbW90ZT\ +NucG1wYWNrYWdlc3NwZWNpZmllcnMAACDNEQAEAAAAanNyAI3EEABdAAAAOAAAABkAAACNxBAAXQAA\ +ADkAAAAWAAAAjcQQAF0AAAA6AAAAGQAAAI3EEABdAAAAQwAAAB8AAACNxBAAXQAAAEgAAAAWAAAAjc\ +QQAF0AAABJAAAAGQAAAHJlZGlyZWN0c3dvcmtzcGFjZX4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRl\ +eC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9kZW5vX2xvY2tmaWxlLTAuMjMuMS9zcmMvbGliLn\ +JzhsUQAFYAAADKAAAAGwAAAIbFEABWAAAAywAAABgAAACGxRAAVgAAAMwAAAAbAAAARmFpbGVkIHJl\ +YWRpbmcgbG9ja2ZpbGUgYXQgJwzGEAAcAAAA7loSAAEAAABpbnRlZ3JpdHlwYWNrYWdlSnNvbm1lbW\ +JlcnNmaWVsZCBpZGVudGlmaWVyc3RydWN0IExvY2tmaWxlUGFja2FnZUpzb25Db250ZW50c3RydWN0\ +IExvY2tmaWxlUGFja2FnZUpzb25Db250ZW50IHdpdGggMSBlbGVtZW50hMYQADAAAABIyBAADAAAAE\ +HGEAALAAAAc3RydWN0IFdvcmtzcGFjZU1lbWJlckNvbmZpZ0NvbnRlbnRzdHJ1Y3QgV29ya3NwYWNl\ +Q29uZmlnQ29udGVudHN0cnVjdCBSYXdOcG1QYWNrYWdlSW5mb3N0cnVjdCBSYXdOcG1QYWNrYWdlSW\ +5mbyB3aXRoIDIgZWxlbWVudHMkxxAAKAAAAHN0cnVjdCBSYXdKc3JQYWNrYWdlSW5mb3N0cnVjdCBS\ +YXdKc3JQYWNrYWdlSW5mbyB3aXRoIDIgZWxlbWVudHNsxxAAKAAAAAAAAAAAAAAAAQAAAGIBAAAAAA\ +AAAQAAAAEAAABEAgAAAAAAAAAAAAABAAAARQIAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5j\ +cmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9kZW5vX3BhY2thZ2VfanNvbi0wLjEuMi9zcmMvbGliLn\ +Jzbm9uZW1haW5tb2R1bGV2ZXJzaW9udHlwZWJpbmV4cG9ydHNkZXBlbmRlbmNpZXNkZXZEZXBlbmRl\ +bmNpZXNzY3JpcHRzY29tbW9uanN0eXBpbmdzd29ya3NwYWNlc3R5cGVzzMcQAFkAAAAlAQAAGAAAAH\ +dvcmtzcGFjZTpmaWxlOmdpdDpodHRwOmh0dHBzOgAAzMcQAFkAAABXAQAAKwAAACJleHBvcnRzIiBj\ +YW5ub3QgY29udGFpbnMgc29tZSBrZXlzIHN0YXJ0aW5nIHdpdGggJy4nIGFuZCBzb21lIG5vdC4KIC\ +AgICAgICBUaGUgZXhwb3J0cyBvYmplY3QgbXVzdCBlaXRoZXIgYmUgYW4gb2JqZWN0IG9mIHBhY2th\ +Z2Ugc3VicGF0aCBrZXlzCiAgICAgICAgb3IgYW4gb2JqZWN0IG9mIG1haW4gZW50cnkgY29uZGl0aW\ +9uIG5hbWUga2V5cyBvbmx5LsjIEADMAAAAzMcQAFkAAACRAQAABwAAAMzHEABZAAAAvAEAACkAAADM\ +xxAAWQAAAMABAAAjAAAAzMcQAFkAAADJAQAACwAAAMzHEABZAAAAxQEAAA4AAADMxxAAWQAAAKUBAA\ +ApAAAAzMcQAFkAAAC3AQAAHwAAAE5vdCBpbXBsZW1lbnRlZCBzY2hlbWUgJwzKEAAYAAAA7loSAAEA\ +AAAAAAAAAQAAAAEAAABGAgAAAAAAAAAAAAABAAAARQIAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbm\ +RleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9kZW5vX3BhdGhfdXRpbC0wLjIuMC9zcmMvbGli\ +LnJzAABUyhAAVgAAAHIAAAArAAAAVMoQAFYAAACEAAAAQQAAAFTKEABWAAAAnQAAACIAAABUyhAAVg\ +AAAM0AAAAbAAAAVMoQAFYAAADzAAAAKQAAAFTKEABWAAAA9wAAACMAAABUyhAAVgAAAPwAAAAOAAAA\ +VMoQAFYAAADcAAAAKQAAAFxcP1xVTkNcXFw/XFTKEABWAAAA7gAAAB8AAABDb3VsZCBub3QgY29udm\ +VydCBVUkwgdG8gZmlsZSBwYXRoLgogIFVSTDogAEjLEAArAAAARwIAABgAAAAEAAAASAIAAEjaEQBN\ +AAAAqQAAABoAAABI2hEATQAAAI8AAAARAAAASNoRAE0AAACPAAAAKAAAAEjaEQBNAAAAngAAAB8AAA\ +BQYXJzZUVycm9yRmFpbHVyZUVycm9yY29kZV9zbmlwcGV0TGF6eSBpbnN0YW5jZSBoYXMgcHJldmlv\ +dXNseSBiZWVuIHBvaXNvbmVk7ssQACoAAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdG\ +VzLmlvLTZmMTdkMjJiYmExNTAwMWYvb25jZV9jZWxsLTEuMTkuMC9zcmMvbGliLnJzAAAgzBAAUgAA\ +AB8FAAAZAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMT\ +UwMDFmL2Rlbm9fc2VtdmVyLTAuNS4xMy9zcmMvbnBtLnJzfHwAAITMEABUAAAAzQAAABMAAACEzBAA\ +VAAAAM4AAAANAAAAfj5+Xj49PD14WEVycm9yIHBhcnNpbmcgJycgdG8gdTY0LgoKBs0QAA8AAAAVzR\ +AACwAAAAEAAAAAAAAAAQAAAAAAAADo6RQAAQAAAAEAAAAAAAAAJVgSAAEAAAB+Ly5jYXJnby9yZWdp\ +c3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZGVub19zZW12ZXItMC41Lj\ +EzL3NyYy9wYWNrYWdlLnJzWM0QAFgAAADOAAAAFAAAAFVuZXhwZWN0ZWQgY2hhcmFjdGVyICcvJ1jN\ +EABYAAAAWgIAABwAAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMj\ +JiYmExNTAwMWYvZGVub19zZW12ZXItMC41LjEzL3NyYy9saWIucnPozRAAVAAAAB8AAAA2AAAAAQAA\ +AAAAAADq6BQAAQAAAOroFAABAAAA6ugUAAEAAAArAAAAbM4QAAEAAABwcm9ncmFtbWluZyBlcnJvcj\ +ogY2Fubm90IHVzZSBtYXRjaGVzIHdpdGggYSB0YWc6IAAAeM4QADIAAADozRAAVAAAABwBAAAgAAAA\ +VW5leHBlY3RlZCBKU1IgZGVwZW5kZW5jeSBzY2hlbWUgJycuIEV4cGVjdGVkICducG06JyBvciAnan\ +NyOicAAMTOEAAiAAAA5s4QABwAAABJbnZhbGlkIG5wbSB2ZXJzaW9uSW52YWxpZCB2ZXJzaW9uIHJl\ +cXVpcmVtZW50TnBtVmVyc2lvblJlcVBhcnNlRXJyb3Jzb3VyY2VKc3JOcG1QYWNrYWdlUmVxUmVmZX\ +JlbmNlSW52YWxpZFBhcnNlRXJyb3JzcGVjaWZpZXJQYWNrYWdlUmVxUmVmZXJlbmNlSW52YWxpZFdp\ +dGhWZXJzaW9uUGFyc2VFcnJvcmN1cnJlbnRzdWdnZXN0ZWROb1BhY2thZ2VOYW1lSW52YWxpZFBhY2\ +thZ2VOYW1lTWlzc2luZ0F0U3ltYm9sU3BlY2lmaWVyVmVyc2lvblJlcU5wbVZlcnNpb25SZXFJbnZh\ +bGlkIHBhY2thZ2UgcmVxdWlyZW1lbnQgJx/QEAAdAAAA7loSAAEAAAAnLiBJbnZhbGlkIHBhY2thZ2\ +UgbmFtZSBhbmQgdmVyc2lvbiAnAAAAT9AQACIAAABM0BAAAwAAAFZlcnNpb25SZXFTcGVjaWZpZXJQ\ +YXJzZUVycm9yfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMT\ +UwMDFmL2dsb2ItMC4zLjEvc3JjL2xpYi5ycwAAAKHQEABMAAAAKAIAABgAAACh0BAATAAAADACAAAz\ +AAAAodAQAEwAAAA/AgAATQAAAHJlY3Vyc2l2ZSB3aWxkY2FyZHMgbXVzdCBmb3JtIGEgc2luZ2xlIH\ +BhdGggY29tcG9uZW50AAAAodAQAEwAAABBAgAASwAAAHdpbGRjYXJkcyBhcmUgZWl0aGVyIHJlZ3Vs\ +YXIgYCpgIG9yIHJlY3Vyc2l2ZSBgKipgAACh0BAATAAAAGcCAAA1AAAAodAQAEwAAABoAgAAJAAAAK\ +HQEABMAAAAawIAADMAAACh0BAATAAAAHICAAA8AAAAodAQAEwAAABzAgAAJAAAAGludmFsaWQgcmFu\ +Z2UgcGF0dGVybgAAAKHQEABMAAAAdgIAAEYAAACh0BAATAAAANkCAAAnAAAAodAQAEwAAAAWAwAAPw\ +AAAKHQEABMAAAAjwMAACAAAACh0BAATAAAAJADAAAlAAAAodAQAEwAAACoAwAAQAAAAKHQEABMAAAA\ +qQMAADwAAABhbHJlYWR5IGNoZWNrZWQgdGhhdCBubyBtYXRjaCBlcnJvciBjYW4gb2NjdXIgaGVyZX\ +4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9haG8t\ +Y29yYXNpY2stMS4xLjMvc3JjL2F1dG9tYXRvbi5yc6bSEABaAAAAxwMAAA4AAABBaG9Db3Jhc2ljaz\ +o6dHJ5X2ZpbmRfb3ZlcmxhcHBpbmdfaXRlciBpcyBub3QgZXhwZWN0ZWQgdG8gZmFpbAAA9d4RAFwA\ +AABlAgAALwAAAKkBAABkAQAABAAAAKoBAACpAQAAZAEAAAQAAACpAQAAZAEAAAQAAACrAQAASgIAAK\ +0BAACJAQAArgEAAK8BAACwAQAASwIAAEwCAACzAQAAtAEAALUBAAC2AQAAtwEAALgBAAC5AQAAugEA\ +AKoBAABg0xAAcNMQAHDTEABw0xAAcNMQAJcBAABIAQAABAAAAJgBAACXAQAASAEAAAQAAACXAQAASA\ +EAAAQAAACZAQAATQIAAJsBAACJAQAAnAEAAJ0BAACeAQAATgIAAE8CAAChAQAAogEAAKMBAACkAQAA\ +pQEAAKYBAACnAQAAqAEAAJgBAADk0xAA9NMQAPTTEAD00xAA9NMQAIUBAABcAQAABAAAABUBAACFAQ\ +AAXAEAAAQAAACFAQAAXAEAAAQAAACGAQAAhwEAAIgBAACJAQAAigEAAIsBAACMAQAAjQEAAFACAACP\ +AQAAkAEAAJEBAACSAQAAkwEAAJQBAACVAQAAlgEAABUBAABo1BAAeNQQAHjUEAB41BAAeNQQANMBAA\ +AMAAAABAAAAF8BAAAAAgAAUQIAAAAAAAAAAAAAAQAAAGIBAABSAgAABAAAAAQAAABTAgAAAAAAABgA\ +AAAIAAAAVAIAAFN0YXRlSURPdmVyZmxvd3JlcXVlc3RlZF9tYXhQYXR0ZXJuSURPdmVyZmxvd1BhdH\ +Rlcm5Ub29Mb25nQnVpbGRFcnJvcn4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8t\ +NmYxN2QyMmJiYTE1MDAxZi9nbG9ic2V0LTAuNC4xNS9zcmMvZ2xvYi5ycwAAedUQAFEAAABeAQAAHQ\ +AAAHnVEABRAAAAoQEAAB4AAAB51RAAUQAAANkBAAAeAAAAedUQAFEAAAD8AQAAFwAAAHnVEABRAAAA\ +/wEAAB0AAAB51RAAUQAAABgCAAAaAAAAedUQAFEAAABJAgAAKAAAACg/LXUpKD9pKS4qW14vXVteL1\ +0qKD86Lz98LiovKS8uKig/Oi98Ly4qLykoPzp8AHnVEABRAAAA8AIAACwAAAB51RAAUQAAAB4DAAAo\ +AAAAedUQAFEAAAAsAwAAIQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuYnVtcCgpID09IFNvbWUoJy\ +onKQAAedUQAFEAAABXAwAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuYnVtcCgpLm1hcF9vcih0\ +cnVlLCBpc19zZXBhcmF0b3IpedUQAFEAAABeAwAAEQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuYn\ +VtcCgpLmlzX25vbmUoKQB51RAAUQAAAG4DAAARAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5idW1w\ +KCkubWFwKGlzX3NlcGFyYXRvcikudW53cmFwX29yKGZhbHNlKXnVEABRAAAAcwMAABEAAABhc3Nlcn\ +Rpb24gZmFpbGVkOiBidW1wID09IFNvbWUoJyEnKSB8fCBidW1wID09IFNvbWUoJ14nKXnVEABRAAAA\ +ogMAABEAAAB51RAAUQAAAMIDAAAZAAAAedUQAFEAAAC+AwAAMwAAAHnVEABRAAAAzAMAAC8AAAB+Ly\ +5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvZ2xvYnNl\ +dC0wLjQuMTUvc3JjL3BhdGh1dGlsLnJzAAAAINgQAFUAAAAPAAAAMwAAACDYEABVAAAAMwAAADMAAA\ +BpbnZhbGlkIHVzZSBvZiAqKjsgbXVzdCBiZSBvbmUgcGF0aCBjb21wb25lbnR1bmNsb3NlZCBjaGFy\ +YWN0ZXIgY2xhc3M7IG1pc3NpbmcgJ10naW52YWxpZCBjaGFyYWN0ZXIgcmFuZ2V1bm9wZW5lZCBhbH\ +Rlcm5hdGUgZ3JvdXA7IG1pc3NpbmcgJ3snIChtYXliZSBlc2NhcGUgJ30nIHdpdGggJ1t9XSc/KXVu\ +Y2xvc2VkIGFsdGVybmF0ZSBncm91cDsgbWlzc2luZyAnfScgKG1heWJlIGVzY2FwZSAneycgd2l0aC\ +AnW3tdJz8pbmVzdGVkIGFsdGVybmF0ZSBncm91cHMgYXJlIG5vdCBhbGxvd2VkZGFuZ2xpbmcgJ1wn\ +fi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2dsb2\ +JzZXQtMC40LjE1L3NyYy9saWIucnO82RAAUAAAAOUAAAArAAAAZXJyb3IgcGFyc2luZyBnbG9iICcn\ +OiAAHNoQABQAAAAw2hAAAwAAAGludmFsaWQgcmFuZ2U7ICcnID4gJwAAAETaEAAQAAAAVNoQAAUAAA\ +DuWhIAAQAAALzZEABQAAAAAgEAACsAAAC82RAAUAAAALgBAAArAAAAvNkQAFAAAAAxAgAAFwAAALzZ\ +EABQAAAA2wIAACYAAAC82RAAUAAAAPsCAAAmAAAAvNkQAFAAAABKAwAAIgAAALzZEABQAAAAZgMAAD\ +cAAAC82RAAUAAAAG4DAAA3AAAAAAAAAAQAAAAEAAAAVQIAAFYCAABWAgAAvNkQAFAAAACYAwAAJAAA\ +AH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9oYX\ +NoYnJvd24tMC4xNC41L3NyYy9yYXcvbW9kLnJzAAAc2xAAVgAAAFYAAAAoAAAASGFzaCB0YWJsZSBj\ +YXBhY2l0eSBvdmVyZmxvd4TbEAAcAAAAL3J1c3QvZGVwcy9oYXNoYnJvd24tMC4xNC41L3NyYy9yYX\ +cvbW9kLnJzAACo2xAAKgAAAFYAAAAoAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRl\ +cy5pby02ZjE3ZDIyYmJhMTUwMDFmL3VuaWNvZGUtbm9ybWFsaXphdGlvbi0wLjEuMjQvc3JjL2RlY2\ +9tcG9zZS5yc+TbEABkAAAAmQAAACIAAADk2xAAZAAAAGAAAAApAAAA5NsQAGQAAABgAAAAGAAAAOTb\ +EABkAAAAVwAAABQAAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMj\ +JiYmExNTAwMWYvdGlueXZlYy0xLjguMC9zcmMvYXJyYXl2ZWMucnOI3BAAVAAAAKAAAAAaAAAAiNwQ\ +AFQAAACoAAAAIgAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMm\ +JiYTE1MDAxZi9pZG5hLTAuNS4wL3NyYy9wdW55Y29kZS5ycwAAAPzcEABRAAAAIQAAAA4AAAD83BAA\ +UQAAAEkAAAAXAAAA/NwQAFEAAABLAAAAGwAAAPzcEABRAAAAbgAAABwAAAD83BAAUQAAAIgAAAAQAA\ +AA/NwQAFEAAAAMAQAADgAAAPzcEABRAAAAJwEAACUAAAD83BAAUQAAAD0BAAAOAAAAfi8uY2FyZ28v\ +cmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2lkbmEtMC41LjAvc3\ +JjL3V0czQ2LnJzAADQ3RAATgAAACcAAAASAAAA0N0QAE4AAAA/AAAAFQAAANDdEABOAAAARgAAAAoA\ +AADQ3RAATgAAAEQAAAAKAAAA0N0QAE4AAABUAQAAFQAAANDdEABOAAAApQEAABgAAAB4bi0t0N0QAE\ +4AAACHAQAAMAAAANDdEABOAAAA5QEAABUAAAAAAAAAAIAAAC0AAAABgAAALwAAAAKAAAAwAAAAA4AA\ +ADoAAAAEgAAAQQAAAAUAAABbAAAAH4AAAGEAAAAggAAAewAAACGAAACAAAAAIoAAAKAAAAAjgAAAoQ\ +AAACSAAACoAAAAJQAAAKsAAAAogAAArQAAACkAAACwAAAALIAAALIAAAAtAAAA4AAAAFuAAAD3AAAA\ +XIAAAPgAAABdgAAAAAEAAF4AAAAyAQAAkIAAADQBAACRAAAANwEAAJSAAAA5AQAAlQAAAD8BAACbgA\ +AAQQEAAJwAAACMAQAA54AAAI4BAADoAAAAmQEAAPOAAACcAQAA9AAAAKoBAAACgQAArAEAAAMBAAC5\ +AQAAEIEAALwBAAARgQAAvQEAABKBAADEAQAAE4EAAMcBAAAUgQAAygEAABWBAADNAQAAFgEAANwBAA\ +AlgQAA3gEAACYBAADvAQAAN4EAAPEBAAA4gQAA9AEAADkBAAAzAgAAeIEAADoCAAB5AQAAPwIAAH6B\ +AABBAgAAfwEAAE8CAACNgQAAsAIAAI4BAAC5AgAAl4EAAMICAACYgQAAxgIAAJmBAADSAgAAmoEAAN\ +gCAACbAQAA3gIAAKGBAADgAgAAogEAAOUCAACngQAA7AIAAKgBAADvAgAAq4EAAAADAACsgQAAQAMA\ +AK0BAABGAwAAs4EAAE8DAAC0gQAAUAMAALWBAABwAwAAtgEAAHgDAAC+gQAAegMAAL+BAAB7AwAAwI\ +EAAH4DAADBAQAAgAMAAMOBAACEAwAAxAEAAKwDAADsgQAAwgMAAO2BAADDAwAA7oEAAM8DAADvAQAA\ ++wMAABuCAAD9AwAAHAIAADAEAABPggAAYAQAAFACAACDBAAAc4IAAIgEAAB0ggAAigQAAHUCAADOBA\ +AAuYIAANAEAAC6AgAAVwUAAEGDAABZBQAAQoMAAFoFAABDgwAAYAUAAESDAACHBQAARQMAAIkFAABH\ +gwAAiwUAAEiDAACNBQAASYMAAJAFAABKgwAAkQUAAEuDAAC+BQAATAMAAMEFAABPgwAAwwUAAFCDAA\ +DEBQAAUYMAAMYFAABSAwAAyAUAAFSDAADQBQAAVYMAAOsFAABWgwAA7wUAAFeDAAD1BQAAWIMAAAYG\ +AABZgwAAEAYAAFqDAAAbBgAAW4MAABwGAABcgwAAHgYAAF2DAAAgBgAAXoMAAEAGAABfgwAAQQYAAG\ +CDAABqBgAAYYMAAG4GAABigwAAdQYAAGMDAAB5BgAAZ4MAANQGAABogwAA1QYAAGmDAADdBgAAagMA\ +AN8GAABsgwAA6QYAAG2DAADqBgAAboMAAAAHAABvgwAADgcAAHCDAAAQBwAAcYMAAEsHAABygwAATQ\ +cAAHODAACyBwAAdIMAAMAHAAB1gwAA9gcAAHaDAAD7BwAAd4MAAP0HAAB4gwAA/gcAAHmDAAAACAAA\ +eoMAAC4IAAB7gwAAMAgAAHyDAAA/CAAAfYMAAEAIAAB+gwAAXAgAAH+DAABeCAAAgAMAAGAIAACCgw\ +AAawgAAIODAACgCAAAhIMAALUIAACFgwAAtggAAIaDAADICAAAh4MAANMIAACIgwAA4ggAAImDAADj\ +CAAAioMAAFgJAACLAwAAYAkAAJODAABkCQAAlIMAAGYJAACVgwAAcAkAAJaDAABxCQAAl4MAAIQJAA\ +CYgwAAhQkAAJmDAACNCQAAmoMAAI8JAACbgwAAkQkAAJyDAACTCQAAnYMAAKkJAACegwAAqgkAAJ+D\ +AACxCQAAoAMAALMJAACigwAAtgkAAKODAAC6CQAApIMAALwJAAClgwAAxQkAAKaDAADHCQAAp4MAAM\ +kJAACogwAAywkAAKmDAADPCQAAqoMAANcJAACrgwAA2AkAAKyDAADcCQAArQMAAOAJAACxgwAA5AkA\ +ALKDAADmCQAAs4MAAPIJAAC0gwAA/AkAALUDAAD/CQAAuIMAAAEKAAC5gwAABAoAALqDAAAFCgAAu4\ +MAAAsKAAC8gwAADwoAAL2DAAARCgAAvoMAABMKAAC/gwAAKQoAAMCDAAAqCgAAwYMAADEKAADCAwAA\ +OAoAAMmDAAA6CgAAyoMAADwKAADLAwAAPgoAAM2DAABDCgAAzoMAAEcKAADPgwAASQoAANCDAABLCg\ +AA0YMAAE4KAADSgwAAUQoAANODAABSCgAA1IMAAFkKAADVAwAAXwoAANuDAABmCgAA3IMAAHYKAADd\ +gwAAdwoAAN6DAACBCgAA34MAAIQKAADggwAAhQoAAOGDAACOCgAA4oMAAI8KAADjgwAAkgoAAOSDAA\ +CTCgAA5YMAAKkKAADmgwAAqgoAAOeDAACxCgAA6IMAALIKAADpgwAAtAoAAOqDAAC1CgAA64MAALoK\ +AADsgwAAvAoAAO2DAADGCgAA7oMAAMcKAADvgwAAygoAAPCDAADLCgAA8YMAAM4KAADygwAA0AoAAP\ +ODAADRCgAA9IMAAOAKAAD1gwAA5AoAAPaDAADmCgAA94MAAPAKAAD4gwAA8goAAPmDAAD5CgAA+oMA\ +AAALAAD7gwAAAQsAAPyDAAAECwAA/YMAAAULAAD+gwAADQsAAP+DAAAPCwAAAIQAABELAAABhAAAEw\ +sAAAKEAAApCwAAA4QAACoLAAAEhAAAMQsAAAWEAAAyCwAABoQAADQLAAAHhAAANQsAAAiEAAA6CwAA\ +CYQAADwLAAAKhAAARQsAAAuEAABHCwAADIQAAEkLAAANhAAASwsAAA6EAABOCwAAD4QAAFULAAAQhA\ +AAWAsAABGEAABcCwAAEgQAAF8LAAAVhAAAZAsAABaEAABmCwAAF4QAAHALAAAYBAAAcgsAABqEAAB4\ +CwAAG4QAAIILAAAchAAAhAsAAB2EAACFCwAAHoQAAIsLAAAfhAAAjgsAACCEAACRCwAAIYQAAJILAA\ +AihAAAlgsAACOEAACZCwAAJIQAAJsLAAAlBAAAngsAACiEAACgCwAAKYQAAKMLAAAqhAAApQsAACuE\ +AACoCwAALIQAAKsLAAAthAAArgsAAC6EAAC6CwAAL4QAAL4LAAAwhAAAwwsAADGEAADGCwAAMoQAAM\ +kLAAAzhAAAygsAADSEAADOCwAANYQAANALAAA2hAAA0QsAADeEAADXCwAAOIQAANgLAAA5hAAA5gsA\ +ADqEAADwCwAAO4QAAPsLAAA8hAAAAAwAAD2EAAANDAAAPoQAAA4MAAA/hAAAEQwAAECEAAASDAAAQY\ +QAACkMAABChAAAKgwAAEOEAAA6DAAARIQAAD0MAABFhAAARQwAAEaEAABGDAAAR4QAAEkMAABIhAAA\ +SgwAAEmEAABODAAASoQAAFUMAABLhAAAVwwAAEyEAABYDAAATYQAAFsMAABOhAAAYAwAAE+EAABkDA\ +AAUIQAAGYMAABRhAAAcAwAAFKEAAB3DAAAU4QAAIAMAABUhAAAhAwAAFWEAACFDAAAVoQAAI0MAABX\ +hAAAjgwAAFiEAACRDAAAWYQAAJIMAABahAAAqQwAAFuEAACqDAAAXIQAALQMAABdhAAAtQwAAF6EAA\ +C6DAAAX4QAALwMAABghAAAxQwAAGGEAADGDAAAYoQAAMkMAABjhAAAygwAAGSEAADODAAAZYQAANUM\ +AABmhAAA1wwAAGeEAADeDAAAaAQAAOAMAABqhAAA5AwAAGuEAADmDAAAbIQAAPAMAABthAAA8QwAAG\ +6EAADzDAAAb4QAAAANAABwhAAADQ0AAHGEAAAODQAAcoQAABENAABzhAAAEg0AAHSEAABFDQAAdYQA\ +AEYNAAB2hAAASQ0AAHeEAABKDQAAeIQAAE8NAAB5hAAAUA0AAHqEAABUDQAAe4QAAFgNAAB8hAAAXw\ +0AAH2EAABkDQAAfoQAAGYNAAB/hAAAcA0AAICEAAB6DQAAgYQAAIANAACChAAAgQ0AAIOEAACEDQAA\ +hIQAAIUNAACFhAAAlw0AAIaEAACaDQAAh4QAALINAACIhAAAsw0AAImEAAC8DQAAigQAAL4NAACMhA\ +AAwA0AAI2EAADHDQAAjoQAAMoNAACPhAAAyw0AAJCEAADPDQAAkYQAANUNAACSBAAA2A0AAJWEAADg\ +DQAAloQAAOYNAACXhAAA8A0AAJiEAADyDQAAmYQAAPQNAACahAAA9Q0AAJuEAAABDgAAnIQAADMOAA\ +CdhAAANA4AAJ6EAAA7DgAAn4QAAD8OAACghAAAQA4AAKGEAABPDgAAooQAAFAOAACjhAAAWg4AAKSE\ +AABcDgAApYQAAIEOAACmhAAAgw4AAKcEAACGDgAAqoQAAIsOAACrhAAAjA4AAKyEAACkDgAArQQAAK\ +cOAACwhAAAsw4AALGEAAC0DgAAsoQAAL4OAACzhAAAwA4AALSEAADFDgAAtQQAAMgOAAC4hAAAzg4A\ +ALmEAADQDgAAuoQAANoOAAC7hAAA3A4AALwEAADeDgAAvoQAAOAOAAC/hAAAAA8AAMCEAAABDwAAwY\ +QAAAsPAADCBAAADQ8AAMSEAAAYDwAAxYQAABoPAADGhAAAIA8AAMeEAAAqDwAAyIQAADUPAADJBAAA\ +Og8AAM6EAAA+DwAAz4QAAEMPAADQhAAARA8AANGEAABIDwAA0oQAAEkPAADThAAATQ8AANSEAABODw\ +AA1YQAAFIPAADWhAAAUw8AANeEAABXDwAA2IQAAFgPAADZhAAAXA8AANqEAABdDwAA24QAAGkPAADc\ +hAAAag8AAN2EAABtDwAA3oQAAHEPAADfhAAAcw8AAOAEAAB6DwAA54QAAIEPAADohAAAgg8AAOmEAA\ +CFDwAA6oQAAIYPAADrhAAAkw8AAOyEAACUDwAA7YQAAJgPAADuhAAAmQ8AAO+EAACdDwAA8IQAAJ4P\ +AADxhAAAog8AAPKEAACjDwAA84QAAKcPAAD0hAAAqA8AAPWEAACsDwAA9oQAAK0PAAD3hAAAuQ8AAP\ +iEAAC6DwAA+YQAAL0PAAD6hAAAvg8AAPuEAADGDwAA/IQAAMcPAAD9hAAAzQ8AAP6EAADODwAA/4QA\ +ANsPAAAAhQAAABAAAAGFAABKEAAAAoUAAFAQAAADhQAAnhAAAASFAACgEAAABYUAAMcQAAAGhQAAyB\ +AAAAeFAADNEAAACIUAAM4QAAAJhQAA0BAAAAqFAAD7EAAACwUAAP0QAAANhQAAABEAAA6FAABfEQAA\ +D4UAAGERAAAQhQAAABIAABGFAABJEgAAEoUAAEoSAAAThQAAThIAABSFAABQEgAAFYUAAFcSAAAWBQ\ +AAWhIAABmFAABeEgAAGoUAAGASAAAbhQAAiRIAAByFAACKEgAAHYUAAI4SAAAehQAAkBIAAB+FAACx\ +EgAAIIUAALISAAAhhQAAthIAACKFAAC4EgAAI4UAAL8SAAAkBQAAwhIAACeFAADGEgAAKIUAAMgSAA\ +AphQAA1xIAACqFAADYEgAAK4UAABETAAAshQAAEhMAAC2FAAAWEwAALoUAABgTAAAvhQAAWxMAADCF\ +AABdEwAAMYUAAGATAAAyhQAAfRMAADOFAACAEwAANIUAAJATAAA1hQAAmhMAADaFAACgEwAAN4UAAP\ +YTAAA4hQAA+BMAADkFAAD+EwAAP4UAAAAUAABAhQAAARQAAEGFAABtFgAAQoUAAG8WAABDhQAAgBYA\ +AESFAACBFgAARYUAAJsWAABGhQAAnRYAAEeFAACgFgAASIUAAOsWAABJhQAA8RYAAEqFAAD5FgAAS4\ +UAAAAXAABMhQAADRcAAE2FAAAOFwAAToUAABUXAABPhQAAIBcAAFCFAAA1FwAAUYUAADcXAABShQAA\ +QBcAAFOFAABUFwAAVIUAAGAXAABVhQAAbRcAAFaFAABuFwAAV4UAAHEXAABYhQAAchcAAFmFAAB0Fw\ +AAWoUAAIAXAABbhQAAtBcAAFyFAAC2FwAAXYUAANQXAABehQAA1xcAAF+FAADYFwAAYIUAANwXAABh\ +hQAA3hcAAGKFAADgFwAAY4UAAOoXAABkhQAA8BcAAGWFAAD6FwAAZoUAAAAYAABnhQAABhgAAGiFAA\ +AHGAAAaYUAAAsYAABqhQAADhgAAGuFAAAQGAAAbIUAABoYAABthQAAIBgAAG6FAAB5GAAAb4UAAIAY\ +AABwhQAAqxgAAHGFAACwGAAAcoUAAPYYAABzhQAAABkAAHSFAAAfGQAAdYUAACAZAAB2hQAALBkAAH\ +eFAAAwGQAAeIUAADwZAAB5hQAAQBkAAHqFAABBGQAAe4UAAEQZAAB8hQAARhkAAH2FAABuGQAAfoUA\ +AHAZAAB/hQAAdRkAAICFAACAGQAAgYUAAKwZAACChQAAsBkAAIOFAADKGQAAhIUAANAZAACFhQAA2h\ +kAAIaFAADbGQAAh4UAAN4ZAACIhQAAABoAAImFAAAcGgAAioUAAB4aAACLhQAAIBoAAIyFAABfGgAA\ +jYUAAGAaAACOhQAAfRoAAI+FAAB/GgAAkIUAAIoaAACRhQAAkBoAAJKFAACaGgAAk4UAAKAaAACUhQ\ +AApxoAAJWFAACoGgAAloUAAK4aAACXhQAAsBoAAJiFAAC+GgAAmYUAAL8aAACahQAAwRoAAJuFAAAA\ +GwAAnIUAAEwbAACdhQAAUBsAAJ6FAABaGwAAn4UAAGsbAACghQAAdBsAAKGFAAB9GwAAooUAAIAbAA\ +CjhQAA9BsAAKSFAAD8GwAApYUAAAAcAACmhQAAOBwAAKeFAAA7HAAAqIUAAEAcAACphQAAShwAAKqF\ +AABNHAAAq4UAAH4cAACshQAAgBwAAK0FAACEHAAAsYUAAIYcAACyBQAAiRwAALWFAACQHAAAtgUAAL\ +scAADhhQAAvRwAAOIFAADAHAAA5YUAAMgcAADmhQAA0BwAAOeFAADTHAAA6IUAANQcAADphQAA+xwA\ +AOqFAAAAHQAA64UAACwdAADsBQAAax0AACuGAAB4HQAALIYAAHkdAAAthgAAmx0AAC4GAADAHQAAU4\ +YAAPodAABUhgAA+x0AAFWGAAAAHgAAVgYAAJUeAADrhgAAmh4AAOwGAACcHgAA7oYAAJ4eAADvBgAA\ +/x4AAFCHAAAIHwAAUQcAABAfAABZhwAAFh8AAFqHAAAYHwAAWwcAAB4fAABhhwAAIB8AAGKHAAAoHw\ +AAYwcAADAfAABrhwAAOB8AAGwHAABAHwAAdIcAAEYfAAB1hwAASB8AAHYHAABOHwAAfIcAAFAfAAB9\ +hwAAWB8AAH4HAABgHwAAhocAAGgfAACHBwAAfh8AAJ2HAACAHwAAngcAALAfAADOhwAAsh8AAM8HAA\ +DQHwAA7YcAANMfAADuhwAA1B8AAO+HAADWHwAA8IcAANgfAADxBwAA4B8AAPmHAADjHwAA+ocAAOQf\ +AAD7hwAA6B8AAPwHAADwHwAABIgAAPIfAAAFCAAAACAAABOIAAALIAAAFIgAAAwgAAAViAAADiAAAB\ +aIAAAQIAAAFwgAABIgAAAZiAAAFyAAABqIAAAYIAAAG4gAACQgAAAciAAAJyAAAB2IAAAoIAAAHogA\ +AC8gAAAfiAAAMCAAACCIAAAzIAAAIQgAADggAAAmiAAAPCAAACcIAAA/IAAAKogAAEcgAAArCAAASi\ +AAAC6IAABXIAAAL4gAAFggAAAwiAAAXyAAADEIAABhIAAAM4gAAGQgAAA0iAAAZSAAADWIAABwIAAA\ +NggAAHIgAAA4iAAAdCAAADkIAACdIAAAYogAAKAgAABjiAAAqCAAAGSIAACpIAAAZYgAAMAgAABmiA\ +AA0CAAAGeIAADxIAAAaIgAAAAhAABpCAAACyEAAHSIAAAPIQAAdYgAABAhAAB2iAAAEiEAAHeIAAAU\ +IQAAeAgAABchAAB7iAAAGSEAAHwIAAAbIQAAfogAAB4hAAB/iAAAICEAAIAIAAAvIQAAj4gAADEhAA\ +CQCAAAPSEAAJyIAAA/IQAAnQgAAEEhAACfiAAARSEAAKCIAABHIQAAoQgAAEohAACkiAAATiEAAKUI\ +AACAIQAA14gAAIMhAADYCAAAhSEAANqIAACJIQAA24gAAIohAADciAAAjCEAAN2IAACQIQAA3ogAAC\ +wiAADfCAAAMSIAAOSIAABgIgAA5YgAAGEiAADmiAAAbiIAAOeIAABwIgAA6IgAACkjAADpCAAAKyMA\ +AOuIAAAnJAAA7IgAAEAkAADtiAAASyQAAO6IAABgJAAA7wgAAIgkAAAXiQAAnCQAABgJAADrJAAAZ4\ +kAAAwqAABoiQAADSoAAGmJAAB0KgAAagkAAHcqAABtiQAA3CoAAG6JAADdKgAAb4kAAHQrAABwiQAA\ +disAAHGJAACWKwAAcokAAJcrAABziQAAACwAAHQJAAAwLAAApIkAAF8sAAClCQAAZSwAAKuJAABnLA\ +AArAkAAHMsAAC4iQAAdSwAALmJAAB2LAAAuokAAHwsAAC7CQAA4ywAACKKAADlLAAAI4oAAOssAAAk\ +CgAA7iwAACeKAADyLAAAKAoAAPQsAAAqigAA+SwAACuKAAAALQAALIoAACYtAAAtCgAAKC0AAC+KAA\ +AtLQAAMIoAAC4tAAAxigAAMC0AADKKAABoLQAAM4oAAG8tAAA0CgAAcS0AADaKAAB/LQAAN4oAAJct\ +AAA4igAAoC0AADmKAACnLQAAOooAAKgtAAA7igAAry0AADyKAACwLQAAPYoAALctAAA+igAAuC0AAD\ ++KAAC/LQAAQIoAAMAtAABBigAAxy0AAEKKAADILQAAQ4oAAM8tAABEigAA0C0AAEWKAADXLQAARooA\ +ANgtAABHigAA3y0AAEiKAADgLQAASYoAAAAuAABKigAALy4AAEuKAAAwLgAATIoAAFMuAABNigAAgC\ +4AAE6KAACaLgAAT4oAAJsuAABQigAAny4AAFGKAACgLgAAUooAAPMuAABTigAA9C4AAFSKAAAALwAA\ +VQoAANYvAAAriwAAADAAACwLAAADMAAAL4sAAAUwAAAwiwAACDAAADGLAAAqMAAAMosAAC4wAAAziw\ +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\ +0AAN2SAAA+/QAA3pIAAED9AADfkgAAUP0AAOCSAABR/QAA4ZIAAFP9AADiEgAAWP0AAOeSAABa/QAA\ +6BIAAF/9AADtkgAAYf0AAO6SAABi/QAA75IAAGT9AADwkgAAZv0AAPGSAABn/QAA8pIAAGn9AADzkg\ +AAav0AAPSSAABs/QAA9ZIAAG79AAD2kgAAb/0AAPeSAABx/QAA+JIAAHP9AAD5EgAAdv0AAPySAAB4\ +/QAA/RIAAHz9AAABkwAAfv0AAAITAACD/QAAB5MAAIX9AAAIkwAAh/0AAAmTAACJ/QAAChMAAJD9AA\ +ARkwAAkv0AABITAACX/QAAF5MAAJn9AAAYEwAAnP0AABuTAACe/QAAHBMAAMj9AABGkwAA8P0AAEcT\ +AAD+/QAAVZMAAAD+AABWkwAAEP4AAFcTAAAZ/gAAYJMAACD+AABhkwAAMP4AAGITAAAz/gAAZZMAAD\ +X+AABmEwAARf4AAHaTAABH/gAAdxMAAEn+AAB5kwAATf4AAHqTAABQ/gAAexMAAFL+AAB9kwAAVP4A\ +AH4TAABs/gAAlpMAAHD+AACXEwAAgf4AAKiTAACD/gAAqZMAAIX+AACqkwAAh/4AAKuTAACJ/gAArJ\ +MAAI3+AACtkwAAj/4AAK6TAACT/gAAr5MAAJX+AACwkwAAmf4AALGTAACd/gAAspMAAKH+AACzkwAA\ +pf4AALSTAACp/gAAtZMAAKv+AAC2kwAArf4AALeTAACv/gAAuJMAALH+AAC5kwAAtf4AALqTAAC5/g\ +AAu5MAAL3+AAC8kwAAwf4AAL2TAADF/gAAvpMAAMn+AAC/kwAAzf4AAMCTAADR/gAAwZMAANX+AADC\ +kwAA2f4AAMOTAADd/gAAxJMAAOH+AADFkwAA5f4AAMaTAADp/gAAx5MAAO3+AADIkwAA7/4AAMmTAA\ +Dx/gAAypMAAPX+AADLkwAA9/4AAMyTAAD5/gAAzZMAAPv+AADOkwAA/f4AAM+TAAD//gAA0BMAAL//\ +AACQlAAAwv8AAJEUAADI/wAAl5QAAMr/AACYFAAA0P8AAJ6UAADS/wAAnxQAANj/AACllAAA2v8AAK\ +YUAADd/wAAqZQAAOD/AACqFAAA7/8AALmUAAAAAAEAupQAAAwAAQC7lAAADQABALyUAAAnAAEAvZQA\ +ACgAAQC+lAAAOwABAL+UAAA8AAEAwJQAAD4AAQDBlAAAPwABAMKUAABOAAEAw5QAAFAAAQDElAAAXg\ +ABAMWUAACAAAEAxpQAAPsAAQDHlAAAAAEBAMiUAAADAQEAyZQAAAcBAQDKlAAANAEBAMuUAAA3AQEA\ +zJQAAI8BAQDNlAAAkAEBAM6UAACdAQEAz5QAAKABAQDQlAAAoQEBANGUAADQAQEA0pQAAP0BAQDTlA\ +AA/gEBANSUAACAAgEA1ZQAAJ0CAQDWlAAAoAIBANeUAADRAgEA2JQAAOACAQDZlAAA4QIBANqUAAD8\ +AgEA25QAAAADAQDclAAAIAMBAN2UAAAkAwEA3pQAAC0DAQDflAAAQQMBAOCUAABCAwEA4ZQAAEoDAQ\ +DilAAASwMBAOOUAABQAwEA5JQAAHsDAQDllAAAgAMBAOaUAACeAwEA5xQAAKADAQDplAAAxAMBAOqU\ +AADIAwEA65QAANADAQDslAAA1gMBAO2UAAAABAEA7hQAACgEAQAWlQAAngQBABeVAACgBAEAGJUAAK\ +oEAQAZlQAAsAQBABoVAADUBAEAPpUAANgEAQA/lQAA/AQBAECVAAAABQEAQZUAACgFAQBClQAAMAUB\ +AEOVAABkBQEARJUAAG8FAQBFlQAAcAUBAEaVAAAABgEAR5UAADcHAQBIlQAAQAcBAEmVAABWBwEASp\ +UAAGAHAQBLlQAAaAcBAEyVAAAACAEATZUAAAYIAQBOlQAACAgBAE8VAAAKCAEAUZUAADYIAQBSlQAA\ +NwgBAFOVAAA5CAEAVJUAADwIAQBVlQAAPQgBAFaVAAA/CAEAV5UAAFYIAQBYlQAAVwgBAFmVAABgCA\ +EAWpUAAHcIAQBblQAAgAgBAFyVAACfCAEAXZUAAKcIAQBelQAAsAgBAF+VAADgCAEAYJUAAPMIAQBh\ +lQAA9AgBAGKVAAD2CAEAY5UAAPsIAQBklQAAAAkBAGWVAAAWCQEAZpUAABwJAQBnlQAAHwkBAGiVAA\ +AgCQEAaZUAADoJAQBqlQAAPwkBAGuVAABACQEAbJUAAIAJAQBtlQAAuAkBAG6VAAC8CQEAb5UAAL4J\ +AQBwlQAAwAkBAHGVAADQCQEAcpUAANIJAQBzlQAAAAoBAHSVAAAECgEAdZUAAAUKAQB2lQAABwoBAH\ +eVAAAMCgEAeJUAABQKAQB5lQAAFQoBAHqVAAAYCgEAe5UAABkKAQB8lQAANgoBAH2VAAA4CgEAfpUA\ +ADsKAQB/lQAAPwoBAICVAABACgEAgZUAAEkKAQCClQAAUAoBAIOVAABZCgEAhJUAAGAKAQCFlQAAfQ\ +oBAIaVAACACgEAh5UAAJ0KAQCIlQAAoAoBAImVAADACgEAipUAAMgKAQCLlQAAyQoBAIyVAADnCgEA\ +jZUAAOsKAQCOlQAA9woBAI+VAAAACwEAkJUAADYLAQCRlQAAOQsBAJKVAABACwEAk5UAAFYLAQCUlQ\ +AAWAsBAJWVAABgCwEAlpUAAHMLAQCXlQAAeAsBAJiVAACACwEAmZUAAJILAQCalQAAmQsBAJuVAACd\ +CwEAnJUAAKkLAQCdlQAAsAsBAJ6VAAAADAEAn5UAAEkMAQCglQAAgAwBAKEVAACzDAEA1JUAAMAMAQ\ +DVlQAA8wwBANaVAAD6DAEA15UAAAANAQDYlQAAKA0BANmVAAAwDQEA2pUAADoNAQDblQAAYA4BANyV\ +AAB/DgEA3ZUAAIAOAQDelQAAqg4BAN+VAACrDgEA4JUAAK0OAQDhlQAArg4BAOKVAACwDgEA45UAAL\ +IOAQDklQAAAA8BAOWVAAAdDwEA5pUAACcPAQDnlQAAKA8BAOiVAAAwDwEA6ZUAAFEPAQDqlQAAWg8B\ +AOuVAACwDwEA7JUAAMUPAQDtlQAAzA8BAO6VAADgDwEA75UAAPcPAQDwlQAAABABAPGVAABHEAEA8p\ +UAAE4QAQDzlQAAUhABAPSVAABmEAEA9ZUAAHAQAQD2lQAAfxABAPeVAAC7EAEA+JUAAL0QAQD5lQAA\ +vhABAPqVAADCEAEA+5UAANAQAQD8lQAA6RABAP2VAADwEAEA/pUAAPoQAQD/lQAAABEBAACWAAA1EQ\ +EAAZYAADYRAQAClgAAQBEBAAOWAABEEQEABJYAAEgRAQAFlgAAUBEBAAaWAAB0EQEAB5YAAHYRAQAI\ +lgAAdxEBAAmWAACAEQEACpYAAMURAQALlgAAyREBAAyWAADNEQEADZYAAM4RAQAOlgAA2xEBAA8WAA\ +DdEQEAEZYAAOARAQASlgAA4REBABOWAAD1EQEAFJYAAAASAQAVlgAAEhIBABaWAAATEgEAF5YAADgS\ +AQAYlgAAPhIBABmWAAA/EgEAGpYAAIASAQAblgAAhxIBABwWAACKEgEAH5YAAI4SAQAglgAAjxIBAC\ +GWAACeEgEAIpYAAJ8SAQAjlgAAqRIBACSWAACqEgEAJZYAALASAQAmlgAA6xIBACeWAADwEgEAKJYA\ +APoSAQAplgAAABMBACqWAAAEEwEAK5YAAAUTAQAslgAADRMBAC2WAAAPEwEALpYAABETAQAvlgAAEx\ +MBADCWAAApEwEAMZYAACoTAQAylgAAMRMBADOWAAAyEwEANJYAADQTAQA1lgAANRMBADaWAAA6EwEA\ +N5YAADsTAQA4lgAARRMBADmWAABHEwEAOpYAAEkTAQA7lgAASxMBADyWAABOEwEAPZYAAFATAQA+lg\ +AAURMBAD+WAABXEwEAQJYAAFgTAQBBlgAAXRMBAEKWAABkEwEAQ5YAAGYTAQBElgAAbRMBAEWWAABw\ +EwEARpYAAHUTAQBHlgAAABQBAEiWAABLFAEASZYAAFAUAQBKlgAAWhQBAEuWAABcFAEATBYAAF4UAQ\ +BOlgAAYhQBAE+WAACAFAEAUJYAAMYUAQBRFgAAyBQBAFOWAADQFAEAVJYAANoUAQBVlgAAgBUBAFaW\ +AAC2FQEAV5YAALgVAQBYlgAAwRUBAFmWAADYFQEAWpYAAN4VAQBblgAAABYBAFyWAABBFgEAXZYAAE\ +QWAQBelgAARRYBAF+WAABQFgEAYJYAAFoWAQBhlgAAYBYBAGKWAABtFgEAY5YAAIAWAQBklgAAuRYB\ +AGWWAADAFgEAZpYAAMoWAQBnlgAAABcBAGiWAAAbFwEAaZYAAB0XAQBqlgAALBcBAGuWAAAwFwEAbJ\ +YAADoXAQBtlgAAQBcBAG6WAAAAGAEAb5YAADsYAQBwlgAAPBgBAHGWAACgGAEAchYAAMAYAQCSlgAA\ +6hgBAJOWAADzGAEAlJYAAP8YAQCVlgAABxkBAJaWAAAJGQEAl5YAAAoZAQCYlgAADBkBAJmWAAAUGQ\ +EAmpYAABUZAQCblgAAFxkBAJyWAAAYGQEAnZYAADYZAQCelgAANxkBAJ+WAAA5GQEAoJYAADsZAQCh\ +lgAARBkBAKKWAABHGQEAo5YAAFAZAQCklgAAWhkBAKWWAACgGQEAppYAAKgZAQCnlgAAqhkBAKiWAA\ +DYGQEAqZYAANoZAQCqlgAA4hkBAKuWAADjGQEArJYAAOUZAQCtlgAAABoBAK6WAAA/GgEAr5YAAEca\ +AQCwlgAASBoBALGWAABQGgEAspYAAJoaAQCzlgAAnRoBALSWAACeGgEAtZYAAKMaAQC2lgAAwBoBAL\ +eWAAD5GgEAuJYAAAAcAQC5lgAACRwBALqWAAAKHAEAu5YAADccAQC8lgAAOBwBAL2WAABBHAEAvpYA\ +AEYcAQC/lgAAUBwBAMCWAABaHAEAwZYAAG0cAQDClgAAcBwBAMOWAAByHAEAxJYAAJAcAQDFlgAAkh\ +wBAMaWAACoHAEAx5YAAKkcAQDIlgAAtxwBAMmWAAAAHQEAypYAAAcdAQDLlgAACB0BAMyWAAAKHQEA\ +zZYAAAsdAQDOlgAANx0BAM+WAAA6HQEA0BYAADwdAQDSlgAAPh0BANOWAAA/HQEA1JYAAEgdAQDVlg\ +AAUB0BANaWAABaHQEA15YAAGAdAQDYlgAAZh0BANmWAABnHQEA2pYAAGkdAQDblgAAah0BANyWAACP\ +HQEA3ZYAAJAdAQDelgAAkh0BAN+WAACTHQEA4JYAAJkdAQDhlgAAoB0BAOKWAACqHQEA45YAAOAeAQ\ +DklgAA9x4BAOWWAAD5HgEA5pYAALAfAQDnlgAAsR8BAOiWAADAHwEA6ZYAAPIfAQDqlgAA/x8BAOuW\ +AAAAIAEA7JYAAJojAQDtlgAAACQBAO6WAABvJAEA75YAAHAkAQDwlgAAdSQBAPGWAACAJAEA8pYAAE\ +QlAQDzlgAAADABAPSWAAAvNAEA9ZYAAABEAQD2lgAAR0YBAPeWAAAAaAEA+JYAADlqAQD5lgAAQGoB\ +APqWAABfagEA+5YAAGBqAQD8lgAAamoBAP2WAABuagEA/pYAAHBqAQD/lgAA0GoBAACXAADuagEAAZ\ +cAAPBqAQAClwAA9WoBAAOXAAD2agEABJcAAABrAQAFlwAAN2sBAAaXAABAawEAB5cAAERrAQAIlwAA\ +RmsBAAmXAABQawEACpcAAFprAQALlwAAW2sBAAyXAABiawEADZcAAGNrAQAOlwAAeGsBAA+XAAB9aw\ +EAEJcAAJBrAQARlwAAQG4BABIXAABgbgEAMpcAAIBuAQAzlwAAm24BADSXAAAAbwEANZcAAEtvAQA2\ +lwAAT28BADeXAACIbwEAOJcAAI9vAQA5lwAAoG8BADqXAADgbwEAO5cAAOJvAQA8lwAA428BAD2XAA\ +DlbwEAPpcAAPBvAQA/lwAA8m8BAECXAAAAcAEAQZcAAPiHAQBClwAAAIgBAEOXAADWjAEARJcAAACN\ +AQBFlwAACY0BAEaXAAAAsAEAR5cAAB+xAQBIlwAAULEBAEmXAABTsQEASpcAAGSxAQBLlwAAaLEBAE\ +yXAABwsQEATZcAAPyyAQBOlwAAALwBAE+XAABrvAEAUJcAAHC8AQBRlwAAfbwBAFKXAACAvAEAU5cA\ +AIm8AQBUlwAAkLwBAFWXAACavAEAVpcAAJy8AQBXlwAAnbwBAFiXAACfvAEAWZcAAKC8AQBalwAApL\ +wBAFuXAAAA0AEAXJcAAPbQAQBdlwAAANEBAF6XAAAn0QEAX5cAACnRAQBglwAAXtEBAGEXAABl0QEA\ +aJcAAHPRAQBplwAAe9EBAGqXAAC70QEAaxcAAMHRAQBxlwAA6dEBAHKXAAAA0gEAc5cAAEbSAQB0lw\ +AA4NIBAHWXAAD00gEAdpcAAADTAQB3lwAAV9MBAHiXAABg0wEAeZcAAHnTAQB6lwAAANQBAHsXAACg\ +1AEAG5gAAKLUAQAcmAAAo9QBAB2YAACl1AEAHhgAAKfUAQAgmAAAqdQBACEYAAAL1QEAg5gAAA3VAQ\ +CEGAAAR9UBAL6YAABK1QEAvxgAAKbWAQAbmgAAqNYBABwaAADT1gEAR5oAANXWAQBIGgAADdcBAICa\ +AAAP1wEAgRoAAEfXAQC5mgAASdcBALoaAACB1wEA8poAAIPXAQDzGgAAu9cBACubAAC91wEALBsAAM\ +rXAQA5mwAAzNcBADqbAADO1wEAOxsAAADYAQBtmwAAANoBAG6bAAA32gEAb5sAADvaAQBwmwAAbdoB\ +AHGbAAB12gEAcpsAAHbaAQBzmwAAhNoBAHSbAACF2gEAdZsAAIzaAQB2mwAAm9oBAHebAACg2gEAeJ\ +sAAKHaAQB5mwAAsNoBAHqbAAAA4AEAe5sAAAfgAQB8mwAACOABAH2bAAAZ4AEAfpsAABvgAQB/mwAA\ +IuABAICbAAAj4AEAgZsAACXgAQCCmwAAJuABAIObAAAr4AEAhJsAAADhAQCFmwAALeEBAIabAAAw4Q\ +EAh5sAAD7hAQCImwAAQOEBAImbAABK4QEAipsAAE7hAQCLGwAAUOEBAI2bAADA4gEAjpsAAPriAQCP\ +mwAA/+IBAJCbAAAA4wEAkZsAAADoAQCSmwAAxegBAJObAADH6AEAlJsAANDoAQCVmwAA1+gBAJabAA\ +AA6QEAlxsAACLpAQC5mwAATOkBALqbAABQ6QEAu5sAAFrpAQC8mwAAXukBAL2bAABg6QEAvpsAAHHs\ +AQC/mwAAtewBAMCbAAAB7QEAwZsAAD7tAQDCmwAAAO4BAMMbAAAl7gEA6JsAACfuAQDpGwAAPO4BAP\ +6bAABC7gEA/5sAAEPuAQAAnAAAR+4BAAEcAABV7gEAD5wAAFfuAQAQHAAAZe4BAB6cAABn7gEAHxwA\ +AJzuAQBUnAAAoe4BAFUcAAC87gEAcJwAAPDuAQBxnAAA8u4BAHKcAAAA8AEAc5wAACzwAQB0nAAAMP\ +ABAHWcAACU8AEAdpwAAKDwAQB3nAAAr/ABAHicAACx8AEAeZwAAMDwAQB6nAAAwfABAHucAADQ8AEA\ +fJwAANHwAQB9nAAA9vABAH6cAAAB8QEAfxwAAAvxAQCJnAAAEPEBAIocAABQ8QEAypwAAGrxAQDLHA\ +AAbfEBAM6cAACQ8QEAz5wAAJHxAQDQnAAArvEBANGcAADm8QEA0pwAAADyAQDTHAAAA/IBANacAAAQ\ +8gEA1xwAADzyAQADnQAAQPIBAAQdAABJ8gEADZ0AAFDyAQAOHQAAUvIBABCdAABg8gEAEZ0AAGbyAQ\ +ASnQAAAPMBABOdAADY9gEAFJ0AAOD2AQAVnQAA7fYBABadAADw9gEAF50AAP32AQAYnQAAAPcBABmd\ +AAB09wEAGp0AAID3AQAbnQAA2fcBABydAADg9wEAHZ0AAOz3AQAenQAAAPgBAB+dAAAM+AEAIJ0AAB\ +D4AQAhnQAASPgBACKdAABQ+AEAI50AAFr4AQAknQAAYPgBACWdAACI+AEAJp0AAJD4AQAnnQAArvgB\ +ACidAACw+AEAKZ0AALL4AQAqnQAAAPkBACudAAB5+QEALJ0AAHr5AQAtnQAAzPkBAC6dAADN+QEAL5\ +0AAFT6AQAwnQAAYPoBADGdAABu+gEAMp0AAHD6AQAznQAAdfoBADSdAAB4+gEANZ0AAHv6AQA2nQAA\ +gPoBADedAACH+gEAOJ0AAJD6AQA5nQAAqfoBADqdAACw+gEAO50AALf6AQA8nQAAwPoBAD2dAADD+g\ +EAPp0AAND6AQA/nQAA1/oBAECdAAAA+wEAQZ0AAJP7AQBCnQAAlPsBAEOdAADL+wEARJ0AAPD7AQBF\ +HQAA+vsBAE+dAAAAAAIAUJ0AAN6mAgBRnQAAAKcCAFKdAAA1twIAU50AAEC3AgBUnQAAHrgCAFWdAA\ +AguAIAVp0AAKLOAgBXnQAAsM4CAFidAADh6wIAWZ0AAAD4AgBaHQAAMfgCAIudAAA0+AIAjB0AAEX4\ +AgCdnQAAR/gCAJ4dAABq+AIAwZ0AAGz4AgDCHQAAkfgCAOedAACT+AIA6J0AAJT4AgDpnQAAlvgCAO\ +odAAAs+QIAgJ4AAC75AgCBHgAARvkCAJmeAABI+QIAmh4AAF35AgCvngAAX/kCALAeAAD++QIAT58A\ +AAD6AgBQHwAAHvoCAG6fAAAAAAMAb58AAEsTAwBwnwAAAAEOAHGfAADwAQ4Acp8AAAUAAAAAAAAABQ\ +AAAAAAAAAFAAAAAgAAAQIBAAECAgABAgMAAQIEAAECBQABAgYAAQIHAAECCAABAgkAAQIKAAECCwAB\ +AgwAAQINAAECDgABAg8AAQIQAAECEQABAhIAAQITAAECFAABAhUAAQIWAAECFwABAhgAAQIZAAEFAA\ +AAAAAAAAUAAAAEAAAABhoAAQcAAAAGGwADBwAAAAIAAAEHAAAAAQAAAAcAAAAGHgADBwAAAAIhAAEC\ +IgABBiMAAwImAAIHAAAAAAAAAAYoAAMCKwABAg4AAQcAAAACLAAFAjEABQI2AAUHAAAAAjsAAgI9AA\ +ICPwACAkEAAgJDAAICRQACAkcAAgJJAAICSwACAk0AAgJPAAICUQACAlMAAgJVAAICVwACAlkAAgJb\ +AAICXQACAl8AAgJhAAICYwACAmUAAgJnAAIHAAAAAmkAAgJrAAICbQACAm8AAgJxAAICcwACAnUAAg\ +N3AAIAAAAABwAAAAAAAAACeQACAAAAAAJ7AAIAAAAAAn0AAgAAAAACfwACAAAAAAKBAAIAAAAAAoMA\ +AgAAAAAChQACAAAAAAKHAAIAAAAAAokAAgAAAAACiwACAAAAAAKNAAIAAAAAAo8AAgAAAAACkQACAA\ +AAAAKTAAIAAAAAApUAAgAAAAAClwACAAAAAAKZAAIAAAAAApsAAgAAAAACnQACAAAAAAKfAAIAAAAA\ +AqEAAgAAAAACowACAAAAAAKlAAIAAAAAAqcAAgAAAAACqQADAAAAAAKsAAICrgACAAAAAAKwAAIAAA\ +AAArIAAgAAAAACtAACAAAAAAK2AAIAAAAAArgAAwK7AAIAAAAAAr0AAgAAAAACvwACAAAAAALBAAIA\ +AAAAAsMAAwLGAAIAAAAAAsgAAgAAAAACygACAAAAAALMAAIAAAAAAs4AAgAAAAAC0AACAAAAAALSAA\ +IAAAAAAtQAAgAAAAAC1gACAAAAAALYAAIAAAAAAtoAAgAAAAAC3AACAAAAAALeAAIAAAAAAuAAAgAA\ +AAAC4gACAAAAAALkAAIAAAAAAuYAAgAAAAAC6AACAAAAAALqAAIAAAAAAuwAAgAAAAAC7gACAAAAAA\ +LwAAIAAAAAAvIAAgAAAAAC9AACAvYAAgAAAAAC+AACAAAAAAL6AAIAAAAAAhIAAQAAAAAC/AACAv4A\ +AgAAAAACAAECAAAAAAICAQICBAECAAAAAAIGAQICCAECAgoBAgAAAAACDAECAg4BAgIQAQICEgECAA\ +AAAAIUAQICFgECAAAAAAIYAQICGgECAhwBAgAAAAACHgECAiABAgAAAAACIgECAiQBAgAAAAACJgEC\ +AAAAAAIoAQIAAAAAAioBAgIsAQIAAAAAAi4BAgAAAAACMAECAAAAAAIyAQICNAECAAAAAAI2AQICOA\ +ECAjoBAgAAAAACPAECAAAAAAI+AQICQAECAAAAAAJCAQIAAAAAAkQBAwJHAQICSQECAksBAgAAAAAC\ +TQECAAAAAAJPAQIAAAAAAlEBAgAAAAACUwECAAAAAAJVAQIAAAAAAlcBAgAAAAACWQECAAAAAAJbAQ\ +IAAAAAAl0BAgAAAAACXwECAAAAAAJhAQIAAAAAAmMBAgAAAAACZQECAAAAAAJnAQIAAAAAAmkBAgAA\ +AAACawECAAAAAAJtAQICbwECAAAAAAJxAQICcwECAnUBAgAAAAACdwECAAAAAAJ5AQIAAAAAAnsBAg\ +AAAAACfQECAAAAAAJ/AQIAAAAAAoEBAgAAAAACgwECAAAAAAKFAQIAAAAAAocBAgAAAAACiQECAAAA\ +AAKLAQIAAAAAAo0BAgAAAAACjwECAAAAAAKRAQIAAAAAApMBAgAAAAAClQECAAAAAAKXAQIAAAAAAp\ +kBAgAAAAACmwECAAAAAAKdAQIAAAAAAp8BAgAAAAACoQECAAAAAAKjAQIAAAAAAqUBAgAAAAACpwEC\ +AAAAAAKpAQIAAAAAAqsBAgAAAAACrQECAAAAAAKvAQIAAAAAArEBAwK0AQIAAAAAArYBAgK4AQMAAA\ +AAArsBAgAAAAACvQECAr8BAgLBAQICwwECAAAAAALFAQIAAAAAAscBAgAAAAACyQECAAAAAALLAQIA\ +AAAAAgcAAQLNAQICCQABAhEAAQLPAQIC0QECAtMBAgIWAAECGAABAAAAAAcAAAAAAAAABwAAAAbVAQ\ +MG2AEDBtsBAwbeAQMG4QEDBuQBAwcAAAACFgECAgsAAQISAAECFwABAucBAgcAAAAAAAAABwAAAAAA\ +AAAHAAAAAAAAAALpAQIC6wECAAAAAALtAQIC7wEEAvMBAgAAAAABAAAAAAAAAAL1AQIAAAAAAvcBAg\ +AAAAAC+QECAAAAAAL7AQIAAAAABAAAAAb9AQMAAAAABgACAQIBAgIEAAAABiMAAwYDAgUCCAICAgoC\ +AgIMAgICDgICAhACAgQAAAACEgICBAAAAAIUAgICFgICAAAAAAIYAgICGgICAhwCAgIeAgICIAICAi\ +ICAgIkAgICJgICAvMBAgIoAgICKgICAiYAAgIsAgICLgICAjACAgIyAgICNAICBAAAAAI2AgICOAIC\ +AjoCAgI8AgICPgICAkACAgJCAgICRAICAkYCAgAAAAADNgICAAAAAAJIAgICGgICAiYCAgI6AgICFA\ +ICAkYCAgI8AgICMgICAAAAAAJKAgIAAAAAAkwCAgAAAAACTgICAAAAAAJQAgIAAAAAAlICAgAAAAAC\ +VAICAAAAAAJWAgIAAAAAAlgCAgAAAAACWgICAAAAAAJcAgIAAAAAAl4CAgAAAAACYAICAAAAAAIoAg\ +ICNAICAjYCAgAAAAACJgICAiACAgcAAAACYgICAAAAAAI2AgICZAICAAAAAAJmAgICaAICAmoCAgJs\ +AgICbgICAnACAgJyAgICdAICAnYCAgJ4AgICegICAnwCAgJ+AgICgAICAoICAgKEAgIChgICAogCAg\ +KKAgICjAICAo4CAgKQAgICkgICApQCAgKWAgICmAICApoCAgKcAgICngICAqACAgKiAgICpAICAqYC\ +AgKoAgICqgICAqwCAgKuAgICsAICArICAgK0AgICtgICArgCAgK6AgICvAICAr4CAgLAAgICwgICAs\ +QCAgLGAgICyAICAsoCAgAAAAACzAICAAAAAALOAgIAAAAAAtACAgAAAAAC0gICAAAAAALUAgIAAAAA\ +AtYCAgAAAAAC2AICAAAAAALaAgIAAAAAAtwCAgAAAAAC3gICAAAAAALgAgIAAAAAAuICAgAAAAAC5A\ +ICAAAAAALmAgIAAAAAAugCAgAAAAAC6gICAAAAAALsAgIAAAAABwAAAAAAAAAHAAAAAu4CAgAAAAAC\ +8AICAAAAAALyAgIAAAAAAvQCAgAAAAAC9gICAAAAAAL4AgIAAAAAAvoCAgAAAAAC/AICAAAAAAL+Ag\ +IAAAAAAgADAgAAAAACAgMCAAAAAAIEAwIAAAAAAgYDAgAAAAACCAMCAAAAAAIKAwIAAAAAAgwDAgAA\ +AAACDgMCAAAAAAIQAwIAAAAAAhIDAgAAAAACFAMCAAAAAAIWAwIAAAAAAhgDAgAAAAACGgMCAAAAAA\ +IcAwIAAAAAAh4DAgAAAAACIAMCAAAAAAIiAwIAAAAABAAAAAIkAwIAAAAAAiYDAgAAAAACKAMCAAAA\ +AAIqAwIAAAAAAiwDAgAAAAACLgMCAAAAAAIwAwIAAAAAAjIDAgAAAAACNAMCAAAAAAI2AwIAAAAAAj\ +gDAgAAAAACOgMCAAAAAAI8AwIAAAAAAj4DAgAAAAACQAMCAAAAAAJCAwIAAAAAAkQDAgAAAAACRgMC\ +AAAAAAJIAwIAAAAAAkoDAgAAAAACTAMCAAAAAAJOAwIAAAAAAlADAgAAAAACUgMCAAAAAAJUAwIAAA\ +AAAlYDAgAAAAACWAMCAAAAAAJaAwIAAAAAAlwDAgAAAAACXgMCAAAAAAJgAwIAAAAAAmIDAgAAAAAC\ +ZAMCAAAAAAJmAwIAAAAAAmgDAgAAAAACagMCAAAAAAJsAwIAAAAAAm4DAgAAAAACcAMCAAAAAAJyAw\ +IAAAAAAnQDAgAAAAACdgMCAAAAAAJ4AwIAAAAAAnoDAgAAAAACfAMCAAAAAAJ+AwIAAAAAAoADAgAA\ +AAACggMCAAAAAAKEAwIAAAAAAoYDAgAAAAACiAMCAAAAAAKKAwIAAAAAAowDAgAAAAACjgMCAAAAAA\ +KQAwIAAAAABAAAAAKSAwIClAMCApYDAgKYAwICmgMCApwDAgKeAwICoAMCAqIDAgKkAwICpgMCAqgD\ +AgKqAwICrAMCAq4DAgKwAwICsgMCArQDAgK2AwICuAMCAroDAgK8AwICvgMCAsADAgLCAwICxAMCAs\ +YDAgLIAwICygMCAswDAgLOAwIC0AMCAtIDAgLUAwIC1gMCAtgDAgLaAwIC3AMCBAAAAAAAAAAHAAAA\ +AAAAAALeAwQAAAAABwAAAAQAAAAHAAAABAAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAHAA\ +AAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAABwAAAAAAAAAHAAAABAAAAAcAAAAAAAAABwAAAAAAAAAH\ +AAAAAAAAAALiAwQC5gMEAuoDBALuAwQAAAAABwAAAAAAAAAEAAAABwAAAAAAAAAHAAAAAAAAAAcAAA\ +AEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAHAAAABAAAAAAAAAAHAAAAAAAAAAQAAAAHAAAABAAAAAAA\ +AAAEAAAABwAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAC8gMGAvgDBg\ +L+AwYCBAQGAgoEBgIQBAYCFgQGAhwEBgAAAAAHAAAAAAAAAAcAAAAAAAAABAAAAAAAAAAEAAAAAAAA\ +AAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA\ +AAAAAAAAAEAAAAAiIEBgIoBAYEAAAAAi4EBgAAAAAEAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAEAAAA\ +AAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAACNAQGBAAAAAAAAAACOg\ +QGBAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAJABAYC\ +RgQGAkwEBgAAAAAEAAAAAlIEBgQAAAAAAAAABwAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAA\ +AAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAA\ +AAAEAAAAAAAAAAQAAAAAAAAABwAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAA\ +AAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAA\ +AAQAAAACWAQGAl4EBgQAAAAAAAAABAAAAAAAAAAHAAAAAAAAAAcAAAAEAAAAAAAAAAQAAAAAAAAABA\ +AAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAA\ +AAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAcAAAAEAA\ +AAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAA\ +AAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAcAAAAAAAAABwAAAAAAAAAEAAAAAAAAAAQAAA\ +AAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAA\ +AAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAA\ +QAAAAAAAAABwAAAAQAAAAAAAAABwAAAAAAAAAEAAAAAAAAAAcAAAAAAAAABAAAAAAAAAAEAAAAAAAA\ +AAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA\ +AAAAAAAAAEAAAAAAAAAAQAAAAAAAAABwAAAAQAAAAAAAAAAmQEBgAAAAAEAAAABwAAAAAAAAAHAAAA\ +AAAAAAcAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAACag\ +QGAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAJwBAYCdgQGAAAAAAQAAAAA\ +AAAABwAAAAAAAAACfAQDBwAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAcAAA\ +AAAAAAAn8EBgAAAAAEAAAAAAAAAAKFBAYAAAAAAosEBgAAAAACkQQGAAAAAAKXBAYAAAAAAp0EBgAA\ +AAAEAAAAAAAAAAKjBAYAAAAAAqkEBgKvBAYCtQQJAr4EBgLEBAkAAAAAAs0EBgAAAAAHAAAAAAAAAA\ +LTBAYAAAAABAAAAAAAAAAC2QQGAAAAAALfBAYAAAAAAuUEBgAAAAAC6wQGAAAAAALxBAYAAAAABAAA\ +AAcAAAAAAAAABwAAAAQAAAAHAAAABAAAAAAAAAAHAAAAAAAAAAcAAAAEAAAAAvcEAwQAAAAC+gQDBA\ +AAAAAAAAAHAAAAAv0EAwAAAAAHAAAABAAAAAcAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAA\ +BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAA\ +AAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAHAAAABAAAAAAAAAAH\ +AAAABAAAAAAAAAAEAAAAAgAFAwIDBQMCBgUDAgkFAwIMBQMCDwUDBAAAAAcAAAAAAAAABwAAAAAAAA\ +AEAAAAAAAAAAcAAAAEAAAAAAAAAAcAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABwAAAAQA\ +AAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAcAAAAAAAAABwAAAA\ +AAAAAEAAAAAAAAAAQAAAAHAAAABAAAAAcAAAAEAAAABwAAAAEAAAAEAAAAAAAAAAQAAAAAAAAABAAA\ +AAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAHAAAABAAAAAcAAAAAAAAABA\ +AAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAHAAAABAAAAAcAAAAAAAAABAAAAAcAAAAAAAAA\ +BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAcAAAAAAAAABwAAAAQAAAAAAAAABwAAAAAAAAAEAA\ +AAAAAAAAQAAAAAAAAABwAAAAAAAAAHAAAABAAAAAAAAAAEAAAABwAAAAAAAAAEAAAABwAAAAAAAAAE\ +AAAAAAAAAAcAAAACkAICApQCAgKoAgICrgICArACAgLAAgICzgICAhIFAwQAAAACFQUDAhgFAwIbBQ\ +MCHgUDAiEFAwIkBQMCJwUDAioFAwItBQMCMAUDAjMFAwI2BQMC/QQDAjkFAwI8BQMCPwUDAkIFAwJF\ +BQMCSAUDAksFAwJOBQMCUQUDAlQFAwJXBQMCWgUDAl0FAwJgBQMCYwUDAmYFAwJpBQMCbAUDAm8FAw\ +JyBQMCdQUDAngFAwJ7BQMCfgUDAoEFAwKEBQMChwUDAooFAwKNBQMCkAUDBAAAAAKTBQMClgUDApkF\ +AwcAAAAEAAAAAAAAAAcAAAAAAAAABAAAAAAAAAACAAABAkcAAgIBAAEAAAAAAgMAAQIEAAECDAECAg\ +YAAQIHAAECCAABAgkAAQIKAAECCwABAgwAAQINAAEAAAAAAg4AAQKfAQICDwABAhEAAQITAAECFAAB\ +AhYAAQIAAAECnAUCAp4FAgKgBQMCAQABAgMAAQIEAAECDgECAhABAgKjBQICBgABAAAAAAIKAAECDA\ +ABAsYAAgIOAAECAgECAqUFAwKoBQMCDwABAhMAAQIUAAECqwUDAh4BAgIVAAECrgUDAhoCAgIcAgIC\ +HgICAjwCAgI+AgICCAABAhEAAQIUAAECFQABAhoCAgIcAgICNAICAjwCAgI+AgIAAAAAAqYCAgAAAA\ +ACsQUCAgIAAQKzBQICWwACAqMFAgIFAAECtQUCArcFAgK5BQICGgECAhgBAgK7BQICvQUDAsAFAgLC\ +BQICxAUDAscFAgLJBQICywUCAiABAgLNBQICzwUCAiIBAgLRBQIC0wUCAi4BAgLVBQICvwECAjYBAg\ +LXBQMCOAECAsEBAgIZAAEC2gUCAtwFAgI+AQICJgICAAAAAAQAAAAAAAAAAt4FAwAAAAAC4QUDAAAA\ +AALkBQMAAAAAAucFAwAAAAAC6gUDAAAAAALtBQMAAAAAAvAFAwAAAAAC8wUDAAAAAAL2BQMAAAAAAv\ +kFAwAAAAAC/AUDAAAAAAL/BQMAAAAAAgIGAwAAAAACBQYDAAAAAAIIBgMAAAAAAgsGAwAAAAACDgYD\ +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\ +YcCgMGHwoDBiIKAwYlCgQGKQoEBi0KBAYxCgQGNQoEBjkKBAY9CgQGQQoEBkUKBAZJCgQGTQoEBAAA\ +AAZRCgMGVAoDBlcKAwZaCgMGXQoDBmAKAwZjCgMGZgoDBmkKAwZsCgMGbwoDBnIKAwZ1CgMGeAoDBn\ +sKAwZ+CgMGgQoDBoQKAwaHCgMGigoDBo0KAwaQCgMGkwoDBpYKAwaZCgMGnAoDAgAAAQIBAAECAgAB\ +AgMAAQIEAAECBQABAgYAAQIHAAECCAABAgkAAQIKAAECCwABAgwAAQINAAECDgABAg8AAQIQAAECEQ\ +ABAhIAAQITAAECFAABAhUAAQIWAAECFwABAhgAAQIZAAECAAABAgEAAQICAAECAwABAgQAAQIFAAEC\ +BgABAgcAAQIIAAECCQABAgoAAQILAAECDAABAg0AAQIOAAECDwABAhAAAQIRAAECEgABAhMAAQIUAA\ +ECFQABAhYAAQIXAAECGAABAhkAAQIrCQEHAAAAAp8KDAcAAAAGqwoDBq4KAgawCgMHAAAAArMKBQcA\ +AAAEAAAABwAAAAQAAAAHAAAAArgKAwK7CgMCvgoDAsEKAwLECgMCxwoDAsoKAwLNCgMC0AoDAtMKAw\ +LWCgMC2QoDAtwKAwLfCgMC4goDAuUKAwLoCgMC6woDAu4KAwLxCgMC9AoDAvcKAwL6CgMC/QoDAgAL\ +AwIDCwMCBgsDAgkLAwIMCwMCDwsDAhILAwIVCwMCGAsDAhsLAwIeCwMCIQsDAiQLAwInCwMCKgsDAi\ +0LAwIwCwMCMwsDAjYLAwI5CwMCPAsDAj8LAwJCCwMEAAAAAAAAAAQAAAACRQsDAAAAAAJICwICSgsD\ +Ak0LAgAAAAACTwsDAAAAAAJSCwMAAAAAAlULAwAAAAACngUCAskFAgKcBQICsQUCAAAAAAJYCwMAAA\ +AAAlsLAwAAAAACCQABAhUAAQJeCwICYAsCAmILAwAAAAACZQsDAAAAAAJoCwMAAAAAAmsLAwAAAAAC\ +bgsDAAAAAAJxCwMAAAAAAnQLAwAAAAACdwsDAAAAAAJ6CwMAAAAAAn0LAwAAAAACgAsDAAAAAAKDCw\ +MAAAAAAoYLAwAAAAACiQsDAAAAAAKMCwMAAAAAAo8LAwAAAAACkgsDAAAAAAKVCwMAAAAAApgLAwAA\ +AAACmwsDAAAAAAKeCwMAAAAAAqELAwAAAAACpAsDAAAAAAKnCwMAAAAAAqoLAwAAAAACrQsDAAAAAA\ +KwCwMAAAAAArMLAwAAAAACtgsDAAAAAAK5CwMAAAAAArwLAwAAAAACvwsDAAAAAALCCwMAAAAAAsUL\ +AwAAAAACyAsDAAAAAALLCwMAAAAAAs4LAwAAAAAC0QsDAAAAAALUCwMAAAAAAtcLAwAAAAAC2gsDAA\ +AAAALdCwMAAAAAAuALAwAAAAAC4wsDAAAAAALmCwMAAAAAAukLAwAAAAAC7AsDAAAAAALvCwMAAAAA\ +AvILAwAAAAAC9QsDAAAAAAcAAAAC+AsDAAAAAAL7CwMAAAAAAv4LAwAAAAAEAAAABwAAAAAAAAAEAA\ +AAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAgEMAwcAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAE\ +AAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAcAAA\ +AAAAAABwAAAAQAAAAHAAAABAAAAAcAAAACBAwDBwAAAAIHDAMEAAAAAgoMAwINDAMCEAwDAhMMAwIW\ +DAMCGQwDAhwMAwIfDAMCIgwDAiUMAwIoDAMCKwwDAi4MAwIxDAMCNAwDAjcMAwI6DAMCPQwDAkAMAw\ +JDDAMCRgwDAkkMAwJMDAMCTwwDAlIMAwJVDAMCWAwDAlsMAwJeDAMCYQwDAmQMAwJnDAMCagwDAm0M\ +AwJwDAMCcwwDAnYMAwJ5DAMCfAwDAn8MAwKCDAMChQwDAogMAwKLDAMCjgwDApEMAwKUDAMClwwDAp\ +oMAwKdDAMCoAwDAqMMAwKmDAMCqQwDAqwMAwKvDAMCsgwDArUMAwK4DAMCuwwDAr4MAwLBDAMCxAwD\ +AscMAwLKDAMCzQwDAtAMAwLTDAMC1gwDAtkMAwLcDAMC3wwDAuIMAwLlDAMC6AwDAusMAwLuDAMC8Q\ +wDAvQMAwL3DAMC+gwDAv0MAwIADQMCAw0DAgYNAwIJDQMCDA0DAg8NAwISDQMCFQ0DAhgNAwIbDQMC\ +Hg0DAiENAwIkDQMCJw0DAioNAwItDQMCMA0DAjMNAwI2DQMCOQ0DAjwNAwI/DQMCQg0DAkUNAwJIDQ\ +MCSw0DAk4NAwJRDQMCVA0DAlcNAwJaDQMCXQ0DAmANAwJjDQMCZg0DAmkNAwJsDQMCbw0DAnINAwJ1\ +DQMCeA0DAnsNAwJ+DQMCgQ0DAoQNAwKHDQMCig0DAo0NAwKQDQMCkw0DApYNAwKZDQMCnA0DAp8NAw\ +KiDQMCpQ0DAqgNAwKrDQMCrg0DArENAwK0DQMCtw0DAroNAwK9DQMCwA0DAsMNAwLGDQMCyQ0DAswN\ +AwLPDQMC0g0DAtUNAwLYDQMC2w0DAt4NAwLhDQMC5A0DAucNAwLqDQMC7Q0DAvANAwLzDQMC9g0DAv\ +kNAwL8DQMC/w0DAgIOAwIFDgMCCA4DAgsOAwIODgMCEQ4DAhQOAwIXDgMCGg4DAh0OAwIgDgMCIw4D\ +AiYOAwIpDgMCLA4DAi8OAwIyDgMCNQ4DAjgOAwI7DgMCPg4DAkEOAwJEDgMCRw4DAkoOAwJNDgMCUA\ +4DAlMOAwJWDgMCWQ4DAlwOAwJfDgMCYg4DAmUOAwJoDgMCaw4DAm4OAwJxDgMCdA4DAncOAwJ6DgMC\ +fQ4DAoAOAwKDDgMChg4DAokOAwQAAAAGGgABBwAAAAKMDgEHAAAAAAAAAAcAAAAAAAAABwAAAAKNDg\ +MHAAAAAk8MAwKQDgMCkw4DBwAAAAAAAAAHAAAABAAAAAAAAAAEAAAAAAAAAAaWDgQGmg4EAAAAAAKe\ +DgYHAAAAAAAAAAKkDgYEAAAAAAAAAAQAAAACqg4DAq0OAwKwDgMCsw4DArYOAwK5DgMCvA4DAr8OAw\ +LCDgMCxQ4DAsgOAwLLDgMCzg4DAtEOAwLUDgMC1w4DAtoOAwLdDgMC4A4DAuMOAwLmDgMC6Q4DAuwO\ +AwLvDgMC8g4DAvUOAwL4DgMC+w4DAv4OAwIBDwMCBA8DAgcPAwIKDwMCDQ8DAhAPAwITDwMCFg8DAh\ +kPAwIcDwMCHw8DAiIPAwIlDwMCKA8DAisPAwIuDwMCMQ8DAjQPAwI3DwMCOg8DAj0PAwJADwMEAAAA\ +AkMPAwJGDwMCSQ8DAkwPAwJPDwMCUg8DAlUPAwJYDwMCWw8DAl4PAwJhDwMCZA8DAmcPAwJqDwMCbQ\ +8DAnAPAwJzDwMCdg8DAnkPAwJ8DwMCfw8DAoIPAwKFDwMCiA8DAosPAwKODwMCkQ8DApQPAwKXDwMC\ +mg8DAp0PAwKgDwMCow8DAqYPAwKpDwMCrA8DAq8PAwKyDwMCtQ8DArgPAwK7DwMCvg8DBAAAAAcAAA\ +ACCgwDAhwMAwLBDwMCxA8DAscPAwLKDwMCzQ8DAtAPAwIWDAMC0w8DAtYPAwLZDwMC3A8DAiIMAwAA\ +AAAHAAAABAAAAAAAAAAG3w8FBuQPBQbpDwUG7g8FBvMPBQb4DwUG/Q8FBgIQBQYHEAUGDBAFBhEQBQ\ +YWEAUGGxAFBiAQBQYlEAUGKhAFBi8QBQY0EAUGORAFBj4QBQZDEAUGSBAFBk0QBQZSEAUGVxAFBlwQ\ +BQZhEAUGZhAFBmsQBQZwEAgGeBAIBAAAAAaAEAUGhRAFBooQBQaPEAUGlBAFBpkQBQaeEAUGoxAFBq\ +gQBQatEAUGshAFBrcQBQa8EAUGwRAFBsYQBQbLEAUG0BAFBtUQBQbaEAUG3xAFBuQQBQbpEAUG7hAF\ +BvMQBQb4EAUG/RAFBgIRBQYHEQUGDBEFBhERBQYWEQUGGxEFBiARBQYlEQUGKhEFBi8RBQI0EQMCNx\ +EDAtAMAwI6EQMHAAAAAj0RAwJAEQICQhECAkQRAgJGEQICSBECAkoRAgJMEQICThECAlARAgJSEQIC\ +VBECAlYRAgJYEQICWhECAlwRAgKqDgMCsw4DArwOAwLCDgMC2g4DAt0OAwLmDgMC7A4DAu8OAwL1Dg\ +MC+A4DAvsOAwL+DgMCAQ8DAl4RAwJhEQMCZBEDAmcRAwJqEQMCbREDAnARAwJzEQMCdhEDAnkRAwJ8\ +EQMCfxEDAoIRAwKFEQMCiBEGAo4RBgKUEQMHAAAAAgoMAwIcDAMCwQ8DAsQPAwKXEQMCmhEDAp0RAw\ +IrDAMCoBEDAk8MAwLlDAMCCQ0DAgYNAwLoDAMC/A0DAmcMAwLfDAMCoxEDAqYRAwKpEQMCrBEDAq8R\ +AwKyEQMCtREDArgRAwK7EQMCvhEDAnkMAwLBEQMCxBEDAscRAwLKEQMCzREDAtARAwLTEQMC1hEDAs\ +cPAwLKDwMCzQ8DAtkRAwLcEQMC3xEDAuIRAwLlEQMC6BEDAusRAwLuEQMC8REDAvQRAwL3EQIC+REC\ +AvsRAgL9EQIC/xECAgESAgIDEgICBRICAgcSAgIJEgICCxICAg0SAgIPEgICERICAhMSAgIVEgQCGR\ +IEAh0SBAIhEgQCJRIEAikSBAItEgQCMRIEAjUSBAI5EgUCPhIFAkMSBQJIEgICShIDAk0SAgJPEgMC\ +UhIDAlUSAwJYEgMCWxIDAl4SAwJhEgMCZBIDAmcSAwJqEgMCbRIDAnASAwJzEgMCdhIDAnkSAwJ8Eg\ +MCfxIDAoISAwKFEgMCiBIDAosSAwKOEgMCkRIDApQSAwKXEgMCmhIDAp0SAwKgEgMCoxIDAqYSAwKp\ +EgMCrBIDAq8SAwKyEgMCtRIDArgSAwK7EgMCvhIDAsESAwLEEgMCxxIDAsoSAwLNEgMC0BIDAtMSAw\ +LWEgMC2RIDAtwSAwLfEgYC5RIMAvESDAL9EgwCCRMJAhITDAIeEwkCJxMJAjATDwI/EwwCSxMJAlQT\ +CQJdEwkCZhMMAnITDAJ+EwkChxMJApATBgKWEwkCnxMMAqsTDAK3EwYCvRMPAswTEgLeEw8C7RMJAv\ +YTDwIFFA8CFBQMAiAUCQIpFAkCMhQJAjsUDAJHFA8CVhQMAmIUCQJrFAkCdBQJAn0UBgKDFAYCiRQG\ +Ao8UBgKVFAkCnhQJAqcUDwK2FAkCvxQMAssUDwLaFAkC4xQGAukUBgLvFA8C/hQMAgoVDwIZFQkCIh\ +UPAjEVBgI3FQkCQBUJAkkVCQJSFQkCWxUJAmQVDAJwFQkCeRUGAn8VCQKIFQkCkRUJApoVDAKmFQkC\ +rxUJArgVCQLBFQ8C0BUMAtwVBgLiFQ8C8RUGAvcVDAIDFgwCDxYJAhgWCQIhFgkCKhYMAjYWBgI8Fg\ +kCRRYMAlEWBgJXFg8CZhYJAm8WBAJzFgQCdxYEAnsWBAJ/FgQCgxYEAocWBAKLFgQCjxYEApMWBAKX\ +FgUCnBYFAqEWBQKmFgUCqxYFArAWBQK1FgUCuhYFAr8WBQLEFgUCyRYFAs4WBQLTFgUC2BYFAt0WBQ\ +LiFgMC5RYCAucWAgLpFgMC7BYCAu4WAgLwFgIC8hYDAvUWAwL4FgIC+hYGAgAXBgIGFwYCDBcGAhIX\ +DAIeFwICIBcCAiIXAwIlFwICJxcCAikXAgIrFwICLRcCAi8XAwIyFwQCNhcCAjgXAgI6FwMCPRcDAk\ +AXAgJCFwICRBcCAkYXAwJJFwMCTBcDAk8XAwJSFwMCVRcCAlcXAgJZFwICWxcCAl0XAgJfFwMCYhcC\ +AmQXAgJmFwICaBcDAmsXAwJuFwICcBcDAnMXAwJ2FwMCeRcCAnsXAwJ+FwUCgxcGAh4XAgKJFwMCjB\ +cDAo8XAwKSFwMClRcHApwXCAKkFwICphcCAqgXAwKrFwICrRcCAq8XAgKxFwMCtBcCArYXAgK0FwIC\ +uBcCAroXAgK8FwMCvxcCAsEXAgK/FwICwxcDAsYXAwQAAAACyRcCAssXAgLNFwICzxcGBAAAAALVFw\ +IC1xcCAtkXAgLbFwIC3RcCAt8XAgJmFwIC4RcCAuMXAgLlFwIC5xcDAuoXAgIrFwIC7BcDAu8XAwLy\ +FwIEAAAAAvQXAwL3FwIC+RcCAvsXAgL9FwIC/xcFAgQYBQIJGAQCDRgEAhEYBAIVGAQCGRgEAh0YBA\ +IhGAQCJRgEAikYBAItGAUCMhgFAjcYBQI8GAUCQRgFAkYYBQJLGAUCUBgFAlUYBQJaGAUCXxgFAmQY\ +BQJpGAUCbhgFAnMYBQJ4GAUCfRgFAoIYBQKHGAUCjBgFApEYBQKWGAUCmxgDAAAAAAcAAAAAAAAABA\ +AAAAAAAAAEAAAABwAAAAQAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAQAAAACnhgDAAAAAAKhGAMAAAAA\ +AqQYAwAAAAACpxgDAAAAAAKqGAMAAAAAAhIFAwAAAAACrRgDAAAAAAKwGAMAAAAAArMYAwAAAAACth\ +gDAAAAAAK5GAMAAAAAArwYAwAAAAACvxgDAAAAAALCGAMAAAAAAsUYAwAAAAACyBgDAAAAAALLGAMA\ +AAAAAs4YAwAAAAAC0RgDAAAAAALUGAMAAAAAAtcYAwAAAAAC2hgDAAAAAALdGAMAAAAABwAAAAAAAA\ +AHAAAAAAAAAALgGAMAAAAAAuMYAwAAAAAC5hgDAAAAAALpGAMAAAAAAuwYAwAAAAAC7xgDAAAAAALy\ +GAMAAAAAAvUYAwAAAAAC+BgDAAAAAAL7GAMAAAAAAv4YAwAAAAACARkDAAAAAAIEGQMAAAAAAgcZAw\ +AAAAACwAICAsQCAgAAAAAHAAAAAAAAAAcAAAAEAAAABwAAAAAAAAAHAAAAAgoZAwAAAAACDRkDAAAA\ +AAIQGQMAAAAAAhMZAwAAAAACFhkDAAAAAAIZGQMAAAAAAhwZAwAAAAACHxkDAAAAAAIiGQMAAAAAAi\ +UZAwAAAAACKBkDAAAAAAIrGQMAAAAAAi4ZAwAAAAACMRkDAAAAAAI0GQMAAAAAAjcZAwAAAAACOhkD\ +AAAAAAI9GQMAAAAAAkAZAwAAAAACQxkDAAAAAAJGGQMAAAAAAkkZAwAAAAACTBkDAAAAAAJPGQMAAA\ +AAAlIZAwAAAAACVRkDAAAAAAJYGQMAAAAAAlsZAwAAAAACXhkDAAAAAAJhGQMAAAAAAmQZAwAAAAAC\ +ZxkDAAAAAAJqGQMAAAAAAm0ZAwAAAAACcBkDAAAAAAJzGQMAAAAAAnYZAwAAAAACeRkDAAAAAAJ5GQ\ +MAAAAAAnwZAwAAAAACfxkDAAAAAAKCGQMChRkDAAAAAAKIGQMAAAAAAosZAwAAAAACjhkDAAAAAAKR\ +GQMAAAAABwAAAAKUGQMAAAAAArkFAgAAAAAClxkDAAAAAAKaGQMAAAAAAp0ZAwAAAAACoBkDAAAAAA\ +KjGQMAAAAAAqYZAwAAAAACqRkDAAAAAAKsGQMAAAAAAq8ZAwAAAAACshkDAAAAAAK1GQMAAAAAArgZ\ +AwAAAAACzQECAqMFAgK3BQICuxkCArsFAgAAAAACvRkCAr8ZAgLABQICwRkDAsQZAwAAAAACxxkDAA\ +AAAALKGQMAAAAAAs0ZAwAAAAAC0BkDAAAAAALTGQMAAAAABAAAAALWGQMAAAAAAtkZAwLTBQIC3BkD\ +At8ZAwAAAAAC4hkDAAAAAAQAAAAC5RkDAAAAAAKfAAICzgACAAAAAAcAAAAAAAAABAAAAAcAAAAEAA\ +AAAAAAAAcAAAAEAAAAAAAAAAQAAAAHAAAAAAAAAAQAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAcAAAAA\ +AAAABAAAAAcAAAAEAAAAAAAAAAcAAAAEAAAAAAAAAAQAAAAHAAAAAAAAAAQAAAAAAAAABAAAAAAAAA\ +AEAAAAAAAAAAQAAAAHAAAAAAAAAAcAAAAAAAAABAAAAAAAAAAHAAAAAAAAAAcAAAAAAAAABAAAAAAA\ +AAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABwAAAAIQGQMC6BkDAkgLAg\ +LrGQMAAAAAAu4ZAgcAAAAEAAAAAvAZAwLzGQMC9hkDAvkZAwL8GQMC/xkDAgIaAwIFGgMCCBoDAgsa\ +AwIOGgMCERoDAhQaAwIXGgMCGhoDAh0aAwIgGgMCIxoDAiYaAwIpGgMCLBoDAi8aAwIyGgMCNRoDAj\ +gaAwI7GgMCPhoDAkEaAwJEGgMCRxoDAkoaAwJNGgMCUBoDAlMaAwJWGgMCWRoDAlwaAwJfGgMCYhoD\ +AmUaAwJoGgMCaxoDAm4aAwJxGgMCdBoDAncaAwJ6GgMCfRoDAoAaAwKDGgMChhoDAokaAwKMGgMCjx\ +oDApIaAwKVGgMCmBoDApsaAwKeGgMCoRoDAqQaAwKnGgMCqhoDAq0aAwKwGgMCsxoDArYaAwK5GgMC\ +vBoDAr8aAwLCGgMCxRoDAsgaAwLLGgMCzhoDAtEaAwLUGgMC1xoDAtoaAwLdGgMAAAAABwAAAAAAAA\ +AEAAAAAAAAAAQAAAAAAAAABAAAAAcAAAAEAAAABwAAAAQAAAAC4BoDAuMaAwLkDQMC5hoDAukaAwLs\ +GgMC7xoDAoYOAwLyGgMC/A0DAvUaAwL4GgMC+xoDAv4aAwIBGwMCBBsDAgcbAwIKGwMCDRsDAhAbAw\ +ITGwMCFhsDAhkbAwIcGwMCHxsDAiIbAwIlGwMCKBsDAisbAwIuGwMCMRsDAjQbAwI3GwMCOhsDAj0b\ +AwJAGwMCQxsDAkYbAwJJGwMCTBsDAk8bAwJSGwMCVRsDAlgbAwJbGwMCXhsDAmEbAwJkGwMCZxsDAm\ +obAwJtGwMCfg0DAnAbAwJzGwMCdhsDAnkbAwJ8GwMCfxsDAoIbAwKFGwMCiBsDAosbAwKOGwMCWQ4D\ +ApEbAwKUGwMClxsDApobAwKdGwMCoBsDAqMbAwKmGwMCqRsDAqwbAwKvGwMCshsDArUbAwK4GwMCux\ +sDAr4bAwLBGwMCxBsDAscbAwLKGwMCzRsDAtAbAwLTGwMC1hsDAtkbAwLcGwMC3xsDAhAbAwLiGwMC\ +5RsDAugbAwLrGwMC7hsDAvEbAwL0GwMC9xsDAvobAwL9GwMCABwDAgMcAwIGHAMCCRwDAgwcAwIPHA\ +MCEhwDAhUcAwIYHAMCGxwDAuoNAwIeHAMCIRwDAiQcAwInHAMCKhwDAi0cAwIwHAMCMxwDAjYcAwI5\ +HAMCPBwDAj8cAwJCHAMCRRwDAkgcAwJ5DAMCSxwDAk4cAwJRHAMCVBwDAlccAwJaHAMCXRwDAmAcAw\ +JADAMCYxwDAmYcAwJpHAMCbBwDAm8cAwJyHAMCdRwDAngcAwJ7HAMCfhwDAoEcAwKEHAMChxwDAooc\ +AwKNHAMCkBwDApMcAwKWHAMCmRwDApwcAwKfHAMCohwDAhgcAwKlHAMCqBwDAqscAwKuHAMCsRwDAr\ +QcAwK3HAMCuhwDAugbAwK9HAMCwBwDAsMcAwLGHAMCyRwDAswcAwLPHAMC0hwDAtUcAwLYHAMC2xwD\ +At4cAwLhHAMC5BwDAuccAwLqHAMC7RwDAvAcAwLzHAMC9hwDAhAbAwL5HAMC/BwDAv8cAwICHQMCgw\ +4DAgUdAwIIHQMCCx0DAg4dAwIRHQMCFB0DAhcdAwIaHQMCHR0DAiAdAwIjHQMCJh0DApoRAwIpHQMC\ +LB0DAi8dAwIyHQMCNR0DAjgdAwI7HQMCPh0DAkEdAwLuGwMCRB0DAkcdAwJKHQMCTR0DAlAdAwJTHQ\ +MCVh0DAlkdAwJcHQMCXx0DAmIdAwJlHQMCaB0DAvkNAwJrHQMCbh0DAnEdAwJ0HQMCdx0DAnodAwJ9\ +HQMCgB0DAoMdAwKGHQMCiR0DAowdAwKPHQMCZg0DApIdAwKVHQMCmB0DApsdAwKeHQMCoR0DAqQdAw\ +KnHQMCqh0DAq0dAwKwHQMCsx0DArYdAwK5HQMCvB0DAr8dAwK3DQMCwh0DAsANAwLFHQMCyB0DAssd\ +AwAAAAACzh0DAAAAAALRHQMAAAAAAtQdAwLXHQMC2h0DAt0dAwLgHQMC4x0DAuYdAwLpHQMC7B0DAn\ +sNAwAAAAAC7x0DAAAAAALyHQMAAAAAAvUdAwL4HQMAAAAAAvsdAwL+HQMCAR4DAgQeAwIHHgMCCh4D\ +Ag0eAwIQHgMCEx4DAhYeAwIZHgMCHB4DAh8eAwIiHgMCJR4DAigeAwIrHgMCLh4DAo4MAwIxHgMCNB\ +4DAjceAwI6HgMCPR4DAkAeAwJDHgMCRh4DAkkeAwJMHgMCTx4DAlIeAwJVHgMCWB4DAlseAwKpEQMC\ +Xh4DAmEeAwJkHgMCZx4DArURAwJqHgMCbR4DAnAeAwJzHgMCdh4DAoQcAwJ5HgMCfB4DAn8eAwKCHg\ +MChR4DAogeAwKLHgMCjh4DApEeAwKUHgMClx4DApoeAwKdHgMCoB4DAvUdAwKjHgMCph4DAqkeAwKs\ +HgMCrx4EArMeAwQAAAACth4DArkeAwK8HgMCvx4DAsIeAwLFHgMCyB4DAsseAwIfHgMCzh4DAtEeAw\ +LUHgMCzh0DAtceAwLaHgMC3R4DAuAeAwLjHgMC5h4DAukeAwLsHgMC7x4DAvIeAwL1HgMC+B4DAjce\ +AwL7HgMCOh4DAv4eAwIBHwMCBB8DAgcfAwIKHwMC0R0DAk8bAwINHwMCEB8DAvEMAwIbHAMCFB0DAh\ +MfAwIWHwMCTx4DAhkfAwJSHgMCHB8DAh8fAwIiHwMC1x0DAiUfAwIoHwMCKx8DAi4fAwIxHwMC2h0D\ +AjQfAwI3HwMCOh8DAj0fAwJAHwMCQx8DAnYeAwJGHwMCSR8DAoQcAwJMHwMCgh4DAk8fAwJSHwMCVR\ +8DAlgfAwJbHwMCkR4DAl4fAwLyHQMCYR8DApQeAwLiGwMCZB8DApceAwJnHwMCnR4DAmofAwJtHwMC\ +cB8DAnMfAwJ2HwMCox4DAukdAwJ5HwMCph4DAnwfAwKpHgMCfx8DAoYOAwKCHwQChh8EAoofBAKOHw\ +MCkR8DApQfAwKXHwQCmx8EAp8fBAKjHwMCph8DBAAAAAKpHwICqx8CAq0fAgKvHwMCsh8DArUfAgQA\ +AAACtx8EArsfBAK/HwQCwx8EAscfBAQAAAACyx8EAAAAAALPHwQC0x8CAlYJAgJcCQIC1R8CAtcfAg\ +LZHwIC2x8CAt0fAgLfHwIGMgkBAuEfBALlHwQC6R8GAu8fBgL1HwQC+R8EAv0fBAIBIAQCBSAEAgkg\ +BAINIAQCESAEAhUgBAQAAAACGSAEAh0gBAIhIAQCJSAEAikgBAQAAAACLSAEBAAAAAIxIAQCNSAEBA\ +AAAAI5IAQCPSAEBAAAAAJBIAQCRSAEAkkgBAJNIAQCUSAEAlUgBAJZIAQCXSAEAmEgBAJlIAQCaSAC\ +AmsgAgJtIAICbyACAnEgAgJzIAICdSACAncgAgJ5IAICeyACAn0gAgJ/IAICgSACAoMgAgKFIAIChy\ +ACAokgAgKLIAICjSACAo8gAgKRIAICkyACApUgAgKXIAICmSACApsgAgKdIAICnyACAqEgAgKjIAIH\ +AAAABAAAAAKlIAICpyACAqkgAgKrIAIC6gMEAq0gAgKvIAICsSACArMgAgK1IAICtyAEArsgBAK/IA\ +QCwyAEAscgBALLIAQCzyAEAtMgBALXIAIC2SAEAt0gBALhIAQC0yAEAuUgBALpIAQC7SAEAvEgBAL1\ +IAQC+SAEAv0gBAIBIQQCBSEEAgkhBAINIQQCESEEAhUhBAIZIQQCHSEEAiEhBAIlIQQCKSEEAi0hBA\ +IxIQQCNSEEAjkhBAI9IQQCQSEEAkUhBAJJIQQCTSEEAlEhBAJVIQQCWSEEAl0hBAJhIQQCZSEEAmkh\ +BAJtIQQCcSEEAnUhBAJ5IQQCfSEEAoEhBAKFIQQCiSEEAo0hBAKRIQQClSEEApkhBAKdIQQCoSEEAq\ +UhBAKpIQQCrSEEArEhBAK1IQQCuSEEAr0hBALBIQQCxSEEAskhBALNIQQC0SEEAtUhBALZIQQC3SEE\ +AuEhBALlIQQC6SEEAu0hBALxIQQC9SEEAvkhBAL9IQQCASIEAgUiBAIJIgQCDSIEAhEiBAIVIgQCGS\ +IEAh0iBAIhIgQCJSIEAikiBAItIgQCMSIEAjUiBAI5IgQCPSIEAkEiBAJFIgQCSSIEBk0iBQZSIgUG\ +VyIFBlwiBQZhIgUGZiIFAmsiBAJvIgQC4SAEAnMiBALTIAQC5SAEAnciBAJ7IgQC9SAEAn8iBAL5IA\ +QC/SAEAoMiBAKHIgQCDSEEAosiBAIRIQQCFSEEAo8iBAKTIgQCHSEEApciBAIhIQQCJSEEApkhBAKd\ +IQQCqSEEAq0hBAKxIQQCwSEEAsUhBALJIQQCzSEEAt0hBALhIQQC5SEEApsiBAL1IQQCnyIEAqMiBA\ +INIgQCpyIEAhEiBAIVIgQCSSIEAqsiBAKvIgQCNSIEArMiBAI5IgQCPSIEAtkgBALdIAQCtyIEAuEg\ +BAK7IgQC6SAEAu0gBALxIAQC9SAEAr8iBAIBIQQCBSEEAgkhBAINIQQCwyIEAh0hBAIpIQQCLSEEAj\ +EhBAI1IQQCOSEEAkEhBAJFIQQCSSEEAk0hBAJRIQQCVSEEAsciBAJZIQQCXSEEAmEhBAJlIQQCaSEE\ +Am0hBAJ1IQQCeSEEAn0hBAKBIQQChSEEAokhBAKNIQQCkSEEApUhBAKhIQQCpSEEArUhBAK5IQQCvS\ +EEAsEhBALFIQQC0SEEAtUhBALZIQQC3SEEAssiBALpIQQC7SEEAvEhBAL1IQQCASIEAgUiBAIJIgQC\ +DSIEAs8iBAIZIgQCHSIEAtMiBAIpIgQCLSIEAjEiBAI1IgQC1yIEAuEgBAK7IgQC9SAEAr8iBAINIQ\ +QCwyIEAh0hBALbIgQCUSEEAt8iBALjIgQC5yIEAsEhBALFIQQC3SEEAg0iBALPIgQCNSIEAtciBALr\ +IgYC8SIGAvciBgL9IgQCASMEAgUjBAIJIwQCDSMEAhEjBAIVIwQCGSMEAh0jBAIhIwQCJSMEAikjBA\ +ItIwQCMSMEAjUjBAI5IwQCPSMEAkEjBAJFIwQCSSMEAk0jBAJRIwQCVSMEAuMiBAJZIwQCXSMEAmEj\ +BAJlIwQC/SIEAgEjBAIFIwQCCSMEAg0jBAIRIwQCFSMEAhkjBAIdIwQCISMEAiUjBAIpIwQCLSMEAj\ +EjBAI1IwQCOSMEAj0jBAJBIwQCRSMEAkkjBAJNIwQCUSMEAlUjBALjIgQCWSMEAl0jBAJhIwQCZSME\ +Ak0jBAJRIwQCVSMEAuMiBALfIgQC5yIEAnEhBAJFIQQCSSEEAk0hBAJNIwQCUSMEAlUjBAJxIQQCdS\ +EEAmkjBAcAAAAEAAAAAm0jBgJzIwYCeSMGAn8jBgKFIwYCiyMGApEjBgKXIwYCnSMGAqMjBgKpIwYC\ +ryMGArUjBgK7IwYCwSMGAscjBgLNIwYC0yMGAtkjBgLfIwYC5SMGAusjBgLxIwYC9yMGAv0jBgIDJA\ +YCCSQGAg8kBgIVJAYCGyQGAiEkBgInJAYCLSQGAjMkBgI5JAYCPyQGAkUkBgJLJAYCUSQGAlckBgJd\ +JAYCYyQGAmkkBgJvJAYCdSQGAnskBgKBJAYChyQGAo0kBgQAAAACkyQGApkkBgKfJAYCpSQGAqskBg\ +KxJAYCtyQGAr0kBgLDJAYCySQGAs8kBgLVJAYC2yQGAuEkBgLnJAYC7SQGAvMkBgL5JAYC/yQGAgUl\ +BgILJQYCESUGAhclBgIdJQYCIyUGAiklBgIvJQYCNSUGAjslBgJBJQYCRyUGAk0lBgI5JAYCRSQGAl\ +MlBgJZJQYCXyUGAmUlBgJrJQYCcSUGAmslBgJfJQYCdyUGAn0lBgKDJQYCiSUGAo8lBgJxJQYCDyQG\ +AtMjBgKVJQYCmyUGBAAAAAKhJQYCpyUGAq0lCAK1JQgCvSUIAsUlCALNJQgC1SUIAt0lCALlJQYG6y\ +UhBgwmDwIbJggHAAAABAAAAAEAAAAGIyYBAiQmAwQAAAAGJyYBBgACAQYoJgEGKSYBAiomAwItJgME\ +AAAAAAAAAAQAAAACMCYDAjMmAwY2JgEGNwkBBjgJAQY3JgEGOCYBAjkmAwI8JgMCPyYDAkImAwJFJg\ +MCSCYDAu4JAwLxCQMCSyYDAk4mAwJRJgMCVCYDBwAAAAZXJgEGWCYBBhYJAwY2JgEGIyYBAiQmAwQA\ +AAAGAAIBBicmAQYpJgEGKCYBAjAmAwY3CQEGOAkBBjcmAQY4JgECOSYDAjwmAwZZJgEGWiYBBlsmAQ\ +YyCQECXCYBBl0mAQZeJgEGNgkBBAAAAAZfJgEGYCYBBmEmAQZiJgEEAAAABmMmAwJmJgQGaiYDAAAA\ +AAZtJgMEAAAABnAmAwJzJgQGdyYDAnomBAZ+JgMCgSYEBoUmAwKIJgQGjCYDAo8mBAKTJgIClSYCAp\ +cmAgKZJgICmyYCAp0mAgKfJgICoSYCAqMmAgKlJgICpyYCAqkmAgKrJgICrSYCAq8mAgKxJgICsyYC\ +ArUmAgK3JgICuSYCArsmAgK9JgICvyYCAsEmAgLDJgICxSYCAscmAgLJJgICyyYCAs0mAgLPJgIC0S\ +YCAtMmAgLVJgICtSACAtcmAgLZJgQC3SYEAuEmBALlJgQEAAAAAQAAAAQAAAAGKCYBBukmAQZZJgEG\ +YCYBBmEmAQZaJgEG6iYBBjcJAQY4CQEGWyYBBjIJAQYjJgECXCYBAowOAQbrJgECKwkBAisAAQIhAA\ +ECIgABAiwJAQItCQECLgkBAi8JAQIwCQECMQkBBicmAQYAAgEGXSYBBjYJAQZeJgEGKSYBBmImAQIA\ +AAECAQABAgIAAQIDAAECBAABAgUAAQIGAAECBwABAggAAQIJAAECCgABAgsAAQIMAAECDQABAg4AAQ\ +IPAAECEAABAhEAAQISAAECEwABAhQAAQIVAAECFgABAhcAAQIYAAECGQABBlcmAQZfJgEGWCYBBuwm\ +AQY2JgEG1AgBAgAAAQIBAAECAgABAgMAAQIEAAECBQABAgYAAQIHAAECCAABAgkAAQIKAAECCwABAg\ +wAAQINAAECDgABAg8AAQIQAAECEQABAhIAAQITAAECFAABAhUAAQIWAAECFwABAhgAAQIZAAEGNyYB\ +Bu0mAQY4JgEG7iYBAu8mAwLyJgMCjA4BAksmAwJOJgMCJCYDAvUmAwLcEgMC+CYDAvsmAwL+JgMCAS\ +cDAgQnAwIHJwMCCicDAg0nAwIQJwMCEycDAlISAwJVEgMCWBIDAlsSAwJeEgMCYRIDAmQSAwJnEgMC\ +ahIDAm0SAwJwEgMCcxIDAnYSAwJ5EgMCfBIDAn8SAwKCEgMChRIDAogSAwKLEgMCjhIDApESAwKUEg\ +MClxIDApoSAwKdEgMCoBIDAqMSAwKmEgMCqRIDAqwSAwKvEgMCshIDArUSAwK4EgMCuxIDAr4SAwLB\ +EgMCxBIDAscSAwLKEgMCzRIDAtASAwLTEgMCFicDAhknAwIcJwMEAAAAAqoOAwKtDgMCsA4DArMOAw\ +K2DgMCuQ4DArwOAwK/DgMCwg4DAsUOAwLIDgMCyw4DAs4OAwLRDgMC1A4DAtcOAwLaDgMC3Q4DAuAO\ +AwLjDgMC5g4DAukOAwLsDgMC7w4DAvIOAwL1DgMC+A4DAvsOAwL+DgMCAQ8DBAAAAAIEDwMCBw8DAg\ +oPAwINDwMCEA8DAhMPAwQAAAACFg8DAhkPAwIcDwMCHw8DAiIPAwIlDwMEAAAAAigPAwIrDwMCLg8D\ +AjEPAwI0DwMCNw8DBAAAAAI6DwMCPQ8DAkAPAwQAAAACHycCAiEnAgIjJwIGHgADAiUnAgInJwICKS\ +cDBAAAAAIsJwMCLycDAjInAwI1JwMCOCcDAjsnAwI+JwMEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAE\ +AAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAHAAAABAAAAAcAAAAEAAAABwAAAAQAAA\ +AHAAAABAAAAAcAAAAEAAAABwAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAHAAAABAAAAAAA\ +AAAHAAAABAAAAAAAAAAHAAAAAAAAAAcAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAcAAAAAAAAABAAAAA\ +AAAAAHAAAABAAAAAJBJwQCRScEAkknBAJNJwQCUScEAlUnBAJZJwQCXScEAmEnBAJlJwQCaScEAm0n\ +BAJxJwQCdScEAnknBAJ9JwQCgScEAoUnBAKJJwQCjScEApEnBAKVJwQCmScEAp0nBAKhJwQCpScEAq\ +knBAKtJwQCsScEArUnBAK5JwQCvScEAsEnBALFJwQCyScEAs0nBALRJwQC1ScEAtknBALdJwQAAAAA\ +BAAAAAAAAAAEAAAAAuEnBALlJwQC6ScEAu0nBALxJwQC9ScEAvknBAL9JwQCASgEAgUoBAIJKAQCDS\ +gEAhEoBAIVKAQCGSgEAh0oBAIhKAQCJSgEAikoBAItKAQCMSgEAjUoBAI5KAQCPSgEAkEoBAJFKAQC\ +SSgEAk0oBAJRKAQCVSgEAlkoBAJdKAQCYSgEAmUoBAJpKAQCbSgEBAAAAAAAAAAEAAAAAAAAAAQAAA\ +AAAAAABAAAAAcAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAA\ +AAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAABwAAAAAAAAAHAAAAAAAAAAQAAAAHAAAABAAAAA\ +AAAAAEAAAAAAAAAAQAAAAHAAAAAAAAAAcAAAAEAAAABwAAAAAAAAAEAAAABwAAAAQAAAAAAAAABAAA\ +AAcAAAAAAAAABwAAAAQAAAAHAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA\ +AAAAAAAAAEAAAAAAAAAAcAAAAEAAAABwAAAAQAAAAAAAAABwAAAAAAAAAHAAAABAAAAAAAAAAHAAAA\ +AAAAAAQAAAAHAAAABAAAAAAAAAAEAAAABwAAAAAAAAAEAAAABwAAAAAAAAAEAAAABwAAAAAAAAAEAA\ +AABwAAAAQAAAAHAAAABAAAAAAAAAAEAAAAAnEoBAJ1KAQCeSgEAn0oBAKBKAQChSgEAokoBAKNKAQC\ +kSgEApUoBAKZKAQCnSgEAqEoBAKlKAQCqSgEAq0oBAKxKAQCtSgEArkoBAK9KAQCwSgEAsUoBALJKA\ +QCzSgEAtEoBALVKAQC2SgEAt0oBALhKAQC5SgEAukoBALtKAQC8SgEAvUoBAL5KAQC/SgEAgEpBAIF\ +KQQCCSkEAg0pBAIRKQQCFSkEAhkpBAIdKQQCISkEAiUpBAIpKQQCLSkEAjEpBAI1KQQCOSkEBAAAAA\ +AAAAAEAAAABwAAAAAAAAAEAAAAAAAAAAQAAAAHAAAABAAAAAAAAAAEAAAAAAAAAAcAAAAEAAAAAAAA\ +AAQAAAAAAAAABwAAAAAAAAAEAAAAAAAAAAcAAAAEAAAAAAAAAAcAAAAEAAAAAAAAAAQAAAAAAAAABw\ +AAAAQAAAAHAAAAAAAAAAQAAAAAAAAABwAAAAQAAAAHAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAA\ +BAAAAAAAAAAHAAAAAAAAAAQAAAAAAAAABwAAAAAAAAAEAAAAAAAAAAcAAAAAAAAABwAAAAAAAAAHAA\ +AAAAAAAAcAAAAEAAAABwAAAAQAAAAAAAAABAAAAAAAAAAHAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAE\ +AAAAAAAAAAQAAAAAAAAABAAAAAAAAAAHAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAA\ +AEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQA\ +AAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABwAAAA\ +AAAAAHAAAABAAAAAcAAAAAAAAABAAAAAAAAAAHAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAA\ +AAcAAAAAAAAABAAAAAAAAAAHAAAAAAAAAAQAAAAAAAAABAAAAAcAAAAEAAAAAAAAAAQAAAAAAAAABA\ +AAAAAAAAAEAAAAAAAAAAQAAAAAAAAABwAAAAQAAAAAAAAABwAAAAQAAAACPSkEAkEpBAJFKQQCSSkE\ +Ak0pBAJRKQQCVSkEAlkpBAJdKQQCYSkEAmUpBAJpKQQCbSkEAnEpBAJ1KQQCeSkEAn0pBAKBKQQChS\ +kEAokpBAKNKQQCkSkEApUpBAKZKQQCnSkEAqEpBAKlKQQCqSkEAq0pBAKxKQQCtSkEArkpBAAAAAAH\ +AAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAA\ +AHAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAHAAAAAAAAAAQAAAAAAAAABwAAAAAA\ +AAAEAAAAAAAAAAcAAAAAAAAABwAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABwAAAA\ +QAAAAAAAAABwAAAAQAAAAHAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAA\ +AAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAA\ +AAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABwAAAAQAAAAAAAAABAAAAAcAAAAEAAAA\ +BwAAAAAAAAAEAAAABwAAAAQAAAAHAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAA\ +AAAAAAAAQAAAAAAAAABAAAAAcAAAAEAAAAAAAAAAQAAAAAAAAABwAAAAQAAAAAAAAABwAAAAAAAAAH\ +AAAABAAAAAAAAAAEAAAABwAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAr0pBALBKQQCxSkEAskpBALNKQ\ +QC0SkEAtUpBALZKQQC3SkEAuEpBALlKQQC6SkEAu0pBALxKQQC9SkEAvkpBAL9KQQCASoEAgUqBAIJ\ +KgQCDSoEAhEqBAIVKgQCGSoEAh0qBAIhKgQCJSoEAikqBAItKgQCMSoEAjUqBAI5KgQAAAAABwAAAA\ +QAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABwAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAA\ +AAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAA\ +AAAAQAAAAAAAAABAAAAAAAAAAEAAAABwAAAAAAAAAHAAAAAQAAAAQAAAAHAAAABAAAAAcAAAAEAAAA\ +BwAAAAI9KggCRSoIAk0qDAJZKgwCZSoMAnEqDAJ9KgwHAAAABAAAAAcAAAACiSoIApEqCAKZKgwCpS\ +oMArEqDAK9KgwHAAAABAAAAAcAAAAEAAAABwAAAAQAAAAHAAAABAAAAAcAAAAEAAAAAgAAAQIBAAEC\ +AgABAgMAAQIEAAECBQABAgYAAQIHAAECCAABAgkAAQIKAAECCwABAgwAAQINAAECDgABAg8AAQIQAA\ +ECEQABAhIAAQITAAECFAABAhUAAQIWAAECFwABAhgAAQIZAAECAAABAgEAAQICAAECAwABAgQAAQIF\ +AAECBgABAgcAAQIIAAECCQABAgoAAQILAAECDAABAg0AAQIOAAECDwABAhAAAQIRAAECEgABAhMAAQ\ +IUAAECFQABAhYAAQIXAAECGAABAhkAAQIAAAECAQABAgIAAQIDAAECBAABAgUAAQIGAAECBwABAggA\ +AQIJAAECCgABAgsAAQIMAAECDQABAg4AAQIPAAECEAABAhEAAQISAAECEwABAhQAAQIVAAECFgABAh\ +cAAQIYAAECGQABAgAAAQIBAAECAgABAgMAAQIEAAECBQABAgYAAQQAAAACCAABAgkAAQIKAAECCwAB\ +AgwAAQINAAECDgABAg8AAQIQAAECEQABAhIAAQITAAECFAABAhUAAQIWAAECFwABAhgAAQIZAAECAA\ +ABAgEAAQICAAECAwABAgQAAQIFAAECBgABAgcAAQIIAAECCQABAgoAAQILAAECDAABAg0AAQIOAAEC\ +DwABAhAAAQIRAAECEgABAhMAAQIUAAECFQABAhYAAQIXAAECGAABAhkAAQIAAAECAQABAgIAAQIDAA\ +ECBAABAgUAAQIGAAECBwABAggAAQIJAAECCgABAgsAAQIMAAECDQABAg4AAQIPAAECEAABAhEAAQIS\ +AAECEwABAhQAAQIVAAECFgABAhcAAQIYAAECGQABAgAAAQQAAAACAgABAgMAAQQAAAACBgABBAAAAA\ +IJAAECCgABBAAAAAINAAECDgABAg8AAQIQAAEEAAAAAhIAAQITAAECFAABAhUAAQIWAAECFwABAhgA\ +AQIZAAECAAABAgEAAQICAAECAwABBAAAAAIFAAEEAAAAAgcAAQIIAAECCQABAgoAAQILAAECDAABAg\ +0AAQQAAAACDwABAhAAAQIRAAECEgABAhMAAQIUAAECFQABAhYAAQIXAAECGAABAhkAAQIAAAECAQAB\ +AgIAAQIDAAECBAABAgUAAQIGAAECBwABAggAAQIJAAECCgABAgsAAQIMAAECDQABAg4AAQIPAAECEA\ +ABAhEAAQISAAECEwABAhQAAQIVAAECFgABAhcAAQIYAAECGQABAgAAAQIBAAECAgABAgMAAQIEAAEC\ +BQABAgYAAQIHAAECCAABAgkAAQIKAAECCwABAgwAAQINAAECDgABAg8AAQIQAAECEQABAhIAAQITAA\ +ECFAABAhUAAQIWAAECFwABAhgAAQIZAAECAAABAgEAAQQAAAACAwABAgQAAQIFAAECBgABBAAAAAIJ\ +AAECCgABAgsAAQIMAAECDQABAg4AAQIPAAECEAABBAAAAAISAAECEwABAhQAAQIVAAECFgABAhcAAQ\ +IYAAEEAAAAAgAAAQIBAAECAgABAgMAAQIEAAECBQABAgYAAQIHAAECCAABAgkAAQIKAAECCwABAgwA\ +AQINAAECDgABAg8AAQIQAAECEQABAhIAAQITAAECFAABAhUAAQIWAAECFwABAhgAAQIZAAECAAABAg\ +EAAQQAAAACAwABAgQAAQIFAAECBgABBAAAAAIIAAECCQABAgoAAQILAAECDAABBAAAAAIOAAEEAAAA\ +AhIAAQITAAECFAABAhUAAQIWAAECFwABAhgAAQQAAAACAAABAgEAAQICAAECAwABAgQAAQIFAAECBg\ +ABAgcAAQIIAAECCQABAgoAAQILAAECDAABAg0AAQIOAAECDwABAhAAAQIRAAECEgABAhMAAQIUAAEC\ +FQABAhYAAQIXAAECGAABAhkAAQIAAAECAQABAgIAAQIDAAECBAABAgUAAQIGAAECBwABAggAAQIJAA\ +ECCgABAgsAAQIMAAECDQABAg4AAQIPAAECEAABAhEAAQISAAECEwABAhQAAQIVAAECFgABAhcAAQIY\ +AAECGQABAgAAAQIBAAECAgABAgMAAQIEAAECBQABAgYAAQIHAAECCAABAgkAAQIKAAECCwABAgwAAQ\ +INAAECDgABAg8AAQIQAAECEQABAhIAAQITAAECFAABAhUAAQIWAAECFwABAhgAAQIZAAECAAABAgEA\ +AQICAAECAwABAgQAAQIFAAECBgABAgcAAQIIAAECCQABAgoAAQILAAECDAABAg0AAQIOAAECDwABAh\ +AAAQIRAAECEgABAhMAAQIUAAECFQABAhYAAQIXAAECGAABAhkAAQIAAAECAQABAgIAAQIDAAECBAAB\ +AgUAAQIGAAECBwABAggAAQIJAAECCgABAgsAAQIMAAECDQABAg4AAQIPAAECEAABAhEAAQISAAECEw\ +ABAhQAAQIVAAECFgABAhcAAQIYAAECGQABAgAAAQIBAAECAgABAgMAAQIEAAECBQABAgYAAQIHAAEC\ +CAABAgkAAQIKAAECCwABAgwAAQINAAECDgABAg8AAQIQAAECEQABAhIAAQITAAECFAABAhUAAQIWAA\ +ECFwABAhgAAQIZAAECAAABAgEAAQICAAECAwABAgQAAQIFAAECBgABAgcAAQIIAAECCQABAgoAAQIL\ +AAECDAABAg0AAQIOAAECDwABAhAAAQIRAAECEgABAhMAAQIUAAECFQABAhYAAQIXAAECGAABAhkAAQ\ +IAAAECAQABAgIAAQIDAAECBAABAgUAAQIGAAECBwABAggAAQIJAAECCgABAgsAAQIMAAECDQABAg4A\ +AQIPAAECEAABAhEAAQISAAECEwABAhQAAQIVAAECFgABAhcAAQIYAAECGQABAgAAAQIBAAECAgABAg\ +MAAQIEAAECBQABAgYAAQIHAAECCAABAgkAAQIKAAECCwABAgwAAQINAAECDgABAg8AAQIQAAECEQAB\ +AhIAAQITAAECFAABAhUAAQIWAAECFwABAhgAAQIZAAECAAABAgEAAQICAAECAwABAgQAAQIFAAECBg\ +ABAgcAAQIIAAECCQABAgoAAQILAAECDAABAg0AAQIOAAECDwABAhAAAQIRAAECEgABAhMAAQIUAAEC\ +FQABAhYAAQIXAAECGAABAhkAAQIAAAECAQABAgIAAQIDAAECBAABAgUAAQIGAAECBwABAggAAQIJAA\ +ECCgABAgsAAQIMAAECDQABAg4AAQIPAAECEAABAhEAAQISAAECEwABAhQAAQIVAAECFgABAhcAAQIY\ +AAECGQABAgAAAQIBAAECAgABAgMAAQIEAAECBQABAgYAAQIHAAECCAABAgkAAQIKAAECCwABAgwAAQ\ +INAAECDgABAg8AAQIQAAECEQABAhIAAQITAAECFAABAhUAAQIWAAECFwABAhgAAQIZAAECAAABAgEA\ +AQICAAECAwABAgQAAQIFAAECBgABAgcAAQIIAAECCQABAgoAAQILAAECDAABAg0AAQIOAAECDwABAh\ +AAAQIRAAECEgABAhMAAQIUAAECFQABAhYAAQIXAAECGAABAhkAAQLJKgICyyoCBAAAAAIYAgICGgIC\ +AhwCAgIeAgICIAICAiICAgIkAgICJgICAvMBAgIoAgICKgICAiYAAgIsAgICLgICAjACAgIyAgICNA\ +ICAiYCAgI2AgICOAICAjoCAgI8AgICPgICAkACAgJCAgICzSoDAhgCAgIaAgICHAICAh4CAgIgAgIC\ +IgICAiQCAgImAgIC8wECAigCAgIqAgICJgACAiwCAgIuAgICMAICAjICAgI0AgICNgICAjgCAgI6Ag\ +ICPAICAj4CAgJAAgICQgICAtAqAwIgAgICJgICAigCAgI8AgICNAICAjICAgIYAgICGgICAhwCAgIe\ +AgICIAICAiICAgIkAgICJgICAvMBAgIoAgICKgICAiYAAgIsAgICLgICAjACAgIyAgICNAICAiYCAg\ +I2AgICOAICAjoCAgI8AgICPgICAkACAgJCAgICzSoDAhgCAgIaAgICHAICAh4CAgIgAgICIgICAiQC\ +AgImAgIC8wECAigCAgIqAgICJgACAiwCAgIuAgICMAICAjICAgI0AgICNgICAjgCAgI6AgICPAICAj\ +4CAgJAAgICQgICAtAqAwIgAgICJgICAigCAgI8AgICNAICAjICAgIYAgICGgICAhwCAgIeAgICIAIC\ +AiICAgIkAgICJgICAvMBAgIoAgICKgICAiYAAgIsAgICLgICAjACAgIyAgICNAICAiYCAgI2AgICOA\ +ICAjoCAgI8AgICPgICAkACAgJCAgICzSoDAhgCAgIaAgICHAICAh4CAgIgAgICIgICAiQCAgImAgIC\ +8wECAigCAgIqAgICJgACAiwCAgIuAgICMAICAjICAgI0AgICNgICAjgCAgI6AgICPAICAj4CAgJAAg\ +ICQgICAtAqAwIgAgICJgICAigCAgI8AgICNAICAjICAgIYAgICGgICAhwCAgIeAgICIAICAiICAgIk\ +AgICJgICAvMBAgIoAgICKgICAiYAAgIsAgICLgICAjACAgIyAgICNAICAiYCAgI2AgICOAICAjoCAg\ +I8AgICPgICAkACAgJCAgICzSoDAhgCAgIaAgICHAICAh4CAgIgAgICIgICAiQCAgImAgIC8wECAigC\ +AgIqAgICJgACAiwCAgIuAgICMAICAjICAgI0AgICNgICAjgCAgI6AgICPAICAj4CAgJAAgICQgICAt\ +AqAwIgAgICJgICAigCAgI8AgICNAICAjICAgIYAgICGgICAhwCAgIeAgICIAICAiICAgIkAgICJgIC\ +AvMBAgIoAgICKgICAiYAAgIsAgICLgICAjACAgIyAgICNAICAiYCAgI2AgICOAICAjoCAgI8AgICPg\ +ICAkACAgJCAgICzSoDAhgCAgIaAgICHAICAh4CAgIgAgICIgICAiQCAgImAgIC8wECAigCAgIqAgIC\ +JgACAiwCAgIuAgICMAICAjICAgI0AgICNgICAjgCAgI6AgICPAICAj4CAgJAAgICQgICAtAqAwIgAg\ +ICJgICAigCAgI8AgICNAICAjICAgJOAgIEAAAAAisJAQIrAAECIQABAiIAAQIsCQECLQkBAi4JAQIv\ +CQECMAkBAjEJAQIrCQECKwABAiEAAQIiAAECLAkBAi0JAQIuCQECLwkBAjAJAQIxCQECKwkBAisAAQ\ +IhAAECIgABAiwJAQItCQECLgkBAi8JAQIwCQECMQkBAisJAQIrAAECIQABAiIAAQIsCQECLQkBAi4J\ +AQIvCQECMAkBAjEJAQIrCQECKwABAiEAAQIiAAECLAkBAi0JAQIuCQECLwkBAjAJAQIxCQEHAAAAAA\ +AAAAcAAAAAAAAABwAAAAAAAAAHAAAAAAAAAAcAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAA\ +AAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAA\ +AABwAAAAQAAAAAAAAABAAAAAcAAAAEAAAAAAAAAAQAAAAHAAAAAAAAAAQAAAAC0yoEAtcqBALbKgQC\ +3yoEAuMqBALnKgQC6yoEAu8qBALzKgQC9yoEAvsqBAL/KgQCAysEAgcrBAILKwQCDysEAhMrBAIXKw\ +QCGysEAh8rBAIjKwQCJysEAisrBAIvKwQCMysEAjcrBAI7KwQCPysEAkMrBAJHKwQCSysEAk8rBAJT\ +KwQCVysEAAAAAAQAAAAAAAAABAAAAAcAAAAEAAAABwAAAAQAAAAHAAAABAAAAAKfJgICoSYCAqkmAg\ +KvJgIEAAAAAtUmAgK1JgICqyYCAr8mAgLXJgICyyYCAs0mAgLPJgIC0SYCArcmAgLDJgICxyYCArsm\ +AgLJJgICsyYCArkmAgKlJgICpyYCAq0mAgKxJgICvSYCAsEmAgLFJgICWysCApcgAgJdKwICXysCBA\ +AAAAKhJgICqSYCBAAAAALTJgIEAAAAAqsmAgQAAAAC1yYCAssmAgLNJgICzyYCAtEmAgK3JgICwyYC\ +AscmAgK7JgICySYCBAAAAAK5JgICpSYCAqcmAgKtJgIEAAAAAr0mAgQAAAACxSYCBAAAAAKpJgIEAA\ +AAAqsmAgQAAAAC1yYCBAAAAALNJgIEAAAAAtEmAgK3JgICwyYCBAAAAAK7JgICySYCBAAAAAK5JgIE\ +AAAAAq0mAgQAAAACvSYCBAAAAALFJgIEAAAAApcgAgQAAAACXysCBAAAAAKhJgICqSYCBAAAAALTJg\ +IEAAAAAqsmAgK/JgIC1yYCAssmAgQAAAACzyYCAtEmAgK3JgICwyYCAscmAgK7JgICySYCBAAAAAK5\ +JgICpSYCAqcmAgKtJgIEAAAAAr0mAgLBJgICxSYCAlsrAgQAAAACXSsCBAAAAAKfJgICoSYCAqkmAg\ +KvJgIC0yYCAtUmAgK1JgICqyYCAr8mAgLXJgIEAAAAAs0mAgLPJgIC0SYCArcmAgLDJgICxyYCArsm\ +AgLJJgICsyYCArkmAgKlJgICpyYCAq0mAgKxJgICvSYCAsEmAgLFJgIEAAAAAqEmAgKpJgICryYCBA\ +AAAALVJgICtSYCAqsmAgK/JgIC1yYCBAAAAALNJgICzyYCAtEmAgK3JgICwyYCAscmAgK7JgICySYC\ +ArMmAgK5JgICpSYCAqcmAgKtJgICsSYCAr0mAgLBJgICxSYCBAAAAAcAAAAEAAAABwAAAAQAAAAHAA\ +AABAAAAAcAAAAEAAAABwAAAAQAAAAHAAAABAAAAAcAAAAEAAAABmErAgZjKwIGZSsCBmcrAgZpKwIG\ +aysCBm0rAgZvKwIGcSsCBnMrAgcAAAAGUQoDBlQKAwZXCgMGWgoDBl0KAwZgCgMGYwoDBmYKAwZpCg\ +MGbAoDBm8KAwZyCgMGdQoDBngKAwZ7CgMGfgoDBoEKAwaECgMGhwoDBooKAwaNCgMGkAoDBpMKAwaW\ +CgMGmQoDBpwKAwJ1KwcCAgABAhEAAQLNFwICfCsCBwAAAAIAAAECAQABAgIAAQIDAAECBAABAgUAAQ\ +IGAAECBwABAggAAQIJAAECCgABAgsAAQIMAAECDQABAg4AAQIPAAECEAABAhEAAQISAAECEwABAhQA\ +AQIVAAECFgABAhcAAQIYAAECGQABAn4rAgK0FwICgCsCAncAAgKCKwMChSsCBwAAAAKHKwICiSsCAo\ +srAgcAAAACjSsCBwAAAAQAAAAHAAAAAo8rBgKVKwYCcBIDBAAAAALHDAMCmysDAp4rAwKhKwMCHAwD\ +AqQrAwKnKwMC2Q8DAqorAwKtKwMCsCsDAvYcAwKzKwMCtisDArkrAwK8KwMCvysDAsIrAwIzDQMCxS\ +sDAsgrAwLLKwMCzisDAtErAwLUKwMCCgwDAsEPAwLXKwMC2REDAsoPAwLcEQMC2isDAtsNAwLdKwMC\ +4CsDAuMrAwLmKwMC6SsDAqYRAwLlDAMC7CsDAu8rAwLyKwMC9SsDBAAAAAL4KwkCASwJAgosCQITLA\ +kCHCwJAiUsCQIuLAkCNywJAkAsCQQAAAACSSwDAkwsAwQAAAAHAAAABAAAAAcAAAAEAAAABwAAAAQA\ +AAAHAAAABAAAAAcAAAAEAAAABwAAAAQAAAAHAAAABAAAAAcAAAAEAAAABwAAAAQAAAAHAAAABAAAAA\ +cAAAAEAAAABwAAAAQAAAAHAAAABAAAAAcAAAAEAAAABwAAAAQAAAAHAAAABAAAAAcAAAAEAAAABwAA\ +AAQAAAAHAAAABAAAAAcAAAAEAAAABwAAAAQAAAAHAAAABAAAAAcAAAAEAAAABwAAAAQAAAAHAAAABA\ +AAAAcAAAAEAAAAAisJAQIrAAECIQABAiIAAQIsCQECLQkBAi4JAQIvCQECMAkBAjEJAQQAAAAAAAAA\ +BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAk8sAwJSLAMCVSwDAlgsBAJcLAMCDR\ +4DAl8sAwJiLAMCZSwDAmgsAwIQHgMCaywDAm4sAwJxLAQCEx4DAnUsAwJ4LAMCeywDAn4sBAKCLAMC\ +hSwDArkrAwKILAQCjCwDAo8sAwKSLAMClSwDArkeAwKYLAQCOgwDApwsAwKfLAMCoiwDAqUsAwLvKw\ +MCqCwDAqssAwLIHgMCFh4DAhkeAwLLHgMCriwDArEsAwL0GwMCtCwDAhweAwK3LAMCuiwDAr0sAwLA\ +LAMCwywEAscsAwLKLAMCzSwDAtAsBALULAMC1ywDAtosAwLdLAMC4CwDAuMsAwLmLAMC6SwDAuwsAw\ +LvLAMC8iwDAvUsAwL4LAMC0R4DAvssAwL+LAMCAS0DAgQtAwIiHgMCBy0DAgotAwINLQMCqh0DAhAt\ +AwITLQMCFi0DAhktAwIcLQMCHy0DAiItAwIlLQMCKC0EAiwtAwIvLQMCMi0DAqQrAwI1LQMCOC0DAj\ +stBAI/LQQCQy0DAkYtAwJJLQMCTC0DAk8tAwJSLQMEAAAAAlUtAwJYLQMCWy0EAl8tAwJiLQMC6BsD\ +AmUtAwJoLQQCbC0DAm8tAwQAAAACiAwDAnItAwJ1LQMCjgwDAngtAwJ7LQMCfi0EAoItAwKFLQQCiS\ +0DAowtAwKPLQMCki0DApUtAwKYLQMCmy0DAp4tAwKhLQMCpC0DAqctAwKqLQQCri0DArEtAwK0LQMC\ +ty0DAkwbAwK6LQQCrAwDAr4tBALCLQMCxS0DAsgtAwLLLQQCzy0EAtMtAwLWLQMC2S0DAtwtAwLfLQ\ +MC4i0DAuUtAwLoLQMC6y0DAu4tAwIxHgMC8S0EAvUtAwL4LQMC+y0DAvUeAwL7LQMC/i0DAjceAwIB\ +LgMCBC4DAgcuAwIKLgMCOh4DAvsaAwINLgMCEC4DAhMuAwIWLgMCGS4DAhwuAwIfLgQCIy4DAiYuAw\ +IpLgMCLC4DAi8uAwIyLgQCNi4DAjkuAwI8LgMCPy4DAkIuAwJFLgMCSC4DAksuAwJOLgMCPR4DAlEu\ +AwJULgQCWC4DAlsuAwJeLgMCYS4DAkMeAwJkLgMCZy4DAmouAwJtLgMCcC4DAnMuAwJ2LgMCeS4DAk\ +8bAwINHwMCfC4DAn8uAwKCLgMChS4EAokuAwKMLgMCjy4DApIuAwJGHgMClS4EApkuAwKcLgMCny4D\ +Ao4fAwKiLgMCpS4DAqguAwKrLgMCri4EArIuAwK1LgMCuC4DArsuBAK/LgMCwi4DAsUuAwLILgMCGx\ +wDAssuAwLOLgQC0i4EAtYuBALaLgMC3S4EAuEuAwLkLgMC5y4DAuouAwLtLgMCSR4DAhQdAwLwLgMC\ +8y4DAvYuAwL5LgQC/S4DAgAvAwIDLwMCBi8DAhYfAwIJLwMCDC8EAhAvAwITLwMCFi8EAhovBAIeLw\ +MCIS8DAhkfAwIkLwMCJy8DAiovAwItLwMCMC8DAjMvAwI2LwQCOi8DAj0vBAJBLwMEAAAAAkQvAwIf\ +HwMCRy8DAkovBAJOLwMCUS8DAlQvBAJYLwQCXC8DAl8vAwJiLwMCZS8DAmgvAwJrLwMCbi8DAiUfAw\ +JxLwMCdC8DAncvAwJ6LwMCfS8EAoEvAwKELwQC8RsDAogvBAKMLwMCjy8EApMvBAKXLwQCmy8DAp4v\ +AwI3HwMCoS8EAqUvBAKpLwQCrS8EArEvAwK0LwMCOh8DApQfAwK3LwMCui8DAr0vAwLALwQCxC8DAo\ +IbAwJAHwMCxy8DAsovBAJnHgMCzi8EAtIvBALmHQMC1i8DAtkvAwJwHgMC3C8DAt8vAwLiLwQC5i8E\ +BAAAAALqLwMC7S8EAvEvAwL0LwMC9y8DAvovBAL+LwMCATADAgQwAwIHMAMCCjADAg0wBAIRMAMCFD\ +ADAhcwAwIaMAMCHTADAiAwAwIjMAQCJzAEAiswAwIuMAQCMjADAjUwBAI5MAMCPDADAoIeAwI/MAQC\ +QzAEAkcwAwJKMAQCTjADAlEwBAJVMAMCWDADAlswAwJeMAMCYTADAmQwAwJnMAQCazAEAm8wBAJzMA\ +QCwi0DAncwAwJ6MAMCfTADAoAwAwKDMAMChjADAokwAwKMMAMCjzADApIwAwKVMAMCmDAEAiQcAwKc\ +MAMCnzADAqIwAwKlMAMCqDADAqswAwKLHgMCrjADArEwAwK0MAMCtzADArowBAK+MAQCwjAEAsYwAw\ +LJMAMCzDADAs8wAwLSMAQC1jADAtkwBALdMAMC4DADAuMwBALnMAQC6zADAu4wAwJzGwMC8TADAvQw\ +AwL3MAMC+jADAv0wAwIAMQMCVR8DAgMxAwIGMQMCCTEDBAAAAAIMMQMCDzEDAhIxAwIVMQMCug0DAh\ +gxBAIcMQMCHzEDAiIxAwIlMQMCKDEDAisxBAIvMQQCMzEDAjYxAwI5MQMCZB8DAmcfAwLPDQMCPDEE\ +AkAxAwJDMQMCRjEDAkkxAwJMMQQCUDEEAlQxAwJXMQMCWjEDAl0xBAJhMQMCah8DAmQxBAJoMQQCbD\ +EDAm8xAwJyMQMCdTEEAnkxAwJ8MQMCfzEDAoIxAwKFMQMCiDEDAosxAwKOMQQCkjEDApUxAwKYMQMC\ +mzEEAp8xAwKiMQMCpTEDAqgxAwKrMQQCrzEEArMxAwK2MQMCuTEDArwxBALAMQMCwzEEAnwfAwLHMQ\ +MCyjEEAs4xAwLRMQMC1DEDAtcxAwLaMQMC3TEDAuAxAwLjMQQCfx8DAucxAwLqMQMC7TEDAvAxAwLz\ +MQMC9jEEAvoxAwL9MQQCATIEAgUyBAJfDgMCCTIDAmsOAwIMMgMCDzIDAhIyAwIVMgMCeg4DAhgyBA\ +QAAAAAAAAABAAAAAEAAAAEAAAAYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXogIMyIIMyEMjMgzIHO\ +vCDMpzEx4oGENDHigYQyM+KBhDTDoMOhw6LDo8Okw6XDpsOnw6jDqcOqw6vDrMOtw67Dr8Oww7HDss\ +Ozw7TDtcO2w7jDucO6w7vDvMO9w75zc8SBxIPEhcSHxInEi8SNxI/EkcSTxJXEl8SZxJvEncSfxKHE\ +o8SlxKfEqcSrxK3Er2nMh2lqxLXEt8S6xLzEvmzCt8WCxYTFhsWIyrxuxYvFjcWPxZHFk8WVxZfFmc\ +WbxZ3Fn8WhxaPFpcWnxanFq8Wtxa/FscWzxbXFt8O/xbrFvMW+yZPGg8aFyZTGiMmWyZfGjMedyZnJ\ +m8aSyaDJo8mpyajGmcmvybLJtcahxqPGpcqAxqjKg8atyojGsMqKyovGtMa2ypLGuca9ZMW+bGpuas\ +eOx5DHkseUx5bHmMeax5zHn8ehx6PHpcenx6nHq8etx69kese1xpXGv8e5x7vHvce/yIHIg8iFyIfI\ +iciLyI3Ij8iRyJPIlciXyJnIm8idyJ/GnsijyKXIp8ipyKvIrcivyLHIs+Kxpci8xprisabJgsaAyo\ +nKjMmHyYnJi8mNyY/Jpsm5ybvKgSDMhiDMhyDMiiDMqCDMgyDMi8qVzIDMgcyTzIjMgc65zbHNs8q5\ +zbcgzrk7z7MgzIjMgc6swrfOrc6uzq/PjM+Nz47Osc6yzrPOtM61zrbOt864zrrOu869zr7Ov8+Az4\ +HPg8+Ez4XPhs+Hz4jPic+Kz4vPl8+Zz5vPnc+fz6HPo8+lz6fPqc+rz63Pr8+4z7vNu828zb3RkNGR\ +0ZLRk9GU0ZXRltGX0ZjRmdGa0ZvRnNGd0Z7Rn9Cw0LHQstCz0LTQtdC20LfQuNC50LrQu9C80L3Qvt\ +C/0YDRgdGC0YPRhNGF0YbRh9GI0YnRitGL0YzRjdGO0Y/RodGj0aXRp9Gp0avRrdGv0bHRs9G10bfR\ +udG70b3Rv9KB0ovSjdKP0pHSk9KV0pfSmdKb0p3Sn9Kh0qPSpdKn0qnSq9Kt0q/SsdKz0rXSt9K50r\ +vSvdK/04LThNOG04jTitOM047TkdOT05XTl9OZ05vTndOf06HTo9Ol06fTqdOr063Tr9Ox07PTtdO3\ +07nTu9O907/UgdSD1IXUh9SJ1IvUjdSP1JHUk9SV1JfUmdSb1J3Un9Sh1KPUpdSn1KnUq9St1K/Vod\ +Wi1aPVpNWl1abVp9Wo1anVqtWr1azVrdWu1a/VsNWx1bLVs9W01bXVttW31bjVudW61bvVvNW91b7V\ +v9aA1oHWgtaD1oTWhdaG1aXWgtin2bTZiNm024fZtNmK2bTgpJXgpLzgpJbgpLzgpJfgpLzgpJzgpL\ +zgpKHgpLzgpKLgpLzgpKvgpLzgpK/gpLzgpqHgprzgpqLgprzgpq/gprzgqLLgqLzgqLjgqLzgqJbg\ +qLzgqJfgqLzgqJzgqLzgqKvgqLzgrKHgrLzgrKLgrLzguY3guLLgu43gurLguqvgupnguqvguqHgvI\ +vgvYLgvrfgvYzgvrfgvZHgvrfgvZbgvrfgvZvgvrfgvYDgvrXgvbHgvbLgvbHgvbTgvrLgvoDgvrLg\ +vbHgvoDgvrPgvoDgvrPgvbHgvoDgvbHgvoDgvpLgvrfgvpzgvrfgvqHgvrfgvqbgvrfgvqvgvrfgvp\ +DgvrXitKfitK3hg5zhj7Dhj7Hhj7Lhj7Phj7Thj7XqmYvhg5Dhg5Hhg5Lhg5Phg5Thg5Xhg5bhg5fh\ +g5jhg5nhg5rhg5vhg53hg57hg5/hg6Dhg6Hhg6Lhg6Phg6Thg6Xhg6bhg6fhg6jhg6nhg6rhg6vhg6\ +zhg63hg67hg6/hg7Dhg7Hhg7Lhg7Phg7Thg7Xhg7bhg7fhg7jhg7nhg7rhg73hg77hg7/JkMmR4bSC\ +yZzhtJbhtJfhtJ3htKXJksmVyZ/JocmlyarhtbvKncmt4baFyp/JscmwybPJtMm4yoLGq+G0nMqQyp\ +HhuIHhuIPhuIXhuIfhuInhuIvhuI3huI/huJHhuJPhuJXhuJfhuJnhuJvhuJ3huJ/huKHhuKPhuKXh\ +uKfhuKnhuKvhuK3huK/huLHhuLPhuLXhuLfhuLnhuLvhuL3huL/huYHhuYPhuYXhuYfhuYnhuYvhuY\ +3huY/huZHhuZPhuZXhuZfhuZnhuZvhuZ3huZ/huaHhuaPhuaXhuafhuanhuavhua3hua/hubHhubPh\ +ubXhubfhubnhubvhub3hub/huoHhuoPhuoXhuofhuonhuovhuo3huo/hupHhupPhupVhyr7huqHhuq\ +PhuqXhuqfhuqnhuqvhuq3huq/hurHhurPhurXhurfhurnhurvhur3hur/hu4Hhu4Phu4Xhu4fhu4nh\ +u4vhu43hu4/hu5Hhu5Phu5Xhu5fhu5nhu5vhu53hu5/hu6Hhu6Phu6Xhu6fhu6nhu6vhu63hu6/hu7\ +Hhu7Phu7Xhu7fhu7nhu7vhu73hu7/hvIDhvIHhvILhvIPhvIThvIXhvIbhvIfhvJDhvJHhvJLhvJPh\ +vJThvJXhvKDhvKHhvKLhvKPhvKThvKXhvKbhvKfhvLDhvLHhvLLhvLPhvLThvLXhvLbhvLfhvYDhvY\ +HhvYLhvYPhvYThvYXhvZHhvZPhvZXhvZfhvaDhvaHhvaLhvaPhvaThvaXhvabhvafhvIDOueG8gc65\ +4byCzrnhvIPOueG8hM654byFzrnhvIbOueG8h8654bygzrnhvKHOueG8os654byjzrnhvKTOueG8pc\ +654bymzrnhvKfOueG9oM654b2hzrnhvaLOueG9o8654b2kzrnhvaXOueG9ps654b2nzrnhvbDOuc6x\ +zrnOrM654b62zrnhvrDhvrHhvbAgzJMgzYIgzIjNguG9tM65zrfOuc6uzrnhv4bOueG9suG9tCDMk8\ +yAIMyTzIEgzJPNgs6Q4b+Q4b+R4b22IMyUzIAgzJTMgSDMlM2CzrDhv6Dhv6Hhvbrhv6UgzIjMgGDh\ +vbzOuc+JzrnPjs654b+2zrnhvbjhvbwgzJTigJAgzLPigLLigLLigLLigLLigLLigLXigLXigLXigL\ +XigLUhISDMhT8/PyEhP+KAsuKAsuKAsuKAsjA0NTY3ODkr4oiSPSgpcnNhL2NhL3PCsGNjL29jL3XC\ +sGZub3NtdGVsdG3XkNeR15LXk2ZheOKIkTHigYQ3MeKBhDkx4oGEMTAx4oGEMzLigYQzMeKBhDUy4o\ +GENTPigYQ1NOKBhDUx4oGENjXigYQ2MeKBhDgz4oGEODXigYQ4N+KBhDgx4oGEaWlpaWlpdnZpdmlp\ +dmlpaWl4eGl4aWkw4oGEM+KIq+KIq+KIq+KIq+KIq+KIruKIruKIruKIruKIruOAiOOAiTEwMTExMj\ +EzMTQxNTE2MTcxODE5MjAoMSkoMikoMykoNCkoNSkoNikoNykoOCkoOSkoMTApKDExKSgxMikoMTMp\ +KDE0KSgxNSkoMTYpKDE3KSgxOCkoMTkpKDIwKShhKShiKShjKShkKShlKShmKShnKShoKShpKShqKS\ +hrKShsKShtKShuKShvKShwKShxKShyKShzKSh0KSh1KSh2KSh3KSh4KSh5KSh6KeKIq+KIq+KIq+KI\ +qzo6PT09PT094qudzLjisLDisLHisLLisLPisLTisLXisLbisLfisLjisLnisLrisLvisLzisL3isL\ +7isL/isYDisYHisYLisYPisYTisYXisYbisYfisYjisYnisYrisYvisYzisY3isY7isY/isZDisZHi\ +sZLisZPisZTisZXisZbisZfisZjisZnisZrisZvisZzisZ3isZ7isaHJq+G1vcm94rGo4rGq4rGs4r\ +Gz4rG2yL/JgOKygeKyg+KyheKyh+KyieKyi+KyjeKyj+KykeKyk+KyleKyl+KymeKym+KyneKyn+Ky\ +oeKyo+KypeKyp+KyqeKyq+KyreKyr+KyseKys+KyteKyt+KyueKyu+KyveKyv+KzgeKzg+KzheKzh+\ +KzieKzi+KzjeKzj+KzkeKzk+KzleKzl+KzmeKzm+KzneKzn+KzoeKzo+KzrOKzruKzs+K1oeavjem+\ +n+S4gOS4qOS4tuS4v+S5meS6heS6jOS6oOS6uuWEv+WFpeWFq+WGguWGluWGq+WHoOWHteWIgOWKm+\ +WLueWMleWMmuWMuOWNgeWNnOWNqeWOguWOtuWPiOWPo+Wbl+Wcn+Wjq+WkguWkiuWkleWkp+Wls+Wt\ +kOWugOWvuOWwj+WwouWwuOWxruWxseW3m+W3peW3seW3vuW5suW5uuW5v+W7tOW7vuW8i+W8k+W9kO\ +W9oeW9s+W/g+aIiOaItuaJi+aUr+aUtOaWh+aWl+aWpOaWueaXoOaXpeabsOaciOacqOasoOatouat\ +ueaus+avi+avlOavm+awj+awlOawtOeBq+eIqueItueIu+eIv+eJh+eJmeeJm+eKrOeOhOeOieeTnO\ +eTpueUmOeUn+eUqOeUsOeWi+eWkueZtueZveearueav+ebruefm+efouefs+ekuuemuOemvueptOer\ +i+erueexs+ezuOe8tue9kee+iue+veiAgeiAjOiAkuiAs+iBv+iCieiHo+iHquiHs+iHvOiIjOiIm+\ +iIn+iJruiJsuiJuOiZjeiZq+ihgOihjOiho+ilvuimi+inkuiogOiwt+ixhuixleixuOiynei1pOi1\ +sOi2s+i6q+i7iui+m+i+sOi+temCkemFiemHhumHjOmHkemVt+mWgOmYnOmatumauembqOmdkemdnu\ +mdoumdqemfi+mfremfs+mggemiqOmjm+mjn+mmlummmemmrOmqqOmrmOmrn+mspemsr+mssumsvOmt\ +mumzpem5tem5v+m6pem6u+m7g+m7jem7kem7uem7vem8jum8k+m8oOm8u+m9ium9kum+jem+nOm+oC\ +7jgJLljYTljYUg44KZIOOCmuOCiOOCiuOCs+ODiOGEgOGEgeGGquGEguGGrOGGreGEg+GEhOGEheGG\ +sOGGseGGsuGGs+GGtOGGteGEmuGEhuGEh+GEiOGEoeGEieGEiuGEi+GEjOGEjeGEjuGEj+GEkOGEke\ +GEkuGFoeGFouGFo+GFpOGFpeGFpuGFp+GFqOGFqeGFquGFq+GFrOGFreGFruGFr+GFsOGFseGFsuGF\ +s+GFtOGFteGElOGEleGHh+GHiOGHjOGHjuGHk+GHl+GHmeGEnOGHneGHn+GEneGEnuGEoOGEouGEo+\ +GEp+GEqeGEq+GErOGEreGEruGEr+GEsuGEtuGFgOGFh+GFjOGHseGHsuGFl+GFmOGFmeGGhOGGheGG\ +iOGGkeGGkuGGlOGGnuGGoeS4ieWbm+S4iuS4reS4i+eUsuS4meS4geWkqeWcsCjhhIApKOGEgiko4Y\ +SDKSjhhIUpKOGEhiko4YSHKSjhhIkpKOGEiyko4YSMKSjhhI4pKOGEjyko4YSQKSjhhJEpKOGEkiko\ +6rCAKSjrgpgpKOuLpCko6528KSjrp4gpKOuwlCko7IKsKSjslYQpKOyekCko7LCoKSjsubQpKO2DgC\ +ko7YyMKSjtlZgpKOyjvCko7Jik7KCEKSjsmKTtm4QpKOS4gCko5LqMKSjkuIkpKOWbmyko5LqUKSjl\ +ha0pKOS4gyko5YWrKSjkuZ0pKOWNgSko5pyIKSjngaspKOawtCko5pyoKSjph5EpKOWcnyko5pelKS\ +jmoKopKOaciSko56S+KSjlkI0pKOeJuSko6LKhKSjnpZ0pKOWKtCko5LujKSjlkbwpKOWtpiko55uj\ +KSjkvIEpKOizhyko5Y2UKSjnpa0pKOS8kSko6IeqKSjoh7Mp5ZWP5bm8566PcHRlMjEyMjIzMjQyNT\ +I2MjcyODI5MzAzMTMyMzMzNDM16rCA64KY64uk652866eI67CU7IKs7JWE7J6Q7LCo7Lm07YOA7YyM\ +7ZWY7LC46rOg7KO87J2Y7Jqw5LqU5YWt5LiD5Lmd5qCq5pyJ56S+5ZCN54m56LKh56Wd5Yq056eY55\ +S36YGp5YSq5Y2w5rOo6aCF5LyR5YaZ5q2j5bem5Y+z5Yy75a6X5a2m55uj5LyB6LOH5Y2U5aScMzYz\ +NzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwMeaciDLmnIgz5pyINOaciDXmnIg25pyIN+aciDjmnI\ +g55pyIMTDmnIgxMeaciDEy5pyIaGdlcmdldmx0ZOOCouOCpOOCpuOCqOOCquOCq+OCreOCr+OCseOC\ +s+OCteOCt+OCueOCu+OCveOCv+ODgeODhOODhuODiOODiuODi+ODjOODjeODjuODj+ODkuODleODmO\ +ODm+ODnuODn+ODoOODoeODouODpOODpuODqOODqeODquODq+ODrOODreODr+ODsOODseODsuS7pOWS\ +jOOCouODkeODvOODiOOCouODq+ODleOCoeOCouODs+ODmuOCouOCouODvOODq+OCpOODi+ODs+OCsO\ +OCpOODs+ODgeOCpuOCqeODs+OCqOOCueOCr+ODvOODieOCqOODvOOCq+ODvOOCquODs+OCueOCquOD\ +vOODoOOCq+OCpOODquOCq+ODqeODg+ODiOOCq+ODreODquODvOOCrOODreODs+OCrOODs+ODnuOCru\ +OCrOOCruODi+ODvOOCreODpeODquODvOOCruODq+ODgOODvOOCreODreOCreODreOCsOODqeODoOOC\ +reODreODoeODvOODiOODq+OCreODreODr+ODg+ODiOOCsOODqeODoOOCsOODqeODoOODiOODs+OCr+\ +ODq+OCvOOCpOODreOCr+ODreODvOODjeOCseODvOOCueOCs+ODq+ODiuOCs+ODvOODneOCteOCpOOC\ +r+ODq+OCteODs+ODgeODvOODoOOCt+ODquODs+OCsOOCu+ODs+ODgeOCu+ODs+ODiOODgOODvOOCue\ +ODh+OCt+ODieODq+ODiOODs+ODiuODjuODjuODg+ODiOODj+OCpOODhOODkeODvOOCu+ODs+ODiOOD\ +keODvOODhOODkOODvOODrOODq+ODlOOCouOCueODiOODq+ODlOOCr+ODq+ODlOOCs+ODk+ODq+ODle\ +OCoeODqeODg+ODieODleOCo+ODvOODiOODluODg+OCt+OCp+ODq+ODleODqeODs+ODmOOCr+OCv+OD\ +vOODq+ODmuOCveODmuODi+ODkuODmOODq+ODhOODmuODs+OCueODmuODvOOCuOODmeODvOOCv+ODne\ +OCpOODs+ODiOODnOODq+ODiOODm+ODs+ODneODs+ODieODm+ODvOODq+ODm+ODvOODs+ODnuOCpOOC\ +r+ODreODnuOCpOODq+ODnuODg+ODj+ODnuODq+OCr+ODnuODs+OCt+ODp+ODs+ODn+OCr+ODreODs+\ +ODn+ODquODn+ODquODkOODvOODq+ODoeOCrOODoeOCrOODiOODs+ODoeODvOODiOODq+ODpOODvOOD\ +ieODpOODvOODq+ODpuOCouODs+ODquODg+ODiOODq+ODquODqeODq+ODlOODvOODq+ODvOODluODq+\ +ODrOODoOODrOODs+ODiOOCsuODs+ODr+ODg+ODiDDngrkx54K5MueCuTPngrk054K5NeeCuTbngrk3\ +54K5OOeCuTnngrkxMOeCuTEx54K5MTLngrkxM+eCuTE054K5MTXngrkxNueCuTE354K5MTjngrkxOe\ +eCuTIw54K5MjHngrkyMueCuTIz54K5MjTngrlocGFkYWF1YmFyb3ZwY2RtZG0yZG0zaXXlubPmiJDm\ +mK3lkozlpKfmraPmmI7msrvmoKrlvI/kvJrnpL5wYW5hzrxhbWFrYWtibWJnYmNhbGtjYWxwZm5mzr\ +xmzrxnbWdrZ2h6a2h6bWh6Z2h6dGh6zrxsbWxkbGtsZm1ubc68bW1tY21rbW1tMmNtMm0ya20ybW0z\ +Y20zbTNrbTNt4oiVc23iiJVzMmtwYW1wYWdwYXJhZHJhZOKIlXNyYWTiiJVzMnBzbnPOvHNtc3B2bn\ +bOvHZtdmt2cHdud868d213a3drz4ltz4licWNjY2Rj4oiVa2dkYmd5aGFocGlua2trdGxtbG5sb2ds\ +eG1pbG1vbHBocHBtcHJzcnN2d2J24oiVbWHiiJVtMeaXpTLml6Uz5pelNOaXpTXml6U25pelN+aXpT\ +jml6U55pelMTDml6UxMeaXpTEy5pelMTPml6UxNOaXpTE15pelMTbml6UxN+aXpTE45pelMTnml6Uy\ +MOaXpTIx5pelMjLml6UyM+aXpTI05pelMjXml6UyNuaXpTI35pelMjjml6UyOeaXpTMw5pelMzHml6\ +VnYWzqmYHqmYPqmYXqmYfqmYnqmY3qmY/qmZHqmZPqmZXqmZfqmZnqmZvqmZ3qmZ/qmaHqmaPqmaXq\ +mafqmanqmavqma3qmoHqmoPqmoXqmofqmonqmovqmo3qmo/qmpHqmpPqmpXqmpfqmpnqmpvqnKPqnK\ +XqnKfqnKnqnKvqnK3qnK/qnLPqnLXqnLfqnLnqnLvqnL3qnL/qnYHqnYPqnYXqnYfqnYnqnYvqnY3q\ +nY/qnZHqnZPqnZXqnZfqnZnqnZvqnZ3qnZ/qnaHqnaPqnaXqnafqnanqnavqna3qna/qnbrqnbzhtb\ +nqnb/qnoHqnoPqnoXqnofqnozqnpHqnpPqnpfqnpnqnpvqnp3qnp/qnqHqnqPqnqXqnqfqnqnJrMqe\ +yofqrZPqnrXqnrfqnrnqnrvqnr3qnr/qn4PqnpThto7qn4jqn4rqn7bqrLfqrZLKjeGOoOGOoeGOou\ +GOo+GOpOGOpeGOpuGOp+GOqOGOqeGOquGOq+GOrOGOreGOruGOr+GOsOGOseGOsuGOs+GOtOGOteGO\ +tuGOt+GOuOGOueGOuuGOu+GOvOGOveGOvuGOv+GPgOGPgeGPguGPg+GPhOGPheGPhuGPh+GPiOGPie\ +GPiuGPi+GPjOGPjeGPjuGPj+GPkOGPkeGPkuGPk+GPlOGPleGPluGPl+GPmOGPmeGPmuGPm+GPnOGP\ +neGPnuGPn+GPoOGPoeGPouGPo+GPpOGPpeGPpuGPp+GPqOGPqeGPquGPq+GPrOGPreGPruGPr+ixiO\ +abtOiziOa7keS4suWPpeWlkeWWh+WliOaHtueZqee+heiYv+ieuuijuOmCj+aogua0m+eDmeePnuiQ\ +vemFqumnseS6guWNteashOeIm+iYrem4nuW1kOa/q+iXjeilpOaLieiHmOign+W7iuacl+a1queLvO\ +mDjuS+huWGt+WLnuaThOark+eIkOebp+iYhuiZnOi3r+mcsumtr+m3uueijOelv+e2oOiPiemMhOir\ +luWjn+W8hOexoOiBvueJouejiuizgumbt+WjmOWxouaok+a3mua8j+e0r+e4t+mZi+WLkuiCi+WHnO\ +WHjOeonOe2vuiPsemZteiugOaLj+irvuS4ueWvp+aAkueOh+eVsOWMl+eju+S+v+W+qeS4jeazjOaV\ +uOe0ouWPg+WhnuecgeiRieiqquauuuayiOaLvuiLpeaOoOeVpeS6ruWFqeWHieaigeezp+iJr+irku\ +mHj+WLteWRguW7rOaXhea/vuekqumWrempqum6l+m7juabhuatt+i9ouW5tOaGkOaIgOaSmua8o+eF\ +ieeSieeniue3tOiBr+i8puiTrumAo+mNiuWIl+WKo+WSveeDiOijguW7ieW/teaNu+auruewvueNte\ +S7pOWbueW2uuaAnOeOsueRqee+muiBhumItOmbtumdiOmgmOS+i+emrumGtOmauOaDoeS6huWDmuWv\ +ruWwv+aWmeeHjueZguiTvOmBvOaaiOmYruWKieadu+afs+a1gea6nOeQieeVmeehq+e0kOmhnuaIru\ +mZuOWAq+W0mea3qui8quW+i+aFhOagl+mahuWIqeWQj+WxpeaYk+adjuaiqOazpeeQhueXoue9ueij\ +j+ijoembouWMv+a6uuWQneeHkOeSmOiXuumao+mxl+m6n+ael+a3i+iHqOesoOeykueLgOeCmeitmO\ +S7gOiMtuWIuuWIh+W6puaLk+ezluWuhea0nuaatOi8u+mZjeW7k+WFgOWXgOWhmuaZtOWHnueMqueb\ +iuekvOelnuelpeemj+mdlueyvuiYkuiruOmAuOmDvemjr+mjvOmkqOm2tOmDnumat+S+ruWDp+WFje\ +WLieWLpOWNkeWWneWYhuWZqOWhgOWiqOWxpOaClOaFqOaGjuaHsuaVj+aXouaakeaihea1t+a4mua8\ +oueFrueIq+eQoueikeelieeliOelkOelluemjeemjuepgOeqgeevgOe4iee5gee9suiAheiHreiJue\ +iRl+ikkOimluisgeisueizk+i0iOi+tumbo+mfv+mgu+aBtfCki67oiJjkuKblhrXlhajkvoDlhYXl\ +hoDli4fli7rllZXllpnll6LlorPlpYTlpZTlqaLlrKjlu5Llu5nlvanlvq3mg5jmhY7mhIjmhaDmiL\ +Tmj4TmkJzmkZLmlZbmnJvmnZbmu5vmu4vngJ7nnqfniLXniq/nkbHnlIbnlLvnmJ3nmJ/nm5vnm7Tn\ +nYrnnYDno4znqrHnsbvntZvnvL7ojZLoj6/onbnopYHopoboqr/oq4voq63ororovLjpgbLphpnpib\ +bpmbzpn5vpoIvprJLwoqGK8KKhhPCjj5Xjrp3kgJjkgLnwpYmJ8KWzkPCnu5PpvYPpvo5mZmZpZmxm\ +ZmlmZmxzdNW01bbVtNWl1bTVq9W+1bbVtNWt15nWtNey1rfXoteU15vXnNed16jXqtep14HXqdeC16\ +nWvNeB16nWvNeC15DWt9eQ1rjXkNa815HWvNeS1rzXk9a815TWvNeV1rzXlta815jWvNeZ1rzXmta8\ +15vWvNec1rzXnta816DWvNeh1rzXo9a816TWvNem1rzXp9a816jWvNep1rzXqta815XWudeR1r/Xm9\ +a/16TWv9eQ15zZsdm72b7agNm62b/Zudqk2qbahNqD2obah9qN2ozajtqI2pjakdqp2q/as9qx2rra\ +u9uA24HavtuS25ParduH24bbiNuL24XbiduQ2YnYptin2Kbbldim2YjYptuH2Kbbhtim24jYptuQ2K\ +bZiduM2KbYrNim2K3YptmF2KbZitio2KzYqNit2KjYrtio2YXYqNmJ2KjZitiq2KzYqtit2KrYrtiq\ +2YXYqtmJ2KrZitir2KzYq9mF2KvZidir2YrYrNit2KzZhdit2KzYrdmF2K7YrNiu2K3YrtmF2LPYrN\ +iz2K3Ys9iu2LPZhdi12K3YtdmF2LbYrNi22K3Yttiu2LbZhdi32K3Yt9mF2LjZhdi52KzYudmF2LrY\ +rNi62YXZgdis2YHYrdmB2K7ZgdmF2YHZidmB2YrZgtit2YLZhdmC2YnZgtmK2YPYp9mD2KzZg9it2Y\ +PYrtmD2YTZg9mF2YPZidmD2YrZhNis2YTYrdmE2K7ZhNmF2YTZidmE2YrZhdis2YXYrdmF2K7ZhdmF\ +2YXZidmF2YrZhtis2YbYrdmG2K7ZhtmF2YbZidmG2YrZh9is2YfZhdmH2YnZh9mK2YrYrNmK2K3Zit\ +iu2YrZhdmK2YnZitmK2LDZsNix2bDZidmwINmM2ZEg2Y3ZkSDZjtmRINmP2ZEg2ZDZkSDZkdmw2KbY\ +sdim2LLYptmG2KjYsdio2LLYqNmG2KrYsdiq2LLYqtmG2KvYsdir2LLYq9mG2YXYp9mG2LHZhtiy2Y\ +bZhtmK2LHZitiy2YrZhtim2K7YptmH2KjZh9iq2YfYtdiu2YTZh9mG2YfZh9mw2YrZh9ir2YfYs9mH\ +2LTZhdi02YfZgNmO2ZHZgNmP2ZHZgNmQ2ZHYt9mJ2LfZiti52YnYudmK2LrZidi62YrYs9mJ2LPZit\ +i02YnYtNmK2K3Zidit2YrYrNmJ2KzZitiu2YnYrtmK2LXZidi12YrYttmJ2LbZiti02KzYtNit2LTY\ +rti02LHYs9ix2LXYsdi22LHYp9mL2KrYrNmF2KrYrdis2KrYrdmF2KrYrtmF2KrZhdis2KrZhdit2K\ +rZhdiu2KzZhdit2K3ZhdmK2K3ZhdmJ2LPYrdis2LPYrNit2LPYrNmJ2LPZhdit2LPZhdis2LPZhdmF\ +2LXYrdit2LXZhdmF2LTYrdmF2LTYrNmK2LTZhdiu2LTZhdmF2LbYrdmJ2LbYrtmF2LfZhdit2LfZhd\ +mF2LfZhdmK2LnYrNmF2LnZhdmF2LnZhdmJ2LrZhdmF2LrZhdmK2LrZhdmJ2YHYrtmF2YLZhdit2YLZ\ +hdmF2YTYrdmF2YTYrdmK2YTYrdmJ2YTYrNis2YTYrtmF2YTZhdit2YXYrdis2YXYrdmF2YXYrdmK2Y\ +XYrNit2YXYrNmF2YXYrtis2YXYrtmF2YXYrNiu2YfZhdis2YfZhdmF2YbYrdmF2YbYrdmJ2YbYrNmF\ +2YbYrNmJ2YbZhdmK2YbZhdmJ2YrZhdmF2KjYrtmK2KrYrNmK2KrYrNmJ2KrYrtmK2KrYrtmJ2KrZhd\ +mK2KrZhdmJ2KzZhdmK2KzYrdmJ2KzZhdmJ2LPYrtmJ2LXYrdmK2LTYrdmK2LbYrdmK2YTYrNmK2YTZ\ +hdmK2YrYrdmK2YrYrNmK2YrZhdmK2YXZhdmK2YLZhdmK2YbYrdmK2LnZhdmK2YPZhdmK2YbYrNit2Y\ +XYrtmK2YTYrNmF2YPZhdmF2KzYrdmK2K3YrNmK2YXYrNmK2YHZhdmK2KjYrdmK2LPYrtmK2YbYrNmK\ +2LXZhNuS2YLZhNuS2KfZhNmE2YfYp9mD2KjYsdmF2K3Zhdiv2LXZhNi52YXYsdiz2YjZhNi52YTZit\ +mH2YjYs9mE2YXYtdmE2YnYtdmE2Ykg2KfZhNmE2Ycg2LnZhNmK2Ycg2YjYs9mE2YXYrNmEINis2YTY\ +p9mE2YfYsduM2KfZhCzjgIE6IT/jgJbjgJfigJTigJNfe33jgJTjgJXjgJDjgJHjgIrjgIvjgIzjgI\ +3jgI7jgI9bXSMmKi08PlwkJUAg2YvZgNmLINmMINmNINmO2YDZjiDZj9mA2Y8g2ZDZgNmQINmR2YDZ\ +kSDZktmA2ZLYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYud\ +i62YHZgtmD2YTZhdmG2YfZiNmK2YTYotmE2KPZhNil2YTYpyInL158fuKmheKmhuODu+OCoeOCo+OC\ +peOCp+OCqeODo+ODpeODp+ODg+ODvOODs+OCmeOCmsKiwqPCrMKmwqXigqnilILihpDihpHihpLihp\ +PilqDil4vwkJCo8JCQqfCQkKrwkJCr8JCQrPCQkK3wkJCu8JCQr/CQkLDwkJCx8JCQsvCQkLPwkJC0\ +8JCQtfCQkLbwkJC38JCQuPCQkLnwkJC68JCQu/CQkLzwkJC98JCQvvCQkL/wkJGA8JCRgfCQkYLwkJ\ +GD8JCRhPCQkYXwkJGG8JCRh/CQkYjwkJGJ8JCRivCQkYvwkJGM8JCRjfCQkY7wkJGP8JCTmPCQk5nw\ +kJOa8JCTm/CQk5zwkJOd8JCTnvCQk5/wkJOg8JCTofCQk6LwkJOj8JCTpPCQk6XwkJOm8JCTp/CQk6\ +jwkJOp8JCTqvCQk6vwkJOs8JCTrfCQk67wkJOv8JCTsPCQk7HwkJOy8JCTs/CQk7TwkJO18JCTtvCQ\ +k7fwkJO48JCTufCQk7rwkJO78JCzgPCQs4HwkLOC8JCzg/CQs4TwkLOF8JCzhvCQs4fwkLOI8JCzif\ +CQs4rwkLOL8JCzjPCQs43wkLOO8JCzj/CQs5DwkLOR8JCzkvCQs5PwkLOU8JCzlfCQs5bwkLOX8JCz\ +mPCQs5nwkLOa8JCzm/CQs5zwkLOd8JCznvCQs5/wkLOg8JCzofCQs6LwkLOj8JCzpPCQs6XwkLOm8J\ +Czp/CQs6jwkLOp8JCzqvCQs6vwkLOs8JCzrfCQs67wkLOv8JCzsPCQs7HwkLOy8JGjgPCRo4HwkaOC\ +8JGjg/CRo4TwkaOF8JGjhvCRo4fwkaOI8JGjifCRo4rwkaOL8JGjjPCRo43wkaOO8JGjj/CRo5Dwka\ +OR8JGjkvCRo5PwkaOU8JGjlfCRo5bwkaOX8JGjmPCRo5nwkaOa8JGjm/CRo5zwkaOd8JGjnvCRo5/w\ +lrmg8Ja5ofCWuaLwlrmj8Ja5pPCWuaXwlrmm8Ja5p/CWuajwlrmp8Ja5qvCWuavwlrms8Ja5rfCWua\ +7wlrmv8Ja5sPCWubHwlrmy8Ja5s/CWubTwlrm18Ja5tvCWubfwlrm48Ja5ufCWubrwlrm78Ja5vPCW\ +ub3wlrm+8Ja5v/CdhZfwnYWl8J2FmPCdhaXwnYWY8J2FpfCdha7wnYWY8J2FpfCdha/wnYWY8J2Fpf\ +CdhbDwnYWY8J2FpfCdhbHwnYWY8J2FpfCdhbLwnYa58J2FpfCdhrrwnYWl8J2GufCdhaXwnYWu8J2G\ +uvCdhaXwnYWu8J2GufCdhaXwnYWv8J2GuvCdhaXwnYWvxLHIt+KIh+KIgvCepKLwnqSj8J6kpPCepK\ +XwnqSm8J6kp/CepKjwnqSp8J6kqvCepKvwnqSs8J6krfCepK7wnqSv8J6ksPCepLHwnqSy8J6ks/Ce\ +pLTwnqS18J6ktvCepLfwnqS48J6kufCepLrwnqS78J6kvPCepL3wnqS+8J6kv/CepYDwnqWB8J6lgv\ +CepYPZrtqh2a8wLDEsMiwzLDQsNSw2LDcsOCw5LOOAlHPjgJV3emh2c2RwcHZ3Y21jbWRtcmRq44G7\ +44GL44Kz44Kz5a2X5Y+M44OH5aSa6Kej5Lqk5pig54Sh5YmN5b6M5YaN5paw5Yid57WC6LKp5aOw5Z\ +C55ryU5oqV5o2V6YGK5oyH5omT56aB56m65ZCI5rqA55Sz5Ymy5Za26YWN44CU5pys44CV44CU5LiJ\ +44CV44CU5LqM44CV44CU5a6J44CV44CU54K544CV44CU5omT44CV44CU55uX44CV44CU5Yud44CV44\ +CU5pWX44CV5b6X5Y+v5Li95Li45LmB8KCEouS9oOS+u+WAguWBuuWCmeWDj+OSnvCgmLrlhZTlhaTl\ +hbfwoJSc45K55YWn8KCVi+WGl+WGpOS7jOWGrPCph5/liIPjk5/liLvliYblibfjlJXljIXljIbljY\ +nljZrljbPljb3ljb/woKis54Gw5Y+K5Y+f8KCto+WPq+WPseWQhuWSnuWQuOWRiOWRqOWSouWTtuWU\ +kOWVk+WVo+WWhOWWq+WWs+WXguWcluWcl+WZkeWZtOWjruWfjuWftOWgjeWei+WgsuWgseWirPChk6\ +Tlo7Llo7flpIblpKLlpaLwoZqo8KGbquWnrOWom+Wop+WnmOWppuObruWsiOWsvvChp4jlr4Plr5jl\ +r7PwoayY5a+/5bCG456B5bGg5bOA5bKN8KG3pOW1g/Cht6blta7ltavltbzlt6Hlt6LjoK/lt73luK\ +jluL3luanjoaLwooaD46G85bqw5bqz5bq28KqOkvCijLHoiIHlvKLjo4fwo4q48KaHmuW9ouW9q+Oj\ +o+W+muW/jeW/l+W/ueaCgeOkuuOknPCim5Tmg4fmhYjmhYzmhbrmhrLmhqTmhq/mh57miJDmiJvmiZ\ +3mirHmi5TmjZDwoqyM5oy95ou85o2o5o6D5o+k8KKvseaQouaPheaOqeOoruaRqeaRvuaSneaRt+Op\ +rOaVrPCjgIrml6Pmm7jmmYnjrJnjrIjjq6TlhpLlhpXmnIDmmpzogq3kj5nmnKHmnZ7mnZPwo4+D46\ +2J5p+65p6F5qGS8KORreaijuagn+aklOalguamo+anquaqqPCjmqPmq5vjsJjmrKHwo6Kn5q2U47GO\ +5q2y5q6f5q678KOqjfChtIvwo6u65rGO8KOyvOayv+azjeaxp+a0lua0vua1qea1uOa2hfCjtJ7mtL\ +TmuK/mua7jtLPmu4fwo7uR5re55r2u8KO9nvCjvo7mv4bngLnngJvjtpbngYrngb3ngbfngq3woJSl\ +54WF8KSJo+eGnOeIqOeJkPCkmIjnioDnipXwpJy18KSglOeNuueOi+O6rOeOpeO6uOeRh+eRnOeShe\ +eTiuO8m+eUpPCksLbnlL7wpLKS8KKGn+eYkPCkvqHwpL648KWBhOO/vOSAiPClg7PwpYOy8KWEmfCl\ +hLPnnJ7nnJ/nnovkgYbkgpbwpZCd56GO5IOj8KWYpvClmprwpZuF56er5ISv56mK56mP8KWlvPClqq\ +fkiILwpa6r56+G56+J5Iin8KWygOezkuSKoOezqOezo+e0gPClvobntaPkjIHnt4fnuILnuYXkjLTw\ +poio8KaJh+SNmfCmi5nnvbrwpoy+576V57+68KaTmvCmlKPogaDwppao6IGw8KONn+SPleiCsuiEg+\ +SQi+iEvuWqtfCmnqfwpp618KOOk/CjjpzoiITovp7kkavoipHoiovoip3lirPoirHoirPoir3oi6bw\ +pqy86Iyd6I2j6I6t6Iyj6I696I+n6I2T6I+K6I+M6I+c8KawtvCmtavwprOV5JSr6JOx6JOz6JSW8K\ +ePiuiVpPCmvKzklZ3klaHwpr6x8KeDkuSVq+iZkOiZp+iZqeiaqeiaiOicjuibouicqOidq+iehuif\ +oeiggeSXueihoPCnmafoo5foo57kmLXoo7rjkrvwp6Ku8KelpuSavuSbh+iqoPCnsqjosqvos4HotJ\ +votbfwp7yv8KCghOi3i+i2vOi3sPCgo57ou5TwqJeS8KiXremClOmDsemEkfConK7phJvpiLjpi5fp\ +i5jpibzpj7npkJXwqK+66ZaL5KaV6Za38Ki1t+Snpumbg+W2sumco/CphYXwqYia5Kmu5Km26Z+g8K\ +mQiuSqsvCpkpbpoKnwqZa26aOi5Kyz6aSp6aan6aeC6ae+5K+O8KmssOmxgOmzveSzjuSzrem1p/Cq\ +g47ks7jwqoSF8KqIjvCqipHktZbpu77pvIXpvI/pvJbwqpiAeBkSAFwAAAA9AgAAHAAAAHgZEgBcAA\ +AARAIAADIAAAB4GRIAXAAAAF4CAAAcAAAAeBkSAFwAAABrAgAAMgAAAHgZEgBcAAAAAQMAABUAAABe\ +AQAADAAAAAQAAABXAgAAXgEAAAwAAAAEAAAAWAIAAFcCAACsyREA5AEAAFkCAABaAgAA5AEAAG4BAA\ +BeAQAADAAAAAQAAABfAQAAYAEAAFECAAAAAAAAAAAAAAEAAABiAQAAKiovKip+Ly5jYXJnby9yZWdp\ +c3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaWdub3JlLTAuNC4yMy9zcm\ +MvZ2l0aWdub3JlLnJzAAAVyhEAVQAAAP4AAAAxAAAAFcoRAFUAAAACAQAAIwAAAFwgXCFcIwAAFcoR\ +AFUAAADSAQAAHQAAABXKEQBVAAAA2QEAAB0AAAAVyhEAVQAAAM0BAAAZAAAAFcoRAFUAAADhAQAAGQ\ +AAAFwAAAAVyhEAVQAAAOUBAAAdAAAAEMoRAAMAAAAvKiovKgAAAAEAAAAAAAAA88oRAAIAAADTAQAA\ +DAAAAAQAAABfAQAAAAIAAGEBAAAAAAAAAAAAAAEAAABiAQAAAAAAAAEAAAABAAAAWwIAAAAAAAAAAA\ +AAAQAAAEUCAAAvcnVzdGMvZWViOTBjZGExOTY5MzgzZjU2YTI2MzdjYmQzMDM3YmRmNTk4ODQxYy9s\ +aWJyYXJ5L2FsbG9jL3NyYy9zbGljZS5ycwAArOMUAEwAAAD4BQAADQAAAEVtcHR5SG9zdElkbmFFcn\ +JvckludmFsaWRQb3J0SW52YWxpZElwdjRBZGRyZXNzSW52YWxpZElwdjZBZGRyZXNzSW52YWxpZERv\ +bWFpbkNoYXJhY3RlclJlbGF0aXZlVXJsV2l0aG91dEJhc2VSZWxhdGl2ZVVybFdpdGhDYW5ub3RCZU\ +FCYXNlQmFzZVNldEhvc3RPbkNhbm5vdEJlQUJhc2VVcmxPdmVyZmxvdwAAUMsRAEoAAABGAwAAIQAA\ +AGluZGV4IG5vdCBmb3VuZACwixIAVQAAADoAAAAKAAAAYXNzZXJ0aW9uIGZhaWxlZDogaW5kaWNlcy\ +5jYXBhY2l0eSgpIC0gaW5kaWNlcy5sZW4oKSA+PSBlbnRyaWVzLmxlbigpAAAAKIwSAFkAAAAOAAAA\ +BQAAAGltcG9ydHNzY29wZXMAAAABAAAAAAAAAOjpFAABAAAAanNyOmpzcjovAAAACM0RAAUAAADo6R\ +QAAQAAAG5wbTpucG06LwAAACTNEQAFAAAA6OkUAAEAAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5k\ +ZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaW1wb3J0X21hcC0wLjIwLjEvc3JjL2V4dC5ycw\ +A8zREAUwAAAIYAAAA2AAAALi8AAKDNEQACAAAA6OkUAAEAAAA8zREAUwAAAJcAAAA0AAAAoM0RAAIA\ +AAA8zREAUwAAAMQAAAA4AAAALi4vAPDmFAADAAAAAecUAAQAAADz5hQABAAAAPfmFAAFAAAA/OYUAA\ +IAAAD+5hQAAwAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJi\ +YTE1MDAxZi9pbXBvcnRfbWFwLTAuMjAuMS9zcmMvbGliLnJzABDOEQBTAAAAyAIAAAYAAABJbXBvcn\ +QgbWFwJ3MgJ3Njb3BlcycgbXVzdCBiZSBhbiBvYmplY3RJbXBvcnQgbWFwJ3MgJ2ltcG9ydHMnIG11\ +c3QgYmUgYW4gb2JqZWN0SW1wb3J0IG1hcCBKU09OIG11c3QgYmUgYW4gb2JqZWN0VGhlIHZhbHVlIG\ +ZvciB0aGUgIHNjb3BlIHByZWZpeCBtdXN0IGJlIGFuIG9iamVjdAAAAOTOEQASAAAA9s4RAB8AAAAQ\ +zhEAUwAAAFkDAAAYAAAAEM4RAFMAAACSAwAAGAAAABDOEQBTAAAA0QMAADMAAAA/AAAAIwAAABDOEQ\ +BTAAAA2AMAADwAAAAQzhEAUwAAANkDAAAVAAAAQmxvY2tlZCBieSBudWxsIGVudHJ5IGZvciAiAIDP\ +EQAbAAAA7JoSAAEAAABhc3NlcnRpb24gZmFpbGVkOiByZXNvbHV0aW9uX3Jlc3VsdC50b19zdHJpbm\ +coKS5lbmRzX3dpdGgoJy8nKQAAEM4RAFMAAAA7BAAABQAAABDOEQBTAAAAPQQAAC0AAABUaGUgc3Bl\ +Y2lmaWVyICIiIGJhY2t0cmFja3MgYWJvdmUgaXRzIHByZWZpeCAiAAAM0BEADwAAABvQEQAfAAAA7J\ +oSAAEAAABGYWlsZWQgdG8gcmVzb2x2ZSB0aGUgc3BlY2lmaWVyICIiIGFzIGl0cyBhZnRlci1wcmVm\ +aXgKICAgICAgICAgICAgcG9ydGlvbiAiIiBjb3VsZCBub3QgYmUgVVJMLXBhcnNlZCByZWxhdGl2ZS\ +B0byB0aGUgVVJMIHByZWZpeAogICAgICAgICAgICAiIiBtYXBwZWQgdG8gYnkgdGhlIHByZWZpeCAi\ +AAAAVNARACEAAAB10BEAKwAAAKDQEQBCAAAA4tARABsAAADsmhIAAQAAAGludmFsaWQgVVJMOiAAAA\ +Ao0READQAAAFJlbGF0aXZlIGltcG9ydCBwYXRoICIiIG5vdCBwcmVmaXhlZCB3aXRoIC8gb3IgLi8g\ +b3IgLi4vQNERABYAAABW0REAIgAAACIgbm90IHByZWZpeGVkIHdpdGggLyBvciAuLyBvciAuLi8gYW\ +5kIG5vdCBpbiBpbXBvcnQgbWFwQNERABYAAACI0REAOAAAACBmcm9tICIA0NERAAcAAADsmhIAAQAA\ +AGNsb3N1cmUgaW52b2tlZCByZWN1cnNpdmVseSBvciBhZnRlciBiZWluZyBkcm9wcGVkAABcAgAABA\ +AAAAQAAACNAAAAY291bGQgbm90IHBhcnNlIG51bWJlcn4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRl\ +eC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9qc29uYy1wYXJzZXItMC4yMy4wL3NyYy9hc3Qucn\ +MAQtIRAFUAAABIAAAAPgAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYx\ +N2QyMmJiYTE1MDAxZi9qc29uYy1wYXJzZXItMC4yMy4wL3NyYy9lcnJvcnMucnOo0hEAWAAAACsAAA\ +AVAAAAIG9uIGxpbmUgAAAAAQAAAAAAAAAQ0xEACQAAAI2ZEgAIAAAA6ugUAAEAAAB+Ly5jYXJnby9y\ +ZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvanNvbmMtcGFyc2VyLT\ +AuMjMuMC9zcmMvcGFyc2VfdG9fYXN0LnJzUmFuZ2Ugd2FzIHBvcHBlZCBmcm9tIHRoZSBzdGFjaywg\ +YnV0IHRoZSBzdGFjayB3YXMgZW1wdHkuADzTEQBeAAAAeQAAAAgAAABDb21tZW50cyBhcmUgbm90IG\ +FsbG93ZWRUZXh0IGNhbm5vdCBjb250YWluIG1vcmUgdGhhbiBvbmUgSlNPTiB2YWx1ZVVuZXhwZWN0\ +ZWQgY2xvc2UgYnJhY2VVbmV4cGVjdGVkIGNsb3NlIGJyYWNrZXRVbmV4cGVjdGVkIGNvbW1hVW5leH\ +BlY3RlZCBjb2xvblVuZXhwZWN0ZWQgd29yZAAAADzTEQBeAAAA+QAAACAAAAA80xEAXgAAAPoAAAAh\ +AAAAVW50ZXJtaW5hdGVkIG9iamVjdFRyYWlsaW5nIGNvbW1hcyBhcmUgbm90IGFsbG93ZWRVbmV4cG\ +VjdGVkIHRva2VuIGluIG9iamVjdEV4cGVjdGVkIHN0cmluZyBmb3Igb2JqZWN0IHByb3BlcnR5RXhw\ +ZWN0ZWQgdmFsdWUgYWZ0ZXIgY29sb24gaW4gb2JqZWN0IHByb3BlcnR5RXhwZWN0ZWQgYSBjb2xvbi\ +BhZnRlciB0aGUgc3RyaW5nIG9yIHdvcmQgaW4gYW4gb2JqZWN0IHByb3BlcnR5VW50ZXJtaW5hdGVk\ +IGFycmF5VW5leHBlY3RlZCB0b2tlbn4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW\ +8tNmYxN2QyMmJiYTE1MDAxZi9qc29uYy1wYXJzZXItMC4yMy4wL3NyYy9zY2FubmVyLnJzAACl1REA\ +WQAAAIQAAAArAAAASW52YWxpZCBlc2NhcGUgaW4gc2luZ2xlIHF1b3RlIHN0cmluZ0ludmFsaWQgZX\ +NjYXBlIGluIGRvdWJsZSBxdW90ZSBzdHJpbmcAAKXVEQBZAAAAqgAAADAAAABJbnZhbGlkIHVuaWNv\ +ZGUgZXNjYXBlIHNlcXVlbmNlLiAnJyBpcyBub3QgYSB2YWxpZCBVVEY4IGNoYXJhY3RlcgAAAGzWEQ\ +AiAAAAjtYRAB8AAABFeHBlY3RlZCBmb3VyIGhleCBkaWdpdHNJbnZhbGlkIGVzY2FwZVVudGVybWlu\ +YXRlZCBzdHJpbmcgbGl0ZXJhbAAAAKXVEQBZAAAA5QAAACoAAABFeHBlY3RlZCBhIGRpZ2l0IHRvIG\ +ZvbGxvdyBhIG5lZ2F0aXZlIHNpZ25FeHBlY3RlZCBhIGRpZ2l0RXhwZWN0ZWQgcGx1cywgbWludXMs\ +IG9yIGRpZ2l0IGluIG51bWJlciBsaXRlcmFsAACl1REAWQAAACgBAAAlAAAApdURAFkAAAA3AQAAJw\ +AAAFVudGVybWluYXRlZCBjb21tZW50IGJsb2NrAACl1REAWQAAAEwBAAAtAAAApdURAFkAAACLAQAA\ +IwAAAGEAAABmAAAAAAAAAEEAAABGAAAAAAAAADEAAAA5AAAAAAAAAPrnEQBiAAAATQAAAC4AAAB+Ly\ +5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbWVtY2hy\ +LTIuNy40L3NyYy9hcmNoL2FsbC90d293YXkucnMAABDYEQBaAAAAvwAAAC4AAAAQ2BEAWgAAAMcAAA\ +ApAAAAENgRAFoAAADMAAAANAAAABDYEQBaAAAA1AAAACQAAAAQ2BEAWgAAANQAAAAxAAAAENgRAFoA\ +AADXAAAAIgAAABDYEQBaAAAA1wAAADMAAAAQ2BEAWgAAAPEAAAAuAAAAENgRAFoAAAD4AAAAKQAAAB\ +DYEQBaAAAA/QAAADQAAAAQ2BEAWgAAAAQBAAAYAAAAENgRAFoAAAAEAQAAJQAAABDYEQBaAAAAwgEA\ +AB0AAAAQ2BEAWgAAAMMBAAAZAAAAENgRAFoAAAAKAgAAGwAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy\ +9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9tZW1jaHItMi43LjQvc3JjL2FyY2gvYWxs\ +L21vZC5ycwBc2REAVwAAACwAAAAeAAAAPHNlYXJjaGVyIGZ1bmN0aW9uPgDE2REAEwAAAGNhbGw8c2\ +VhcmNoZXIga2luZCB1bmlvbj4AAADk2REAFQAAAEZpbmRlcmhhc2hIYXNoVW5leHBlY3RlZCBjaGFy\ +YWN0ZXIuCiAgCiAgfgAAAQAAAAAAAAAn2hEAAwAAACraEQAEAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3\ +JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL21vbmNoLTAuNS4wL3NyYy9saWIucnMA\ +AABI2hEATQAAAHUAAAAiAAAASNoRAE0AAADhAQAAGAAAAEjaEQBNAAAA4QEAACcAAAAAAAAABAAAAA\ +QAAABAAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUw\ +MDFmL29uY2VfY2VsbC0xLjE5LjAvc3JjL2ltcF9zdGQucnMAANjaEQBWAAAAoQAAADYAAADY2hEAVg\ +AAAJsAAAAJAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJh\ +MTUwMDFmL3BlcmNlbnQtZW5jb2RpbmctMi4zLjEvc3JjL2xpYi5ycyUwMCUwMSUwMiUwMyUwNCUwNS\ +UwNiUwNyUwOCUwOSUwQSUwQiUwQyUwRCUwRSUwRiUxMCUxMSUxMiUxMyUxNCUxNSUxNiUxNyUxOCUx\ +OSUxQSUxQiUxQyUxRCUxRSUxRiUyMCUyMSUyMiUyMyUyNCUyNSUyNiUyNyUyOCUyOSUyQSUyQiUyQy\ +UyRCUyRSUyRiUzMCUzMSUzMiUzMyUzNCUzNSUzNiUzNyUzOCUzOSUzQSUzQiUzQyUzRCUzRSUzRiU0\ +MCU0MSU0MiU0MyU0NCU0NSU0NiU0NyU0OCU0OSU0QSU0QiU0QyU0RCU0RSU0RiU1MCU1MSU1MiU1My\ +U1NCU1NSU1NiU1NyU1OCU1OSU1QSU1QiU1QyU1RCU1RSU1RiU2MCU2MSU2MiU2MyU2NCU2NSU2NiU2\ +NyU2OCU2OSU2QSU2QiU2QyU2RCU2RSU2RiU3MCU3MSU3MiU3MyU3NCU3NSU3NiU3NyU3OCU3OSU3QS\ +U3QiU3QyU3RCU3RSU3RiU4MCU4MSU4MiU4MyU4NCU4NSU4NiU4NyU4OCU4OSU4QSU4QiU4QyU4RCU4\ +RSU4RiU5MCU5MSU5MiU5MyU5NCU5NSU5NiU5NyU5OCU5OSU5QSU5QiU5QyU5RCU5RSU5RiVBMCVBMS\ +VBMiVBMyVBNCVBNSVBNiVBNyVBOCVBOSVBQSVBQiVBQyVBRCVBRSVBRiVCMCVCMSVCMiVCMyVCNCVC\ +NSVCNiVCNyVCOCVCOSVCQSVCQiVCQyVCRCVCRSVCRiVDMCVDMSVDMiVDMyVDNCVDNSVDNiVDNyVDOC\ +VDOSVDQSVDQiVDQyVDRCVDRSVDRiVEMCVEMSVEMiVEMyVENCVENSVENiVENyVEOCVEOSVEQSVEQiVE\ +QyVERCVERSVERiVFMCVFMSVFMiVFMyVFNCVFNSVFNiVFNyVFOCVFOSVFQSVFQiVFQyVFRCVFRSVFRi\ +VGMCVGMSVGMiVGMyVGNCVGNSVGNiVGNyVGOCVGOSVGQSVGQiVGQyVGRCVGRSVGRlDbEQBYAAAAFAEA\ +AEcAAABQ2xEAWAAAAJ0BAAAwAAAAQWhvQ29yYXNpY2s6OnRyeV9maW5kIGlzIG5vdCBleHBlY3RlZC\ +B0byBmYWlsfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUw\ +MDFmL2Foby1jb3Jhc2ljay0xLjEuMy9zcmMvYWhvY29yYXNpY2sucnMAAAD13hEAXAAAAJYBAAAOAA\ +AAqQEAAGQBAAAEAAAAqgEAAKkBAABkAQAABAAAAKkBAABkAQAABAAAAKsBAABKAgAArQEAAIkBAACu\ +AQAArwEAALABAABLAgAATAIAALMBAAC0AQAAtQEAALYBAAC3AQAAuAEAALkBAAC6AQAAqgEAAGTfEQ\ +B03xEAdN8RAHTfEQB03xEAlwEAAEgBAAAEAAAAmAEAAJcBAABIAQAABAAAAJcBAABIAQAABAAAAJkB\ +AABNAgAAmwEAAIkBAACcAQAAnQEAAJ4BAABOAgAATwIAAKEBAACiAQAAowEAAKQBAAClAQAApgEAAK\ +cBAACoAQAAmAEAAOjfEQD43xEA+N8RAPjfEQD43xEAhQEAAFwBAAAEAAAAFQEAAIUBAABcAQAABAAA\ +AIUBAABcAQAABAAAAIYBAACHAQAAiAEAAIkBAACKAQAAiwEAAIwBAACNAQAAUAIAAI8BAACQAQAAkQ\ +EAAJIBAACTAQAAlAEAAJUBAACWAQAAFQEAAGzgEQB84BEAfOARAHzgEQB84BEAfi8uY2FyZ28vcmVn\ +aXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Foby1jb3Jhc2ljay0xLj\ +EuMy9zcmMvZGZhLnJzfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIy\ +YmJhMTUwMDFmL2Foby1jb3Jhc2ljay0xLjEuMy9zcmMvbmZhL2NvbnRpZ3VvdXMucnMAROERAF8AAA\ +BxAgAAFgAAAEThEQBfAAAAcwIAAA0AAABE4REAXwAAAHUCAAANAAAAROERAF8AAAApAgAACQAAAETh\ +EQBfAAAATwIAAA0AAABE4REAXwAAAEoCAAANAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4Lm\ +NyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Foby1jb3Jhc2ljay0xLjEuMy9zcmMvbmZhL25vbmNv\ +bnRpZ3VvdXMucnMAAATiEQBiAAAAIgEAACAAAAAE4hEAYgAAADIBAAAhAAAABOIRAGIAAABUAQAAHQ\ +AAAATiEQBiAAAAZgEAABcAAABleHBlY3RlZCBudW1iZXIgb2YgcGF0dGVybnMgdG8gbWF0Y2ggcGF0\ +dGVybiBJRACo4hEALwAAAATiEQBiAAAANAQAAA0AAAAE4hEAYgAAAFUEAAA5AAAAfi8uY2FyZ28vcm\ +VnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Foby1jb3Jhc2ljay0x\ +LjEuMy9zcmMvdXRpbC9zZWFyY2gucnNpbnZhbGlkIHNwYW4gIGZvciBoYXlzdGFjayBvZiBsZW5ndG\ +ggAAAAXOMRAA0AAABp4xEAGAAAAADjEQBcAAAATgEAAAkAAABpbnZhbGlkIG1hdGNoIHNwYW4AAKTj\ +EQASAAAAAOMRAFwAAABbAwAACQAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW\ +8tNmYxN2QyMmJiYTE1MDAxZi9haG8tY29yYXNpY2stMS4xLjMvc3JjL3BhY2tlZC9hcGkucnMA0OMR\ +AFsAAAAZAgAAHAAAANDjEQBbAAAAHwIAADEAAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3\ +JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvYWhvLWNvcmFzaWNrLTEuMS4zL3NyYy9wYWNrZWQvdGVk\ +ZHkvYnVpbGRlci5ycwAAAEzkEQBlAAAAZAEAABkAAABhc3NlcnRpb24gZmFpbGVkOiBoYXlzdGFja1\ +thdC4uXS5sZW4oKSA+PSBzZWxmLm1pbmltdW1fbGVuAABM5BEAZQAAAGQBAAAJAAAAAAAAAAQAAAAE\ +AAAAXQIAAAAAAAAIAAAABAAAAIIBAABSAgAABAAAAAQAAABTAgAAXgIAABAAAAAIAAAAXwIAAAAAAA\ +AAAAAAAQAAAGACAAAAAAAACAAAAAgAAACDAQAAAAAAAAgAAAAIAAAAgAEAAAAAAAAIAAAABAAAAGEC\ +AABiAgAABAAAAAQAAABjAgAAAAAAAAAAAAABAAAAgQEAAAAAAAAAAAAAAQAAAGQCAAAAAAAACAAAAA\ +gAAABlAgAAAAAAAAQAAAAEAAAAZgIAAAAAAAAAAAAAAQAAAGcCAAAvcnVzdGMvZWViOTBjZGExOTY5\ +MzgzZjU2YTI2MzdjYmQzMDM3YmRmNTk4ODQxYy9saWJyYXJ5L2FsbG9jL3NyYy9zeW5jLnJzAAAA8O\ +URAEkAAAC6BwAAKQAAAHBhdHRlcm4AAAAAAAQAAAAEAAAAPAAAAAAAAAAEAAAABAAAAFgAAAAAAAAA\ +BAAAAAQAAABAAAAAAAAAAAQAAAAEAAAAOgAAAFByb3BlcnRpZXMAAAAAAAAIAAAABAAAAC0BAAAAAA\ +AABAAAAAQAAABoAgAAAAAAAAEAAAABAAAAVgAAAG1pbmltdW1fbGVubWF4aW11bV9sZW5sb29rX3Nl\ +dGxvb2tfc2V0X3ByZWZpeGxvb2tfc2V0X3N1ZmZpeGxvb2tfc2V0X3ByZWZpeF9hbnlsb29rX3NldF\ +9zdWZmaXhfYW55dXRmOGV4cGxpY2l0X2NhcHR1cmVzX2xlbnN0YXRpY19leHBsaWNpdF9jYXB0dXJl\ +c19sZW5saXRlcmFsYWx0ZXJuYXRpb25fbGl0ZXJhbAAAANDmEQALAAAA2+YRAAsAAADm5hEACAAAAO\ +7mEQAPAAAA/eYRAA8AAAAM5xEAEwAAAB/nEQATAAAAMucRAAQAAAA25xEAFQAAAEvnEQAcAAAAZ+cR\ +AAcAAABu5xEAEwAAAFByb3BlcnRpZXNJTGF5b3V0RXJyb3J+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW\ +5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvbWVtY2hyLTIuNy40L3NyYy9hcmNoL2FsbC9w\ +YWNrZWRwYWlyL21vZC5yc/rnEQBiAAAAwwAAAAkAAAD65xEAYgAAALwAAAAqAAAA+ucRAGIAAAC5AA\ +AAKgAAAPrnEQBiAAAAOgAAABUAAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlv\ +LTZmMTdkMjJiYmExNTAwMWYvbWVtY2hyLTIuNy40L3NyYy9tZW1tZW0vc2VhcmNoZXIucnMAAJzoEQ\ +BaAAAAdAIAABsAAABTZWFyY2hlcnBhdHRlcm5zcmFiaW5rYXJwc2VhcmNoX2tpbmRUZWRkeVJhYmlu\ +S2FycE1hdGNoRXJyb3JTdGFuZGFyZExlZnRtb3N0Rmlyc3RMZWZ0bW9zdExvbmdlc3Tw4BEAVAAAAO\ +EAAAATAAAA8OARAFQAAAAFAQAAGgAAAPDgEQBUAAAAHQEAABUAAADw4BEAVAAAAB0BAAAdAAAA8OAR\ +AFQAAAAWAQAAFQAAAEludmFsaWRJbnB1dEFuY2hvcmVkSW52YWxpZElucHV0VW5hbmNob3JlZFVuc3\ +VwcG9ydGVkU3RyZWFtZ290VW5zdXBwb3J0ZWRPdmVybGFwcGluZ1Vuc3VwcG9ydGVkRW1wdHlidWNr\ +ZXRzaGFzaF9sZW5oYXNoXzJwb3dE4REAXwAAAMUAAAAcAAAAROERAF8AAADdAAAAGQAAAEThEQBfAA\ +AA3QAAACIAAABE4REAXwAAAOoAAAAtAAAAROERAF8AAADnAAAALQAAAEThEQBfAAAA5AAAAC0AAABE\ +4REAXwAAAOEAAAAtAAAAROERAF8AAADTAAAAIQAAAEThEQBfAAAA1AAAACkAAABE4REAXwAAAM4AAA\ +ApAAAAROERAF8AAAD1AAAAIAAAAEThEQBfAAAAGgEAABoAAABE4REAXwAAADABAAAXAAAAROERAF8A\ +AAApAQAANwAAAATiEQBiAAAAcAIAAB4AAAAE4hEAYgAAAJkCAAAaAAAABOIRAGIAAACtAgAAKwAAAH\ +4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdl\ +eC1hdXRvbWF0YS0wLjQuNy9zcmMvZGZhL29uZXBhc3MucnMAAETrEQBeAAAAMQIAAEMAAABE6xEAXg\ +AAAFwCAAAJAAAAROsRAF4AAAByAgAALAAAAG11bHRpcGxlIGVwc2lsb24gdHJhbnNpdGlvbnMgdG8g\ +bWF0Y2ggc3RhdGUAROsRAF4AAABnAgAAMQAAAHRvbyBtYW55IGV4cGxpY2l0IGNhcHR1cmluZyBncm\ +91cHMgKG1heCBpcyAxNiltYXRjaCBzdGF0ZXMgc2hvdWxkIGJlIGEgcHJvcGVyIHN1YnNldCBvZiBh\ +bGwgc3RhdGVzAABE6xEAXgAAAO0CAAA7AAAAY29uZmxpY3RpbmcgdHJhbnNpdGlvbmFzc2VydGlvbi\ +BmYWlsZWQ6IHNlbGYuZGZhLnN0YXJ0cy5pc19lbXB0eSgpAABE6xEAXgAAADEDAAAVAAAAYXNzZXJ0\ +aW9uIGZhaWxlZDogc2VsZi5kZmEuc3RhcnRzLmxlbigpID09IHBpZC5vbmVfbW9yZSgpAAAAROsRAF\ +4AAAAzAwAAGgAAAETrEQBeAAAATQMAADEAAABE6xEAXgAAAFQDAAAbAAAAbXVsdGlwbGUgZXBzaWxv\ +biB0cmFuc2l0aW9ucyB0byBzYW1lIHN0YXRlAABE6xEAXgAAAMcHAAAqAAAAROsRAF4AAADHBwAAEw\ +AAAETrEQBeAAAAzgcAACYAAABE6xEAXgAAAM4HAAAPAAAAROsRAF4AAADoBwAAHQAAAETrEQBeAAAA\ +6AcAAC8AAABE6xEAXgAAAOkHAAAbAAAAROsRAF4AAADpBwAAKwAAAETrEQBeAAAAVwgAAC4AAABE6x\ +EAXgAAAKsIAAASAAAAROsRAF4AAACsCAAAEgAAAETrEQBeAAAArQgAADIAAABE6xEAXgAAALcIAAAU\ +AAAAROsRAF4AAADUCAAAEwAAAETrEQBeAAAA3AgAABMAAABE6xEAXgAAAOwIAAAbAAAAROsRAF4AAA\ +D3CAAAIwAAAETrEQBeAAAA/QgAABMAAABE6xEAXgAAABUJAABBAAAAROsRAF4AAAAiCQAAGAAAAETr\ +EQBeAAAAMQkAAC0AAABE6xEAXgAAADEJAAAYAAAAROsRAF4AAAAsCQAAJgAAAETrEQBeAAAALQkAAB\ +sAAABvbmVwYXNzOjpERkEoCgAA8O4RAA4AAADkqhIAAQAAAHN0YXRlIGxlbmd0aDogAAAQ7xEADgAA\ +AOSqEgABAAAAcGF0dGVybiBsZW5ndGg6IDDvEQAQAAAA5KoSAAEAAAApCgAAUO8RAAIAAABTVEFSVC\ +hBTEwpOiBc7xEADAAAAOSqEgABAAAAU1RBUlQocGF0dGVybjogKTogAAB47xEADwAAAIfvEQADAAAA\ +5KoSAAEAAAAQmxIAAgAAACogAACs7xEAAgAAAEQgAAC47xEAAgAAACAoAADE7xEAAgAAAErtFAABAA\ +AAVKkSAAIAAAAbiRIAAgAAACA9PiABAAAAAAAAAGFZEgABAAAA6O8RAAQAAAABAAAAAAAAAOjvEQAE\ +AAAAIChNVykAAAAU8BEABQAAAETrEQBeAAAADgoAACEAAABhWRIAAQAAAOjpFAABAAAATi9BAETwEQ\ +ADAAAAUwAAAFDwEQABAAAAZXJyb3IgYnVpbGRpbmcgTkZBAABc8BEAEgAAAH4vLmNhcmdvL3JlZ2lz\ +dHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLj\ +QuNy9zcmMvZGZhL3JlbWFwcGVyLnJzAHjwEQBfAAAAbgAAABIAAAB48BEAXwAAAIgAAAAkAAAAePAR\ +AF8AAACNAAAAIAAAAHjwEQBfAAAAjwAAAB0AAAB48BEAXwAAAJUAAAAgAAAAfi8uY2FyZ28vcmVnaX\ +N0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAu\ +NC43L3NyYy9oeWJyaWQvZGZhLnJzAAAAKPERAF0AAADHBAAAHgAAACjxEQBdAAAA6QUAAB4AAABuby\ +BxdWl0IGluIHN0YXJ0IHdpdGhvdXQgbG9vay1iZWhpbmQo8REAXQAAAEUGAAAWAAAAYXNzZXJ0aW9u\ +IGZhaWxlZDogaWQuaXNfbWF0Y2goKQAo8REAXQAAALUGAAAJAAAAbm8gaW4tcHJvZ3Jlc3Mgc2Vhcm\ +NoIHRvIHVwZGF0ZQAo8REAXQAAALcHAAAkAAAAbm8gaW4tcHJvZ3Jlc3Mgc2VhcmNoIHRvIGZpbmlz\ +aAAo8REAXQAAAMMHAAAiAAAAKPERAF0AAABTCAAAHwAAACjxEQBdAAAAFgkAADoAAABhZGRpbmcgb2\ +5lIHN0YXRlIGFmdGVyIGNhY2hlIGNsZWFyIG11c3Qgd29yayjxEQBdAAAAvAkAABIAAABjYW5ub3Qg\ +c2F2ZSBzZW50aW5lbCBzdGF0ZQAAyPIRABoAAAAo8REAXQAAAKkJAAANAAAAKPERAF0AAADmCQAAQA\ +AAACjxEQBdAAAA5wkAAEcAAAAo8REAXQAAAOgJAABHAAAAKPERAF0AAADpCQAACQAAACjxEQBdAAAA\ +6gkAAAkAAAAo8REAXQAAAOsJAAAJAAAAc3RhdGUgc2F2ZXIgZG9lcyBub3QgaGF2ZSBzYXZlZCBzdG\ +F0ZSBJRCjxEQBdAAAAFAoAAA4AAABpbnZhbGlkICdmcm9tJyBpZDogAJTzEQATAAAAKPERAF0AAAAp\ +CgAACQAAAGludmFsaWQgJ3RvJyBpZDogAAAAwPMRABEAAAAo8REAXQAAACoKAAAJAAAAKPERAF0AAA\ +AtCgAAGQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuYXNfcmVmKCkuaXNfdmFsaWQoaWQpKPERAF0A\ +AAA7CgAACQAAAGF0dGVtcHRlZCB0byBzZWFyY2ggZm9yIGEgc3BlY2lmaWMgcGF0dGVybiB3aXRob3\ +V0IGVuYWJsaW5nIHN0YXJ0c19mb3JfZWFjaF9wYXR0ZXJuADj0EQBTAAAAKPERAF0AAABBCgAAEQAA\ +ACjxEQBdAAAASgoAABoAAAAo8REAXQAAAI4KAAAdAAAAKPERAF0AAACWCgAAGwAAACjxEQBdAAAAsg\ +oAADMAAAAo8REAXQAAALsKAAAzAAAAAAAAAAAAAAAAAAAAAgAAAGNhbm5vdCBidWlsZCBsYXp5IERG\ +QXMgZm9yIHJlZ2V4ZXMgd2l0aCBVbmljb2RlIHdvcmQgYm91bmRhcmllczsgc3dpdGNoIHRvIEFTQ0\ +lJIHdvcmQgYm91bmRhcmllcywgb3IgaGV1cmlzdGljYWxseSBlbmFibGUgVW5pY29kZSB3b3JkIGJv\ +dW5kYXJpZXMgb3IgdXNlIGEgZGlmZmVyZW50IHJlZ2V4IGVuZ2luZSkgYXJlIG5vdCBzdXBwb3J0ZW\ +Qgb3IgZW5hYmxlZHJldmVyc2Ugc2VhcmNoIG11c3QgbWF0Y2ggaWYgZm9yd2FyZCBzZWFyY2ggZG9l\ +c34vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZW\ +dleC1hdXRvbWF0YS0wLjQuNy9zcmMvaHlicmlkL3JlZ2V4LnJzAAAD9hEAXwAAAPEBAAAOAAAAfi8u\ +Y2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LW\ +F1dG9tYXRhLTAuNC43L3NyYy9oeWJyaWQvc2VhcmNoLnJzdPYRAGAAAABZAAAAKQAAAGludGVybmFs\ +IGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IHNpZCBiZWluZyB1bmtub3duIGlzIGEgYn\ +Vn5PYRAEQAAAB09hEAYAAAAB0BAAARAAAAdPYRAGAAAAAaAQAALQAAAHT2EQBgAAAAVwEAACkAAAB0\ +9hEAYAAAAK0BAAARAAAAdPYRAGAAAACqAQAALQAAAHT2EQBgAAAA+wEAACUAAAB09hEAYAAAACICAA\ +ARAAAAdPYRAGAAAAAdAgAAFQAAAHT2EQBgAAAA4gIAABQAAABlcnJvciBwYXJzaW5nIHBhdHRlcm4g\ +AADA9xEAFgAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGZvdW5kIG\ +ltcG9zc2libGUgZXJyb3IgaW4gbWV0YSBlbmdpbmU6IAAAAOD3EQBRAAAAfi8uY2FyZ28vcmVnaXN0\ +cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC\ +43L3NyYy9tZXRhL2Vycm9yLnJzAAAAPPgRAF0AAADtAAAAEQAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3Ny\ +Yy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcm\ +MvbWV0YS9saW1pdGVkLnJzAKz4EQBfAAAAjgAAACUAAACs+BEAXwAAAOgAAAAUAAAAfi8uY2FyZ28v\ +cmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYX\ +RhLTAuNC43L3NyYy9tZXRhL2xpdGVyYWwucnMALPkRAF8AAAAeAAAADQAAAGludGVybmFsIGVycm9y\ +OiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGxpdGVyYWwsIGdvdCCc+REAQAAAAC\ +z5EQBfAAAAOAAAAB4AAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBl\ +eHBlY3RlZCBsaXRlcmFsIG9yIGNvbmNhdCwgZ290IAAA9PkRAEoAAAAs+REAXwAAADwAAAASAAAAaQ\ +IAAAgAAAAEAAAAagIAAGsCAABrAgAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5p\ +by02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy9tZXRhL3N0b3BhdC5ycw\ +AAcPoRAF4AAABuAAAAJQAAAGwCAACgBgAACAAAAGwCAACgBgAACAAAAG0CAADg+hEA4PoRAOD6EQDg\ ++hEAbgIAAG8CAABwAgAAcQIAAHICAABzAgAAdAIAAHUCAAB2AgAAdwIAAHgCAACwBgAACAAAAHgCAA\ +CwBgAACAAAAHkCAAA0+xEANPsRADT7EQA0+xEAegIAAHsCAAB8AgAAfQIAAH4CAAB/AgAAgAIAAIEC\ +AACCAgAAgwIAAIQCAABACQAACAAAAIQCAABACQAACAAAAIUCAACI+xEAiPsRAIj7EQCI+xEAhgIAAI\ +cCAACIAgAAiQIAAIoCAACLAgAAjAIAAI0CAACOAgAAjwIAAJACAACgBgAACAAAAJACAACgBgAACAAA\ +AA4BAADc+xEA3PsRANz7EQDc+xEAbgIAAJECAABwAgAAkgIAAJMCAACUAgAAlQIAAJYCAACXAgAAmA\ +IAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9y\ +ZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvbWV0YS9zdHJhdGVneS5yczD8EQBgAAAAyAAAADsAAACZAg\ +AACAAAAAQAAACZAgAACAAAAAQAAACaAgAAoPwRAKD8EQCg/BEAoPwRAJsCAACcAgAAnQIAAJ4CAACf\ +AgAAoAIAAKECAACiAgAAowIAAKQCAAClAgAAEAAAAAQAAAClAgAAEAAAAAQAAACmAgAA9PwRAPT8EQ\ +D0/BEA9PwRAKcCAACoAgAAnQIAAKkCAACqAgAAqwIAAKwCAACtAgAArgIAAK8CAACwAgAAlAEAAAQA\ +AACwAgAAlAEAAAQAAACxAgAASP0RAEj9EQBI/REASP0RALICAACzAgAAnQIAALQCAAC1AgAAtgIAAL\ +cCAAC4AgAAuQIAALoCAAC7AgAAUAAAAAgAAAC7AgAAUAAAAAgAAAC8AgAAnP0RAJz9EQCc/REAnP0R\ +AL0CAAC+AgAAvwIAAHECAADAAgAAwQIAAMICAADDAgAAxAIAAMUCAADGAgAABAEAAAQAAADGAgAABA\ +EAAAQAAADHAgAA8P0RAPD9EQDw/REA8P0RAMgCAADJAgAAnQIAAKkCAACfAgAAygIAAMsCAADMAgAA\ +zQIAAM4CAACZAgAACAAAAAQAAACZAgAACAAAAAQAAADPAgAARP4RAET+EQBE/hEARP4RAJsCAACcAg\ +AAnQIAAJ4CAACfAgAA0AIAANECAADSAgAA0wIAANQCAACZAgAACAAAAAQAAACZAgAACAAAAAQAAADV\ +AgAAmP4RAJj+EQCY/hEAmP4RAJsCAACcAgAAnQIAAJ4CAACfAgAA1gIAANcCAADYAgAA2QIAANoCAA\ +BzaG91bGQgZmluZCBhIG1hdGNoADD8EQBgAAAAWAMAABIAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJl\ +ZCB1bnJlYWNoYWJsZSBjb2RlOiBSZXZlcnNlQW5jaG9yZWQgYWx3YXlzIGhhcyBhIERGQQAAEP8RAE\ +oAAAAw/BEAYAAAAMkDAAANAAAAMPwRAGAAAADTBAAAQAAAAGludGVybmFsIGVycm9yOiBlbnRlcmVk\ +IHVucmVhY2hhYmxlIGNvZGU6IFJldmVyc2VTdWZmaXggYWx3YXlzIGhhcyBhIERGQYT/EQBIAAAAMP\ +wRAGAAAAALBQAADQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IHN1\ +ZmZpeCBtYXRjaCBwbHVzIHJldmVyc2UgbWF0Y2ggaW1wbGllcyB0aGVyZSBtdXN0IGJlIGEgbWF0Y2\ +gA5P8RAGcAAAAw/BEAYAAAAEUFAAAZAAAAMPwRAGAAAACABQAAGQAAADD8EQBgAAAAhQYAAEAAAAAw\ +/BEAYAAAAJAGAAA/AAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogUm\ +V2ZXJzZUlubmVyIGFsd2F5cyBoYXMgYSBERkEAlAASAEcAAAAw/BEAYAAAALMGAAANAAAAMPwRAGAA\ +AADTBgAADQAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYT\ +E1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvbWV0YS93cmFwcGVycy5ycwQBEgBgAAAAYAAA\ +ACoAAAAEARIAYAAAAGoAAAAuAAAABAESAGAAAAB1AAAAHgAAAAQBEgBgAAAAiQAAABkAAAAEARIAYA\ +AAAO8AAAAwAAAABAESAGAAAADwAAAAEgAAAAQBEgBgAAAABwEAADQAAAAEARIAYAAAAAgBAAASAAAA\ +BAESAGAAAABFAQAAHQAAAAQBEgBgAAAAtAEAADQAAAAEARIAYAAAALUBAAASAAAABAESAGAAAAD7AQ\ +AAHQAAAAQBEgBgAAAAiAIAACoAAAAEARIAYAAAAJwCAAAxAAAABAESAGAAAACwAgAALgAAAAQBEgBg\ +AAAAxgIAADEAAAAEARIAYAAAANsCAAAuAAAABAESAGAAAADyAgAAMQAAAAQBEgBgAAAAHwMAAB0AAA\ +AEARIAYAAAAL4DAAANAAAABAESAGAAAADQAwAADQAAAAQBEgBgAAAA4gMAAA0AAAAEARIAYAAAAPQD\ +AAANAAAABAESAGAAAAAJBAAADQAAAAQBEgBgAAAAHwQAAA0AAAAEARIAYAAAACwEAAANAAAABAESAG\ +AAAACGBAAALgAAAAQBEgBgAAAAtAQAAB0AAAAEARIAYAAAADcFAAANAAAABAESAGAAAABEBQAADQAA\ +AH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZW\ +dleC1hdXRvbWF0YS0wLjQuNy9zcmMvbmZhL3Rob21wc29uL2JhY2t0cmFjay5ycwAAAEQDEgBpAAAA\ +OwMAAAkAAABEAxIAaQAAACMFAAAqAAAARAMSAGkAAAAjBQAAEwAAAEQDEgBpAAAAKgUAACYAAABEAx\ +IAaQAAACoFAAAPAAAARAMSAGkAAACiBQAAGgAAAEQDEgBpAAAABwYAACoAAABEAxIAaQAAAAkGAAAe\ +AAAARAMSAGkAAAAhBwAAFwAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNm\ +YxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvbmZhL3Rob21wc29uL2J1aWxk\ +ZXIucnMAQAQSAGcAAACJAAAAIAAAAEAEEgBnAAAAjgAAACAAAABtdXN0IGNhbGwgJ2ZpbmlzaF9wYX\ +R0ZXJuJyBmaXJzdMgEEgAgAAAAQAQSAGcAAACfAQAACQAAAEAEEgBnAAAAMgIAABgAAABABBIAZwAA\ +ADsCAAAvAAAAQAQSAGcAAAA+AgAAJAAAAEAEEgBnAAAAPgIAABIAAABABBIAZwAAAD8CAAAVAAAAQA\ +QSAGcAAABIAgAALwAAAEAEEgBnAAAASQIAACUAAABABBIAZwAAAEkCAAAWAAAAQAQSAGcAAABKAgAA\ +GQAAAEAEEgBnAAAAxgEAABoAAABABBIAZwAAAMkBAAAaAAAAQAQSAGcAAADXAQAAGgAAAGludmFsaW\ +QgY2FwdHVyZSBpbmRleAAAAEAEEgBnAAAA3wEAABoAAABhIHNtYWxsIGVub3VnaCBzbG90AEAEEgBn\ +AAAA4QEAAC8AAABABBIAZwAAAOIBAAAaAAAAQAQSAGcAAADyAQAAGgAAAEAEEgBnAAAA9AEAABoAAA\ +BABBIAZwAAAPYBAAAvAAAAQAQSAGcAAAD3AQAAGgAAAEAEEgBnAAAAAgIAADYAAABABBIAZwAAAAMC\ +AAAwAAAAQAQSAGcAAAADAgAAHgAAAEAEEgBnAAAABgIAAC0AAABABBIAZwAAAAcCAAAtAAAAQAQSAG\ +cAAAAFAgAAHgAAAEAEEgBnAAAADAIAAB4AAABABBIAZwAAAAACAAAeAAAAQAQSAGcAAAATAgAANgAA\ +AEAEEgBnAAAAFAIAADAAAABABBIAZwAAABQCAAAeAAAAQAQSAGcAAAAXAgAALQAAAEAEEgBnAAAAGA\ +IAAC0AAABABBIAZwAAABYCAAAeAAAAQAQSAGcAAAAeAgAAHgAAAEAEEgBnAAAAEQIAAB4AAABABBIA\ +ZwAAACICAAAaAAAAQAQSAGcAAAAlAgAAGgAAAEAEEgBnAAAAbwIAAAkAAABABBIAZwAAAJICAAAbAA\ +AAbXVzdCBjYWxsICdzdGFydF9wYXR0ZXJuJyBmaXJzdABABBIAZwAAAJ4CAAAZAAAAQAQSAGcAAAD5\ +AwAAMwAAAEAEEgBnAAAA/AMAAEAAAABABBIAZwAAAP8DAAAaAAAAQAQSAGcAAAD9AwAAHgAAAEAEEg\ +BnAAAAfQQAABoAAABjYW5ub3QgcGF0Y2ggZnJvbSBhIHNwYXJzZSBORkEgc3RhdGUcCBIAJAAAAEAE\ +EgBnAAAAhQQAABEAAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMj\ +JiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL25mYS90aG9tcHNvbi9jb21waWxlci5y\ +c1gIEgBoAAAAtQMAABYAAABYCBIAaAAAALYDAAAWAAAAWAgSAGgAAAC3AwAAFgAAAFgIEgBoAAAAuQ\ +MAAA4AAABYCBIAaAAAALwDAAAOAAAAWAgSAGgAAADdAwAADgAAAFgIEgBoAAAAMAQAACgAAABYCBIA\ +aAAAACwEAAAWAAAAWAgSAGgAAACdBQAALAAAAFgIEgBoAAAAngUAADIAAABYCBIAaAAAAIUFAAAwAA\ +AAWAgSAGgAAACOBQAAMAAAAFgIEgBoAAAAjwUAADYAAABYCBIAaAAAAGwFAAA/AAAAWAgSAGgAAABt\ +BQAAOwAAAFgIEgBoAAAA7QUAACoAAABYCBIAaAAAAE8GAAAWAAAAWAgSAGgAAABTBgAAFgAAAFgIEg\ +BoAAAAWgYAABYAAABYCBIAaAAAAF4GAAAWAAAAWAgSAGgAAABiBgAAFgAAAFgIEgBoAAAAbQYAABYA\ +AABYCBIAaAAAAHQGAAAWAAAAWAgSAGgAAAB4BgAAFgAAAFgIEgBoAAAAfAYAABYAAABYCBIAaAAAAI\ +UGAAAWAAAAWAgSAGgAAACQBgAAFgAAAFgIEgBoAAAAlAYAABYAAABYCBIAaAAAAJgGAAAWAAAAYXNz\ +ZXJ0aW9uIGZhaWxlZDogcHJlZml4X2xlbiA8IHJhbmdlcy5sZW4oKQBYCBIAaAAAAP4GAAAJAAAAWA\ +gSAGgAAAAABwAAIAAAAG5vbi1lbXB0eSBub2RlcwBYCBIAaAAAACIHAAAOAAAAWAgSAGgAAAAjBwAA\ +JgAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuc3RhdGUudW5jb21waWxlZFtsYXN0XS5sYXN0LmlzX2\ +5vbmUoKVgIEgBoAAAAIwcAAAkAAABYCBIAaAAAACQHAAAeAAAAWAgSAGgAAAAoBwAAGQAAAGFzc2Vy\ +dGlvbiBmYWlsZWQ6ICFyYW5nZXMuaXNfZW1wdHkoKVgIEgBoAAAAHAcAAAkAAABYCBIAaAAAADUHAA\ +A6AAAAWAgSAGgAAAA8BwAAJgAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuc3RhdGUudW5jb21waWxl\ +ZFswXS5sYXN0LmlzX25vbmUoKQAAAFgIEgBoAAAAPAcAAAkAAABYCBIAaAAAAD0HAAAlAAAAWAgSAG\ +gAAAA7BwAACQAAAFgIEgBoAAAARgcAAA4AAABYCBIAaAAAAEcHAAAeAAAAfi8uY2FyZ28vcmVnaXN0\ +cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC\ +43L3NyYy9uZmEvdGhvbXBzb24vbGl0ZXJhbF90cmllLnJzWAwSAGwAAAB0AAAAFAAAAFgMEgBsAAAA\ +gQAAACEAAABYDBIAbAAAAIwAAAAkAAAAWAwSAGwAAACOAAAAHAAAAFgMEgBsAAAArAAAACwAAABYDB\ +IAbAAAAK8AAAAfAAAAWAwSAGwAAADAAAAAMAAAAFgMEgBsAAAA5wAAAC4AAABYDBIAbAAAAEkBAAAj\ +AAAAWAwSAGwAAACYAQAAGgAAAFgMEgBsAAAAxwEAACoAAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW\ +5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL25m\ +YS90aG9tcHNvbi9tYXAucnMAdA0SAGMAAACWAAAACQAAAHQNEgBjAAAAnwAAAB4AAAB0DRIAYwAAAL\ +YAAAARAAAAdA0SAGMAAAAIAQAACQAAAHQNEgBjAAAAFAEAAB4AAAB0DRIAYwAAACUBAAARAAAAfi8u\ +Y2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LW\ +F1dG9tYXRhLTAuNC43L3NyYy9uZmEvdGhvbXBzb24vbmZhLnJzADgOEgBjAAAAeQIAABcAAAA4DhIA\ +YwAAAAgFAAAiAAAAOA4SAGMAAABVBQAAJAAAADgOEgBjAAAAZAUAADIAAAA4DhIAYwAAAKsFAAApAA\ +AAOA4SAGMAAACsBQAAKwAAADgOEgBjAAAArgUAAB0AAAB0aG9tcHNvbjo6TkZBKAoADA8SAA8AAAB0\ +cmFuc2l0aW9uIGVxdWl2YWxlbmNlIGNsYXNzZXM6ICQPEgAgAAAA5KoSAAEAAAA4DhIAYwAAAMQFAA\ +AtAAAAU1RBUlQoAABkDxIABgAAAIfvEQADAAAA5KoSAAEAAAABAAAAAAAAAAEAAAAAAAAAVKkSAAIA\ +AADkqhIAAQAAADgOEgBjAAAAoQYAACMAAAA4DhIAYwAAAKUGAAAjAAAAOA4SAGMAAACqBgAAIQAAAD\ +gOEgBjAAAArQYAAD4AAAA4DhIAYwAAALAGAAAhAAAAOA4SAGMAAAC0BgAAHgAAADgOEgBjAAAAtQYA\ +AB4AAAA4DhIAYwAAALcGAABBAAAAc3BhcnNlKAAkEBIABwAAAErtFAABAAAAZGVuc2UoAAA8EBIABg\ +AAAErtFAABAAAAdW5pb24oAABUEBIABgAAAErtFAABAAAAYmluYXJ5LXVuaW9uKAAAAGwQEgANAAAA\ +G4kSAAIAAABK7RQAAQAAAGNhcHR1cmUocGlkPSwgZ3JvdXA9LCBzbG90PSkgPT4glBASAAwAAACgEB\ +IACAAAAKgQEgAHAAAArxASAAUAAABGQUlM1BASAAQAAABNQVRDSCgAAOAQEgAGAAAASu0UAAEAAAA4\ +DhIAYwAAAIMHAAAUAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZD\ +IyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy9uZmEvdGhvbXBzb24vcGlrZXZtLnJz\ +AAAIERIAZgAAAGMEAAAqAAAACBESAGYAAABjBAAAEwAAAAgREgBmAAAAagQAACYAAAAIERIAZgAAAG\ +oEAAAPAAAACBESAGYAAACFBAAACgAAAGJ5dGUgc2xpY2UgbGVuZ3RocyBtdXN0IGJlIGxlc3MgdGhh\ +biB1c2l6ZSBNQVgAAMAREgAuAAAACBESAGYAAADYBAAACQAAAAgREgBmAAAAhwUAAAkAAAAIERIAZg\ +AAAMwFAAATAAAACBESAGYAAABcBgAAHwAAAAgREgBmAAAAzAYAAC8AAAAIERIAZgAAAM8GAABGAAAA\ +CBESAGYAAADPBgAAIwAAAAgREgBmAAAAnAYAADQAAAAIERIAZgAAADAIAAAuAAAAc2xvdCB0YWJsZS\ +BsZW5ndGggZG9lc24ndCBvdmVyZmxvdwAACBESAGYAAAA9CAAADgAAAAgREgBmAAAAZQgAABgAAAAI\ +ERIAZgAAAG4IAAAYAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZD\ +IyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy9uZmEvdGhvbXBzb24vcmFuZ2VfdHJp\ +ZS5ycwAA3BISAGoAAAD6AAAAKQAAANwSEgBqAAAA/AAAACsAAADcEhIAagAAAA8BAAArAAAA3BISAG\ +oAAAAzAQAANgAAANwSEgBqAAAASwEAADsAAADcEhIAagAAAIkBAAA7AAAA3BISAGoAAAAxAQAADQAA\ +AHRvbyBtYW55IHNlcXVlbmNlcyBhZGRlZCB0byByYW5nZSB0cmllAAC4ExIAJgAAANwSEgBqAAAAtA\ +EAABEAAADcEhIAagAAAOABAAA3AAAA3BISAGoAAAAZAgAALAAAANwSEgBqAAAAHgIAABUAAADcEhIA\ +agAAACMCAAAZAAAA3BISAGoAAABJAgAAGgAAAGFzc2VydGlvbiBmYWlsZWQ6IGxlbiA8PSA0AADcEh\ +IAagAAAIcCAAAJAAAA3BISAGoAAACnAgAAFQAAANwSEgBqAAAARQMAAA0AAAB+Ly5jYXJnby9yZWdp\ +c3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC\ +40Ljcvc3JjL3V0aWwvYWxwaGFiZXQucnNFT0kA9BQSAAMAAABCeXRlQ2xhc3NlcygAFRIADAAAACA9\ +PiBbAAAAAQAAAAAAAAAUFRIABQAAAEXmFAABAAAAAQAAAAAAAABhWRIAAQAAAEJ5dGVDbGFzc2VzKH\ +tzaW5nbGV0b25zfSkAAABEFRIAGQAAAJQUEgBgAAAAGgIAAC4AAACUFBIAYAAAADYCAAA0AAAAlBQS\ +AGAAAADcAgAALgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlBQSAGAAAACDAwAALw\ +AAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9y\ +ZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvdXRpbC9jYXB0dXJlcy5yc8gVEgBgAAAAkQgAAAkAAADIFR\ +IAYAAAAJIIAAAJAAAAyBUSAGAAAACTCAAACQAAAMgVEgBgAAAAtQgAACgAAADIFRIAYAAAALsIAAAi\ +AAAAyBUSAGAAAAC/CAAAHwAAAMgVEgBgAAAAwAgAAB8AAADIFRIAYAAAAMoIAAAfAAAAyBUSAGAAAA\ +DQCAAACQAAAMgVEgBgAAAA0ggAADgAAADIFRIAYAAAANIIAAAJAAAAyBUSAGAAAADfCAAAOAAAAMgV\ +EgBgAAAA8AgAAEEAAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMj\ +JiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40Ljcvc3JjL3V0aWwvZXNjYXBlLnJzAAD4FhIAXgAA\ +ACgAAAA9AAAA+BYSAF4AAAAlAAAADQAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZX\ +MuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvdXRpbC9sb29rLnJz\ +eBcSAFwAAADLAQAALAAAAHgXEgBcAAAA2AEAAAkAAAB4FxIAXAAAANkBAAAJAAAAeBcSAFwAAADaAQ\ +AACQAAAHgXEgBcAAAA2wEAAAkAAAB4FxIAXAAAAKECAABFAAAAeBcSAFwAAACjAgAAOwAAAHgXEgBc\ +AAAAqAIAADoAAAB4FxIAXAAAAKsCAAA4AAAAeBcSAFwAAAC0AgAAPwAAAHgXEgBcAAAAtwIAAD0AAA\ +B4FxIAXAAAAA4DAAA0AAAAeBcSAFwAAAATAwAAOwAAAHgXEgBcAAAAbgMAADUAAAB4FxIAXAAAAKQD\ +AAAoAAAAeBcSAFwAAACwAwAAJgAAAHgXEgBcAAAAvQMAABAAAAB4FxIAXAAAAMwDAAAQAAAAeBcSAF\ +wAAADaAwAAOAAAAHgXEgBcAAAANwQAADEAAAB4FxIAXAAAADwEAAAsAAAAeBcSAFwAAABMBAAAOAAA\ +AHgXEgBcAAAAWwQAADgAAAB4FxIAXAAAAJ4EAAA4AAAAeBcSAFwAAADIBAAAMQAAAHgXEgBcAAAA5w\ +QAACwAAAACAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJh\ +MTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy91dGlsL3Bvb2wucnN+Ly5jYXJnby9yZWdpc3\ +RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC40\ +Ljcvc3JjL3V0aWwvcHJlZmlsdGVyL2J5dGVzZXQucnMAAADUGRIAaQAAACMAAAARAAAAfi8uY2FyZ2\ +8vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9t\ +YXRhLTAuNC43L3NyYy91dGlsL3ByZWZpbHRlci9tZW1jaHIucnNQGhIAaAAAACcAAAAtAAAAUBoSAG\ +gAAABVAAAAFgAAAFAaEgBoAAAAVgAAABYAAABQGhIAaAAAAGQAAAA2AAAAUBoSAGgAAACSAAAAFgAA\ +AFAaEgBoAAAAkwAAABYAAABQGhIAaAAAAJQAAAAWAAAAUBoSAGgAAACiAAAAPgAAAH4vLmNhcmdvL3\ +JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0\ +YS0wLjQuNy9zcmMvdXRpbC9wcmVmaWx0ZXIvbWVtbWVtLnJzOBsSAGgAAAArAAAAJwAAADgbEgBoAA\ +AAOwAAABgAAABhaG8tY29yYXNpY2sgREZBIHNob3VsZCBuZXZlciBmYWlsfi8uY2FyZ28vcmVnaXN0\ +cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC\ +43L3NyYy91dGlsL3ByZWZpbHRlci90ZWRkeS5ycwAAAOIbEgBnAAAAcQAAABIAAAAAAAAAAQAAAAEA\ +AAAAAAAAAQAAAAEAAAAgAQAAXBwSAFwcEgBcHBIAXBwSANsCAADcAgAA3QIAAN4CAAAAAAAAAgAAAA\ +EAAAAAAAAAAgAAAAEAAAAfAQAAmBwSAJgcEgCYHBIAmBwSAN8CAADgAgAA3QIAAN4CAAAAAAAAAwAA\ +AAEAAAAAAAAAAwAAAAEAAAAeAQAA1BwSANQcEgDUHBIA1BwSAOECAADiAgAA3QIAAN4CAADjAgAASA\ +AAAAgAAADjAgAASAAAAAgAAAAdAQAAEB0SABAdEgAQHRIAEB0SAOQCAADlAgAA5gIAAHECAADnAgAA\ +kAEAAAQAAADnAgAAkAEAAAQAAAAcAQAATB0SAEwdEgBMHRIATB0SAOgCAADpAgAA6gIAAOsCAAAAAA\ +AAAAEAAAEAAAAAAAAAAAEAAAEAAAAbAQAAiB0SAIgdEgCIHRIAiB0SAOwCAADtAgAA3QIAAO4CAADv\ +AgAADAAAAAQAAADvAgAADAAAAAQAAAAZAQAAxB0SAMQdEgDEHRIAxB0SAPACAADxAgAA8gIAAKkCAA\ +BTdGFydEJ5dGVNYXB7AAAAAB4SAA0AAAAPmxIAAQAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRl\ +eC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvdXRpbC\ +93aXJlLnJzIB4SAFwAAABXAgAADgAAACAeEgBcAAAAeAMAAAwAAAAgHhIAXAAAAHgDAAASAAAAAAAA\ +AAAAAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMD\ +FmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy91dGlsL2RldGVybWluaXplL3N0YXRlLnJzAAC1HhIA\ +aQAAAPIAAAAjAAAAtR4SAGkAAACNAQAACQAAALUeEgBpAAAAmAEAAAkAAAC1HhIAaQAAAKcBAAAJAA\ +AAtR4SAGkAAACvAQAACQAAALUeEgBpAAAAvQEAACMAAAC1HhIAaQAAAMgBAAAjAAAAtR4SAGkAAADj\ +AQAANAAAALUeEgBpAAAADAIAAB8AAAC1HhIAaQAAABACAAAZAAAAtR4SAGkAAAAjAgAAIAAAALUeEg\ +BpAAAAIwIAADkAAAC1HhIAaQAAADECAAAvAAAAtR4SAGkAAABUAgAADwAAALUeEgBpAAAAXgIAAA8A\ +AAC1HhIAaQAAAGcCAAAPAAAAtR4SAGkAAABvAgAADwAAALUeEgBpAAAAgQIAADUAAAC1HhIAaQAAAI\ +cCAAA1AAAAtR4SAGkAAADKAgAAMQAAALUeEgBpAAAAxgIAAAkAAAC1HhIAaQAAABwDAAAeAAAAYXNz\ +ZXJ0aW9uIGZhaWxlZDogc3RhY2suaXNfZW1wdHkoKX4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC\ +5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvdXRpbC9k\ +ZXRlcm1pbml6ZS9tb2QucnMAAACiIBIAZwAAAHgBAAAFAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2\ +luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy91\ +dGlsL2VtcHR5LnJzAAAAHCESAF0AAAD5AAAAOgAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC\ +5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvdXRpbC9z\ +ZWFyY2gucnMAAIwhEgBeAAAAqgEAAAkAAAABAAAAAAAAAMDoFAACAAAAjCESAF4AAAD7AwAACQAAAP\ +///39wYXR0ZXJuIHNldCBjYXBhY2l0eSBleGNlZWRzIGxpbWl0IG9mIAAAICISACYAAACMIRIAXgAA\ +AKYEAAAJAAAAUGF0dGVyblNldCBzaG91bGQgaGF2ZSBzdWZmaWNpZW50IGNhcGFjaXR5AACMIRIAXg\ +AAAMsEAAAOAAAAcXVpdCBzZWFyY2ggYWZ0ZXIgb2JzZXJ2aW5nIGJ5dGUgIGF0IG9mZnNldCCcIhIA\ +IQAAAL0iEgALAAAAZ2F2ZSB1cCBzZWFyY2hpbmcgYXQgb2Zmc2V0INgiEgAcAAAAaGF5c3RhY2sgb2\ +YgbGVuZ3RoICBpcyB0b28gbG9uZwD8IhIAEwAAAA8jEgAMAAAAdW5hbmNob3JlZCBzZWFyY2hlcyBh\ +cmUgbm90IHN1cHBvcnRlZCBvciBlbmFibGVkLCMSADAAAABhbmNob3JlZCBzZWFyY2hlcyBhcmUgbm\ +90IHN1cHBvcnRlZCBvciBlbmFibGVkAABkIxIALgAAAGFuY2hvcmVkIHNlYXJjaGVzIGZvciBhIHNw\ +ZWNpZmljIHBhdHRlcm4gKAAAnCMSACoAAAC19REAHgAAAHNwYXJzZSBzZXQgY2FwYWNpdHkgY2Fubm\ +90IGV4Y2NlZCAAANgjEgAiAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02\ +ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LWF1dG9tYXRhLTAuNC43L3NyYy91dGlsL3NwYXJzZV9zZXQucn\ +MAAAQkEgBiAAAAggAAAAkAAAAgZXhjZWVkcyBjYXBhY2l0eSBvZiAgd2hlbiBpbnNlcnRpbmcgAAAA\ +AQAAAAAAAAB4JBIAFQAAAI0kEgAQAAAABCQSAGIAAACyAAAACQAAAAQkEgBiAAAAvAAAABMAAAAEJB\ +IAYgAAAL0AAAAUAAAABCQSAGIAAADFAAAAIAAAAAQkEgBiAAAAxgAAADQAAAAEJBIAYgAAANEAAAAh\ +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQ\ +EBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAABAAEBAQEBAQEBAQEBAQEBAQEB\ +AQEBAQEBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZX\ +MuaW8tNmYxN2QyMmJiYTE1MDAxZi9yZWdleC1hdXRvbWF0YS0wLjQuNy9zcmMvdXRpbC91dGY4LnJz\ +GCYSAFwAAABDAAAAKwAAABgmEgBcAAAAVQAAADgAAAAYJhIAXAAAAFgAAAAYAAAA8wIAAFgAAAAIAA\ +AA9AIAAPUCAAAEAAAABAAAABABAAAAAAAAAAEAAAEAAAD2AgAAAAAAAAABAAABAAAAzQAAAAAAAAAg\ +AAAACAAAAPcCAABjb25maWduZmFzdHJpZGUyc3RhcnRfbWFwY2xhc3Nlc3F1aXRzZXRjYWNoZV9jYX\ +BhY2l0eQAAAPQmEgAGAAAA+iYSAAMAAAD9JhIABwAAAAQnEgAJAAAADScSAAcAAAAUJxIABwAAABsn\ +EgAOAAAAREZBAAAAAAABAAAAAQAAAPMAAAD4AgAAEAAAAAQAAADbAAAAAAAAAAEAAAABAAAA+QIAAA\ +AAAAAoAAAACAAAAPoCAAAAAAAACAAAAAQAAAD7AgAAAAAAAAQAAAAEAAAA/AIAAG1hdGNoX2tpbmRw\ +cmVzdGFydHNfZm9yX2VhY2hfcGF0dGVybmJ5dGVfY2xhc3Nlc3VuaWNvZGVfd29yZF9ib3VuZGFyeX\ +NwZWNpYWxpemVfc3RhcnRfc3RhdGVzc2tpcF9jYWNoZV9jYXBhY2l0eV9jaGVja21pbmltdW1fY2Fj\ +aGVfY2xlYXJfY291bnRtaW5pbXVtX2J5dGVzX3Blcl9zdGF0ZQAAAMgnEgAKAAAA0icSAAMAAADVJx\ +IAFwAAAOwnEgAMAAAA+CcSABUAAAAUJxIABwAAAA0oEgAXAAAAGycSAA4AAAAkKBIAGQAAAD0oEgAZ\ +AAAAVigSABcAAABDb25maWdDYWNoZUVycm9yTGF6eVN0YXRlSURMYXp5U3RhdGVJREVycm9yYXR0ZW\ +1wdGVkUmVnZXhmb3J3YXJkcmV2ZXJzZVJlZ2V4SW5mb1JlZ2V4SW5mb0lwcm9wc3Byb3BzX3VuaW9u\ +AAAAAAAAAQAAAAEAAAD9AgAAdXRmOF9lbXB0eWF1dG9wcmV3aGljaF9jYXB0dXJlc25mYV9zaXplX2\ +xpbWl0b25lcGFzc19zaXplX2xpbWl0aHlicmlkX2NhY2hlX2NhcGFjaXR5aHlicmlkZGZhZGZhX3Np\ +emVfbGltaXRkZmFfc3RhdGVfbGltaXRvbmVwYXNzYmFja3RyYWNrbGluZV90ZXJtaW5hdG9yAAAAyC\ +cSAAoAAABEKRIACgAAAE4pEgAHAAAA0icSAAMAAABVKRIADgAAAGMpEgAOAAAAcSkSABIAAACDKRIA\ +FQAAAJgpEgAGAAAAnikSAAMAAAChKRIADgAAAK8pEgAPAAAAvikSAAcAAADFKRIACQAAAOwnEgAMAA\ +AAzikSAA8AAABQcmVncm91cF9pbmZvAAAA/gIAAAQAAAAEAAAA/wIAAAADAAAQAAAABAAAAAEDAAAC\ +AwAABAAAAAQAAAADAwAABAMAABgAAAAEAAAABQMAAAYDAAAcAAAABAAAAAcDAAAIAwAAPAEAAAQAAA\ +AJAwAACgMAABAFAAAIAAAACwMAAAAAAAAEAAAABAAAAAwDAABpbmZvbmZhcmV2cGlrZXZt8CoSAAQA\ +AADSJxIAAwAAAPomEgADAAAA9CoSAAYAAAD6KhIABgAAAMUpEgAJAAAAvikSAAcAAACYKRIABgAAAJ\ +4pEgADAAAAQ29yZVJldmVyc2VBbmNob3JlZGNvcmVSZXZlcnNlU3VmZml4UmV2ZXJzZUlubmVycHJl\ +aW5uZXJQaWtlVk1QaWtlVk1FbmdpbmVCb3VuZGVkQmFja3RyYWNrZXJCb3VuZGVkQmFja3RyYWNrZX\ +JFbmdpbmVPbmVQYXNzT25lUGFzc0VuZ2luZUh5YnJpZEh5YnJpZEVuZ2luZURGQUVuZ2luZVJldmVy\ +c2VIeWJyaWRSZXZlcnNlSHlicmlkRW5naW5lUmV2ZXJzZURGQVJldmVyc2VERkFFbmdpbmV2aXNpdG\ +VkX2NhcGFjaXR5QWxsSW1wbGljaXRUb29NYW55UGF0dGVybnNCeXRlU2V0Yml0c0dyb3VwSW5mb0dy\ +b3VwSW5mb0lubmVyc2xvdF9yYW5nZXNuYW1lX3RvX2luZGV4aW5kZXhfdG9fbmFtZW1lbW9yeV9leH\ +RyYUdyb3VwSW5mb0Vycm9yZXJyVG9vTWFueUdyb3Vwc21pbmltdW1NaXNzaW5nR3JvdXBzRmlyc3RN\ +dXN0QmVVbm5hbWVkRHVwbGljYXRlVW5pY29kZVdvcmRCb3VuZGFyeUVycm9ycmVnZXg6IHRocmVhZC\ +BJRCBhbGxvY2F0aW9uIHNwYWNlIGV4aGF1c3RlZAAABy0SACsAAAB4GRIAXAAAAF4BAAARAAAAQWhv\ +Q29yYXNpY2thYwAAAAAAAAAEAAAABAAAADgAAABNZW1jaHJNZW1jaHIyTWVtY2hyM01lbW1lbWZpbm\ +RlcnNlYXJjaGVyYW5jaG9yZWRfYWNQcmVmaWx0ZXJpc19mYXN0bWF4X25lZWRsZV9sZW5TbWFsbElu\ +ZGV4U21hbGxJbmRleEVycm9yUGF0dGVybklEY2Fubm90IGNyZWF0ZSBpdGVyYXRvciBmb3IgUGF0dG\ +VybklEIHdoZW4gbnVtYmVyIG9mIGVsZW1lbnRzIGV4Y2VlZCAA3y0SAEQAAAB+Ly5jYXJnby9yZWdp\ +c3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtYXV0b21hdGEtMC\ +40Ljcvc3JjL3V0aWwvcHJpbWl0aXZlcy5ycwAALC4SAGIAAADxAgAAAQAAAFBhdHRlcm5JREVycm9y\ +aW52YWxpZCBTdGF0ZUlEIHZhbHVlACwuEgBiAAAA8gIAAAEAAABTdGF0ZUlEY2Fubm90IGNyZWF0ZS\ +BpdGVyYXRvciBmb3IgU3RhdGVJRCB3aGVuIG51bWJlciBvZiBlbGVtZW50cyBleGNlZWQgAAAA2y4S\ +AEIAAABTdGF0ZUlERXJyb3JOb25Xb3JkQnl0ZVdvcmRCeXRlVGV4dExpbmVMRkxpbmVDUkN1c3RvbU\ +xpbmVUZXJtaW5hdG9yUGF0dGVyblNldEluc2VydEVycm9yY2FwYWNpdHlOb1llc1BhdHRlcm5RdWl0\ +Ynl0ZW9mZnNldEdhdmVVcEhheXN0YWNrVG9vTG9uZ2xlblVuc3VwcG9ydGVkQW5jaG9yZWRtb2RlAA\ +AA0wEAAAwAAAAEAAAAXwEAAA0DAABRAgAAAAAAAAAAAAABAAAAYgEAAC9ydXN0Yy9lZWI5MGNkYTE5\ +NjkzODNmNTZhMjYzN2NiZDMwMzdiZGY1OTg4NDFjL2xpYnJhcnkvY29yZS9zcmMvY2hhci9tZXRob2\ +RzLnJz/C8SAFAAAAAIBwAADQAAAC9ydXN0Yy9lZWI5MGNkYTE5NjkzODNmNTZhMjYzN2NiZDMwMzdi\ +ZGY1OTg4NDFjL2xpYnJhcnkvY29yZS9zcmMvc2xpY2UvbW9kLnJzAAAAXDASAE0AAADrAwAAIQAAAF\ +wwEgBNAAAA6wMAAC4AAABcMBIATQAAAO8DAAAgAAAAXDASAE0AAADvAwAAKwAAAFwwEgBNAAAAGwoA\ +ACIAAAAvcnVzdGMvZWViOTBjZGExOTY5MzgzZjU2YTI2MzdjYmQzMDM3YmRmNTk4ODQxYy9saWJyYX\ +J5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL2RyaWZ0LnJzAPwwEgBbAAAAAQEAABkAAAD8MBIA\ +WwAAAPQAAAASAAAA/DASAFsAAADQAAAAJAAAAPwwEgBbAAAA0wAAACQAAAD8MBIAWwAAAEIAAAAiAA\ +AAL3J1c3RjL2VlYjkwY2RhMTk2OTM4M2Y1NmEyNjM3Y2JkMzAzN2JkZjU5ODg0MWMvbGlicmFyeS9j\ +b3JlL3NyYy9zbGljZS9zb3J0L3N0YWJsZS9xdWlja3NvcnQucnNtaWQgPiBsZW4HMhIACQAAAKgxEg\ +BfAAAATgAAAB8AAACoMRIAXwAAAEgAAAAXAAAAAAAAAAEAAAABAAAADgMAAAAAAAAAAAAAAQAAAIEB\ +AAAPAwAAFAAAAAQAAAAQAwAAAAAAAAgAAAAEAAAAEQMAAAAAAAAAAAAAAQAAABIDAAACAgICAgICAg\ +IDAwEBAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAgIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAAEwMAAAAAAAAEAAAABAAAANEAAAAAAAAABAAAAAQAAAA6\ +AAAAY2hhciBsZW4gc2hvdWxkIGJlIGxlc3MgdGhhbiAyNTVY4xQATwAAACwCAAAOAAAAYXR0ZW1wdC\ +B0byBqb2luIGludG8gY29sbGVjdGlvbiB3aXRoIGxlbiA+IHVzaXplOjpNQVgvcnVzdGMvZWViOTBj\ +ZGExOTY5MzgzZjU2YTI2MzdjYmQzMDM3YmRmNTk4ODQxYy9saWJyYXJ5L2FsbG9jL3NyYy9zdHIucn\ +MAAAAdNBIASAAAAJsAAAAKAAAAHTQSAEgAAACyAAAAFgAAAKzjFABMAAAAKAYAAA0AAABVdGY4RXJy\ +b3J2YWxpZF91cF90b2Vycm9yX2xlbkZyb21VdGY4RXJyb3JieXRlc1RyeUZyb21DaGFyRXJyb3JOb2\ +5lU29tZQAAAAAABAAAAAQAAADTAAAAVHJ5RnJvbUludEVycm9yLi49AAD/NBIAAwAAACAoZXhoYXVz\ +dGVkKQw1EgAMAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYm\ +JhMTUwMDFmL3JlZ2V4LXN5bnRheC0wLjguNC9zcmMvYXN0L3BhcnNlLnJzAAAgNRIAWgAAAIEBAAAX\ +AAAAIDUSAFoAAACCAQAAGgAAACA1EgBaAAAAgwEAABoAAAAgNRIAWgAAAMUBAAA1AAAAIDUSAFoAAA\ +DkAQAAFwAAAGV4cGVjdGVkIGNoYXIgYXQgb2Zmc2V0IMw1EgAYAAAAIDUSAFoAAADnAQAAIAAAACA1\ +EgBaAAAA8wEAACgAAAAgNRIAWgAAAPYBAAAsAAAAIDUSAFoAAAD6AQAAFwAAACA1EgBaAAAAAgIAAB\ +oAAAA/PT8hPzw9PzwhAAAgNRIAWgAAAEUCAAAoAAAAIDUSAFoAAABTAgAAFwAAACA1EgBaAAAAYQIA\ +ACUAAAAgNRIAWgAAAG0CAAAXAAAAIDUSAFoAAACEAgAARwAAACA1EgBaAAAAhgIAADIAAAB8AAAAID\ +USAFoAAACaAgAACQAAACA1EgBaAAAApgIAADMAAAAgNRIAWgAAANECAAArAAAAKAAAACA1EgBaAAAA\ +wAIAAAkAAAAgNRIAWgAAAOwCAAAzAAAAKQAAACA1EgBaAAAA6wIAAAkAAAAgNRIAWgAAAB4DAAAzAA\ +AAIDUSAFoAAAA2AwAAEQAAACA1EgBaAAAAUAMAAA4AAABbAAAAIDUSAFoAAABLAwAACQAAACA1EgBa\ +AAAAbAMAADMAAAB1bmV4cGVjdGVkIGVtcHR5IGNoYXJhY3RlciBjbGFzcyBzdGFjawAAaDcSACYAAA\ +AgNRIAWgAAAHcDAAARAAAAdW5leHBlY3RlZCBDbGFzc1N0YXRlOjpPcAAAAKg3EgAZAAAAIDUSAFoA\ +AACAAwAAEQAAAF0AAAAgNRIAWgAAAGgDAAAJAAAAIDUSAFoAAACWAwAAMAAAAG5vIG9wZW4gY2hhcm\ +FjdGVyIGNsYXNzIGZvdW5kAAAAADgSAB0AAAAgNRIAWgAAAJ0DAAAJAAAAIDUSAFoAAACvAwAADgAA\ +ACA1EgBaAAAAuwMAADMAAAAgNRIAWgAAAMIDAAAVAAAAIDUSAFoAAAAEBAAALgAAAHBhcnNlciBjYW\ +4gb25seSBiZSB1c2VkIG9uY2V4OBIAHAAAAAAAAAAgNRIAWgAAANcDAAAJAAAAYXNzZXJ0aW9uIGZh\ +aWxlZDogc2VsZi5jaGFyKCkgPT0gJz8nIHx8IHNlbGYuY2hhcigpID09ICcqJyB8fCBzZWxmLmNoYX\ +IoKSA9PSAnKycgNRIAWgAAAB0EAAAJAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGFzc2Vy\ +dGlvbiBmYWlsZWQ6IHNlbGYuY2hhcigpID09ICd7JyA1EgBaAAAAUwQAAAkAAAA/UDw/PAAAADoAAA\ +AgNRIAWgAAAPoEAAARAAAAIDUSAFoAAADMBAAACQAAACA1EgBaAAAAMAUAACMAAAA+AAAAIDUSAFoA\ +AAAuBQAACQAAACA1EgBaAAAAXQUAADIAAAAgNRIAWgAAAGsFAAAyAAAAXAAAACA1EgBaAAAAyAUAAA\ +kAAAAgNRIAWgAAAG0GAAAxAAAAc3RhcnRlbmRzdGFydC1oYWxmZW5kLWhhbGYAAHsAAAAgNRIAWgAA\ +AFUGAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5wYXJzZXIoKS5vY3RhbAAAACA1EgBaAAAAkw\ +YAAAkAAABhc3NlcnRpb24gZmFpbGVkOiAnMCcgPD0gc2VsZi5jaGFyKCkgJiYgc2VsZi5jaGFyKCkg\ +PD0gJzcnAAAgNRIAWgAAAJQGAAAJAAAAIDUSAFoAAACdBgAAJAAAAHZhbGlkIG9jdGFsIG51bWJlcg\ +AAIDUSAFoAAAChBgAAKwAAAFVuaWNvZGUgc2NhbGFyIHZhbHVlIDUSAFoAAACkBgAAKwAAAGFzc2Vy\ +dGlvbiBmYWlsZWQ6IHNlbGYuY2hhcigpID09ICd4JyB8fCBzZWxmLmNoYXIoKSA9PSAndScgfHwgc2\ +VsZi5jaGFyKCkgPT0gJ1UnIDUSAFoAAACyBgAACQAAACA1EgBaAAAA0wYAADEAAAAgNRIAWgAAAP4G\ +AAAxAAAAfQAAACA1EgBaAAAAFAcAAAkAAAAgNRIAWgAAADQHAAAxAAAAIDUSAFoAAABlBwAAMwAAAC\ +YmYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5idW1wX2lmKCImJiIpAAAgNRIAWgAAAHQHAAAVAAAALS1h\ +c3NlcnRpb24gZmFpbGVkOiBzZWxmLmJ1bXBfaWYoIi0tIikAACA1EgBaAAAAewcAABUAAAB+fmFzc2\ +VydGlvbiBmYWlsZWQ6IHNlbGYuYnVtcF9pZigifn4iKQAAIDUSAFoAAACCBwAAFQAAACA1EgBaAAAA\ +VgcAAAkAAAAgNRIAWgAAAOkHAAAJAAAAIDUSAFoAAABdCAAAIwAAADpdAAAgNRIAWgAAAEQIAAAJAA\ +AAIDUSAFoAAAB6CAAAMQAAACE9AAAgNRIAWgAAAJUIAAAjAAAAIDUSAFoAAACWCAAAJAAAACA1EgBa\ +AAAAnggAACMAAAAgNRIAWgAAAJ8IAAAkAAAAIDUSAFoAAACnCAAAIwAAACA1EgBaAAAAqAgAACQAAA\ +AgNRIAWgAAAIwIAAANAAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5jaGFyKCkgPT0gJ3AnIHx8IHNl\ +bGYuY2hhcigpID09ICdQJwAAIDUSAFoAAAB4CAAACQAAAGV4cGVjdGVkIHZhbGlkIFBlcmwgY2xhc3\ +MgYnV0IGdvdCAnAHA9EgAjAAAA7loSAAEAAAAgNRIAWgAAANEIAAASAAAAIDUSAFoAAAAACQAAMAAA\ +AFx4AADEPRIAAgAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMm\ +JiYTE1MDAxZi9yZWdleC1zeW50YXgtMC44LjQvc3JjL2FzdC92aXNpdG9yLnJz0D0SAFwAAAAXAQAA\ +HgAAANA9EgBcAAAAGAEAAB4AAADQPRIAXAAAABMBAAAzAAAA0D0SAFwAAAATAQAARQAAANA9EgBcAA\ +AAKAEAAEUAAADQPRIAXAAAADEBAAAkAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRl\ +cy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LXN5bnRheC0wLjguNC9zcmMvYXN0L21vZC5yc4w+Eg\ +BYAAAAfwIAACIAAACMPhIAWAAAAJgCAAAiAAAAYWxudW1hbHBoYWFzY2lpYmxhbmtjbnRybGRpZ2l0\ +Z3JhcGhsb3dlcnByaW50cHVuY3RzcGFjZXVwcGVyd29yZHhkaWdpdAAAjD4SAFgAAADzBAAAIwAAAC\ +cgJwBcPxIAAwAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJi\ +YTE1MDAxZi9yZWdleC1zeW50YXgtMC44LjQvc3JjL2RlYnVnLnJzAABoPxIAVgAAABgAAAA9AAAAaD\ +8SAFYAAAAVAAAADQAAAOyaEgABAAAAaD8SAFYAAAAyAAAAGwAAAFwwAAD4PxIAAgAAAGg/EgBWAAAA\ +LgAAACMAAABoPxIAVgAAAGgAAAArAAAAAQAAAAEAAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZX\ +guY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtc3ludGF4LTAuOC40L3NyYy9oaXIvaW50\ +ZXJ2YWwucnMAAAAsQBIAXQAAAHkAAAAkAAAALEASAF0AAACmAAAAKgAAACxAEgBdAAAApgAAAEUAAA\ +AsQBIAXQAAAKoAAAAfAAAALEASAF0AAACqAAAAOQAAACxAEgBdAAAADQEAACQAAAAsQBIAXQAAANAA\ +AAAcAAAALEASAF0AAADQAAAANQAAACxAEgBdAAAA1gAAABsAAAAsQBIAXQAAANYAAAA1AAAALEASAF\ +0AAADdAAAAIQAAACxAEgBdAAAA3QAAAEgAAAAsQBIAXQAAAOoAAAAoAAAALEASAF0AAADsAAAAPgAA\ +ACxAEgBdAAAA7wAAAD0AAAAsQBIAXQAAAAIBAAAgAAAAYXNzZXJ0aW9uIGZhaWxlZDogIXNlbGYucm\ +FuZ2VzW2FdLmlzX2ludGVyc2VjdGlvbl9lbXB0eSgmb3RoZXIucmFuZ2VzW2JdKQAAACxAEgBdAAAA\ +3QAAAA0AAAAsQBIAXQAAANcAAAAoAAAALEASAF0AAAA5AQAAFwAAACxAEgBdAAAAOgEAACQAAAAsQB\ +IAXQAAAEIBAAAXAAAALEASAF0AAABDAQAAJAAAACxAEgBdAAAAPgEAACQAAAAsQBIAXQAAAD8BAAAk\ +AAAALEASAF0AAABsAQAAJAAAAGFzc2VydGlvbiBmYWlsZWQ6ICFzZWxmLnJhbmdlcy5pc19lbXB0eS\ +gpAAAALEASAF0AAABcAQAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IGFkZF9sb3dlciB8fCBhZGRfdXBw\ +ZXIsQBIAXQAAANABAAAJAAAALEASAF0AAAATAgAAHQAAACxAEgBdAAAAFgIAAB0AAAAsQBIAXQAAAC\ +gCAABHAAAALEASAF0AAAAvAgAAPQAAACxAEgBdAAAALwIAAEcAAAB+Ly5jYXJnby9yZWdpc3RyeS9z\ +cmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVnZXgtc3ludGF4LTAuOC40L3NyYy\ +9oaXIvbGl0ZXJhbC5yc2Fzc2VydGlvbiBmYWlsZWQ6IHNlcTEubGVuKCkubWFwX29yKHRydWUsIHx4\ +fCB4IDw9IHNlbGYubGltaXRfdG90YWwpLEMSAFwAAAA5AgAACQAAACxDEgBcAAAAZgIAAAkAAAAsQx\ +IAXAAAAGcGAAAYAAAALEMSAFwAAAB0BgAAEwAAACxDEgBcAAAAbQYAABoAAAAsQxIAXAAAAJwGAAAY\ +AAAALEMSAFwAAACqBgAAEwAAACxDEgBcAAAAowYAABoAAAAsQxIAXAAAAHgHAAARAAAABQAAAAoAAA\ +AEAAAACgAAAAMAAABAAAAAAgAAAEAAAAABAAAACgAAACxDEgBcAAAAzggAABUAAAAsQxIAXAAAAN4I\ +AAAoAAAALEMSAFwAAADyCAAAFQAAACxDEgBcAAAA4ggAAB4AAAAsQxIAXAAAAOQIAAAnAAAALEMSAF\ +wAAADkCAAAMwAAACxDEgBcAAAA5QgAADQAAAAsQxIAXAAAAOsIAAAgAAAANzQzMjEwLy4tZ/JCQ+Us\ +KyopKCcmJSQjIiE4IB8eHRz/lKSViKCbrd3ehnroytfg0NzMu7ezsaiyyOLDmriufni/ncKqvaKhls\ +GOiauwuae6cK/AvJyMj3uFgJOKknLfl/nY7uz949rm94e08en29OeL9fP768nE8NaYts21fxvU09LV\ +5MWpn4OsaVBiYGFRz5F0c5CCmXlrhG1ufG9SbHaNcYF3faV1XGpTSGNdQU+m7aPHvuHRy8bZ287q+J\ +7v////////////////////////////////////////////////////////////////////////////\ +/////////3RyaWVkIHRvIHVud3JhcCBleHByIGZyb20gSGlyRnJhbWUsIGdvdDogAAAABEYSACkAAA\ +B+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvcmVn\ +ZXgtc3ludGF4LTAuOC40L3NyYy9oaXIvdHJhbnNsYXRlLnJzAAA4RhIAXgAAAAEBAAASAAAAdHJpZW\ +QgdG8gdW53cmFwIFVuaWNvZGUgY2xhc3MgZnJvbSBIaXJGcmFtZSwgZ290OiAAAKhGEgAyAAAAOEYS\ +AF4AAAAKAQAAEgAAAHRyaWVkIHRvIHVud3JhcCBieXRlIGNsYXNzIGZyb20gSGlyRnJhbWUsIGdvdD\ +ogAPRGEgAvAAAAOEYSAF4AAAAXAQAAEgAAAHRyaWVkIHRvIHVud3JhcCByZXBldGl0aW9uIGZyb20g\ +SGlyRnJhbWUsIGdvdDogADxHEgAvAAAAOEYSAF4AAAAlAQAAEQAAAHRyaWVkIHRvIHVud3JhcCBncm\ +91cCBmcm9tIEhpckZyYW1lLCBnb3Q6IAAAhEcSACoAAAA4RhIAXgAAADQBAAARAAAAdHJpZWQgdG8g\ +dW53cmFwIGFsdCBwaXBlIGZyb20gSGlyRnJhbWUsIGdvdDogAAAAyEcSAC0AAAA4RhIAXgAAAD8BAA\ +ARAAAAOEYSAF4AAABOAQAAJwAAADhGEgBeAAAATwEAABcAAAABAAAAOEYSAF4AAABOAQAACQAAADhG\ +EgBeAAAArAEAAC4AAAA4RhIAXgAAAKMBAAAuAAAAOEYSAF4AAAC3AQAAJwAAADhGEgBeAAAAuAEAAB\ +wAAAA4RhIAXgAAALwBAAAnAAAAOEYSAF4AAAC9AQAALAAAADhGEgBeAAAAzgEAACAAAAA4RhIAXgAA\ +AP4BAAAuAAAAOEYSAF4AAAD6AQAALgAAADhGEgBeAAAACgIAAC4AAAA4RhIAXgAAAAYCAAAuAAAAOE\ +YSAF4AAAAZAgAALgAAADhGEgBeAAAAFAIAAC4AAAA4RhIAXgAAACACAAAqAAAAOEYSAF4AAAAsAgAA\ +LgAAADhGEgBeAAAAJwIAAC4AAAA4RhIAXgAAAD4CAAAvAAAAOEYSAF4AAABFAgAALwAAADhGEgBeAA\ +AAMwIAAC8AAAA4RhIAXgAAADoCAAAvAAAAOEYSAF4AAACMAgAAJgAAADhGEgBeAAAAjQIAACYAAAA4\ +RhIAXgAAAI4CAAAmAAAAOEYSAF4AAABzAgAAJgAAADhGEgBeAAAAdAIAACYAAAA4RhIAXgAAAHUCAA\ +AmAAAAOEYSAF4AAAC4AgAAHAAAADhGEgBeAAAAwwIAACwAAAA4RhIAXgAAANECAAAsAAAAOEYSAF4A\ +AADbAgAAHAAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdG\ +VkIGV4cHIgb3IgY29uY2F0LCBnb3QgVW5pY29kZSBjbGFzcyRKEgBUAAAAOEYSAF4AAADpAgAAEQAA\ +AGludGVybmFsIGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGV4cHIgb3\ +IgY29uY2F0LCBnb3QgYnl0ZSBjbGFzcwAAAJBKEgBRAAAAOEYSAF4AAADsAgAAEQAAAGludGVybmFs\ +IGVycm9yOiBlbnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGV4cHIgb3IgY29uY2F0LC\ +Bnb3QgcmVwZXRpdGlvbgAAAPxKEgBRAAAAOEYSAF4AAADvAgAAEQAAAGludGVybmFsIGVycm9yOiBl\ +bnRlcmVkIHVucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGV4cHIgb3IgY29uY2F0LCBnb3QgZ3JvdX\ +BoSxIATAAAADhGEgBeAAAA8gIAABEAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJs\ +ZSBjb2RlOiBleHBlY3RlZCBleHByIG9yIGNvbmNhdCwgZ290IGFsdCBtYXJrZXIAAADMSxIAUQAAAD\ +hGEgBeAAAA9QIAABEAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBl\ +eHBlY3RlZCBleHByIG9yIGNvbmNhdCwgZ290IGFsdCBicmFuY2ggbWFya2VyOEwSAFgAAAA4RhIAXg\ +AAAPgCAAARAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZXhwZWN0\ +ZWQgZXhwciBvciBhbHQsIGdvdCBVbmljb2RlIGNsYXNzAAAAqEwSAFEAAAA4RhIAXgAAAAgDAAARAA\ +AAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFjaGFibGUgY29kZTogZXhwZWN0ZWQgZXhwciBv\ +ciBhbHQsIGdvdCBieXRlIGNsYXNzAAAUTRIATgAAADhGEgBeAAAACwMAABEAAABpbnRlcm5hbCBlcn\ +JvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBleHBlY3RlZCBleHByIG9yIGFsdCwgZ290IHJl\ +cGV0aXRpb24AAHxNEgBOAAAAOEYSAF4AAAAOAwAAEQAAAGludGVybmFsIGVycm9yOiBlbnRlcmVkIH\ +VucmVhY2hhYmxlIGNvZGU6IGV4cGVjdGVkIGV4cHIgb3IgYWx0LCBnb3QgZ3JvdXAAAADkTRIASQAA\ +ADhGEgBeAAAAEQMAABEAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOi\ +BleHBlY3RlZCBleHByIG9yIGFsdCwgZ290IGNvbmNhdCBtYXJrZXIAAABIThIAUQAAADhGEgBeAAAA\ +FAMAABEAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBleHBlY3RlZC\ +BleHByIG9yIGFsdCwgZ290IGFsdCBicmFuY2ggbWFya2VyAAAAtE4SAFUAAAA4RhIAXgAAABcDAAAR\ +AAAAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5mbGFncygpLnVuaWNvZGUoKThGEgBeAAAAQwQAAAkAAA\ +AFDGFzc2VydGlvbiBmYWlsZWQ6ICFzZWxmLmZsYWdzKCkudW5pY29kZSgpADhGEgBeAAAAWQQAAAkA\ +AAAwOUFaYXpBWmF6AH8JCSAgAB9/fzA5IX5heiB+IS86QFtge34JCQoKCwsMDA0NICBBWjA5QVpfX2\ +F6MDlBRmFmfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUw\ +MDFmL3JlZ2V4LXN5bnRheC0wLjguNC9zcmMvaGlyL21vZC5yc9hPEgBYAAAA8gEAAB4AAADYTxIAWA\ +AAAE8CAAAeAAAA2E8SAFgAAAC/BAAALgAAANhPEgBYAAAAwAQAACoAAABw5hQAAgAAAENsYXNzVW5p\ +Y29kZVJhbmdlAAAA2E8SAFgAAAA6BgAANgAAAENsYXNzQnl0ZXNSYW5nZeKIhQAAq1ASAAMAAADYTx\ +IAWAAAAPcLAAASAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIy\ +YmJhMTUwMDFmL3JlZ2V4LXN5bnRheC0wLjguNC9zcmMvdW5pY29kZS5yc2Nmc2NsY0FnZVNjcmlwdF\ +9FeHRlbnNpb25zR3JhcGhlbWVfQ2x1c3Rlcl9CcmVha1NlbnRlbmNlX0JyZWFrV29yZF9CcmVha2Fu\ +eWFzc2lnbmVkQVNDSUlBc3NpZ25lZEFueURlY2ltYWxfTnVtYmVyV2hpdGVfU3BhY2XIUBIAWAAAAH\ +cDAAAcAAAAyFASAFgAAACoAwAALQAAAMhQEgBYAAAAqgMAAAkAAADIUBIAWAAAAKsDAAAJAAAAyFAS\ +AFgAAACuAwAADwAAAMhQEgBYAAAAoAMAAA0AAADIUBIAWAAAAJ0DAAANAAAAfi8uY2FyZ28vcmVnaX\ +N0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL3JlZ2V4LXN5bnRheC0wLjgu\ +NC9zcmMvdXRmOC5ycwAAAAxSEgBVAAAAcgAAAAkAAABpbnRlcm5hbCBlcnJvcjogZW50ZXJlZCB1bn\ +JlYWNoYWJsZSBjb2RlOiBpbnZhbGlkIGVuY29kZWQgbGVuZ3RoOiAAAHRSEgBCAAAADFISAFUAAACD\ +AAAAEgAAAAxSEgBVAAAAfQEAABsAAAAMUhIAVQAAAH4BAAAZAAAADFISAFUAAAC0AQAALQAAAAxSEg\ +BVAAAAtQEAACsAAAAMUhIAVQAAALgBAAAJAAAAaW50ZXJuYWwgZXJyb3I6IGVudGVyZWQgdW5yZWFj\ +aGFibGUgY29kZTogaW52YWxpZCBVVEYtOCBieXRlIHNlcXVlbmNlIHNpemUAACBTEgBKAAAADFISAF\ +UAAADDAQAADgAAAEludGVydmFsU2V0cmFuZ2VzZm9sZGVkRXhwckxpdGVyYWxDbGFzc1VuaWNvZGVD\ +bGFzc0J5dGVzUmVwZXRpdGlvbkdyb3Vwb2xkX2ZsYWdzQ29uY2F0QWx0ZXJuYXRpb25BbHRlcm5hdG\ +lvbkJyYW5jaAAAAAAAAAEAAAABAAAA+QIAAAAAAAAEAAAABAAAABQDAABjYXNlX2luc2Vuc2l0aXZl\ +bXVsdGlfbGluZWRvdF9tYXRjaGVzX25ld19saW5lc3dhcF9ncmVlZHVuaWNvZGVjcmxmABhUEgAQAA\ +AAKFQSAAoAAAAyVBIAFAAAAEZUEgAKAAAAUFQSAAcAAABXVBIABAAAAEZsYWdzQ2xhc3NMb29rQ2Fw\ +dHVyZXNldFN0YXJ0RW5kU3RhcnRMRkVuZExGU3RhcnRDUkxGRW5kQ1JMRldvcmRBc2NpaVdvcmRBc2\ +NpaU5lZ2F0ZVdvcmRVbmljb2RlV29yZFVuaWNvZGVOZWdhdGVXb3JkU3RhcnRBc2NpaVdvcmRFbmRB\ +c2NpaVdvcmRTdGFydFVuaWNvZGVXb3JkRW5kVW5pY29kZVdvcmRTdGFydEhhbGZBc2NpaVdvcmRFbm\ +RIYWxmQXNjaWlXb3JkU3RhcnRIYWxmVW5pY29kZVdvcmRFbmRIYWxmVW5pY29kZWluZGV4bmFtZXN1\ +Ym1pbm1heGdyZWVkeSgpL3J1c3RjL2VlYjkwY2RhMTk2OTM4M2Y1NmEyNjM3Y2JkMzAzN2JkZjU5OD\ +g0MWMvbGlicmFyeS9jb3JlL3NyYy9vcHMvZnVuY3Rpb24ucnMAAJZVEgBQAAAApgAAAAUAAABY4xQA\ +TwAAAMMFAAAUAAAAWOMUAE8AAADDBQAAIQAAAFjjFABPAAAAtwUAACEAAAAvcnVzdGMvZWViOTBjZG\ +ExOTY5MzgzZjU2YTI2MzdjYmQzMDM3YmRmNTk4ODQxYy9saWJyYXJ5L2NvcmUvc3JjL2VzY2FwZS5y\ +cwAAKFYSAEoAAABNAAAABQAAAAAAAAAAAAAAAQAAABUDAABFbXB0eUludmFsaWREaWdpdFBvc092ZX\ +JmbG93TmVnT3ZlcmZsb3daZXJvUGFyc2VJbnRFcnJvcgAAAAAMAAAABAAAABYDAAAXAwAAGAMAAFjj\ +FABPAAAARwQAACQAAABfWk4vcnVzdC9kZXBzL3J1c3RjLWRlbWFuZ2xlLTAuMS4yNC9zcmMvbGVnYW\ +N5LnJzAAAA91YSAC4AAAA9AAAACwAAAPdWEgAuAAAAOgAAAAsAAAD3VhIALgAAADYAAAALAAAA91YS\ +AC4AAABmAAAAHAAAAPdWEgAuAAAAbwAAACcAAAD3VhIALgAAAHAAAAAdAAAA91YSAC4AAAByAAAAIQ\ +AAAPdWEgAuAAAAcwAAABoAAAA6OgAA91YSAC4AAAB+AAAAHQAAAPdWEgAuAAAAtAAAACYAAAD3VhIA\ +LgAAALUAAAAhAAAA91YSAC4AAACKAAAASQAAAPdWEgAuAAAAiwAAAB8AAAD3VhIALgAAAIsAAAAvAA\ +AAQwAAAPdWEgAuAAAAnQAAADUAAAAoPjwmKkAAAPdWEgAuAAAAggAAACwAAAD3VhIALgAAAIQAAAAl\ +AAAA91YSAC4AAACHAAAAJQAAAAAAAAABAAAAAQAAABkDAAD3VhIALgAAAHIAAABIAAAAX19SL3J1c3\ +QvZGVwcy9ydXN0Yy1kZW1hbmdsZS0wLjEuMjQvc3JjL3YwLnJzAAAAe1gSACoAAAAyAAAAEwAAAHtY\ +EgAqAAAALwAAABMAAAB7WBIAKgAAACsAAAATAAAAAAAAAAAAAAABAAAA0QEAAGBmbXQ6OkVycm9yYH\ +Mgc2hvdWxkIGJlIGltcG9zc2libGUgd2l0aG91dCBhIGBmbXQ6OkZvcm1hdHRlcmAAAAB7WBIAKgAA\ +AEsAAAAOAAAAe1gSACoAAABaAAAAKAAAAHtYEgAqAAAAigAAAA0AAABwdW55Y29kZXstMAB7WBIAKg\ +AAAB4BAAAxAAAAe1gSACoAAAAxAQAAFgAAAHtYEgAqAAAANAEAAEcAAABpbnRlcm5hbCBlcnJvcjog\ +ZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2RlOiBzdHI6OmZyb21fdXRmOCgpID0gIHdhcyBleHBlY3RlZC\ +B0byBoYXZlIDEgY2hhciwgYnV0ICBjaGFycyB3ZXJlIGZvdW5klFkSADkAAADNWRIABAAAANFZEgAi\ +AAAA81kSABEAAAB7WBIAKgAAAFwBAAAaAAAAYm9vbGNoYXJzdHJpOGkxNmkzMmk2NGkxMjhpc2l6ZX\ +U4dTE2dTMydTY0dTEyOHVzaXplZjMyZjY0IV8uLi4AAHtYEgAqAAAAvwEAAB8AAAB7WBIAKgAAAB4C\ +AAAeAAAAe1gSACoAAAAjAgAAIgAAAHtYEgAqAAAAJAIAACUAAAB7WBIAKgAAAIcCAAARAAAAe2ludm\ +FsaWQgc3ludGF4fXtyZWN1cnNpb24gbGltaXQgcmVhY2hlZH0/J2Zvcjw+IDo6e2Nsb3N1cmVzaGlt\ +IyBhcyAgbXV0IGNvbnN0IDsgZHluICArIHVuc2FmZSBleHRlcm4gIgB7WBIAKgAAANQDAAAtAAAAIi\ +BmbiggLT4gID0gIHsgIH0AAAB7WBIAKgAAAMoEAAAtAAAALmxsdm0uL3J1c3QvZGVwcy9ydXN0Yy1k\ +ZW1hbmdsZS0wLjEuMjQvc3JjL2xpYi5ycwAAAGZbEgArAAAAYgAAABsAAABmWxIAKwAAAGkAAAATAA\ +AAe3NpemUgbGltaXQgcmVhY2hlZH0AAAAAAAAAAAEAAAAaAwAAYGZtdDo6RXJyb3JgIGZyb20gYFNp\ +emVMaW1pdGVkRm10QWRhcHRlcmAgd2FzIGRpc2NhcmRlZABmWxIAKwAAAFMBAAAeAAAAU2l6ZUxpbW\ +l0RXhoYXVzdGVkAAAFAAAADAAAAAsAAAALAAAABAAAAJRWEgCZVhIApVYSALBWEgC7VhIAAgAAAAQA\ +AAAEAAAAAwAAAAMAAAADAAAABAAAAAIAAAAFAAAABQAAAAQAAAADAAAAAwAAAAQAAAAEAAAAAQAAAA\ +QAAAAEAAAAAwAAAAMAAAACAAAAAwAAAAQAAAADAAAAAwAAAAEAAAA/WhIANFoSADhaEgBqWhIAPFoS\ +AGdaEgA0WhIAU1oSAE5aEgBiWhIANFoSAERaEgBYWhIASloSAF5aEgBuWhIANFoSADRaEgBBWhIAVV\ +oSAJRVEgBvWhIANFoSAEdaEgBbWhIAbVoSAGluZi1pbmZOYU4AAAEAAAAAAAAAAAAAAAAAACCamZmZ\ +mZmZmZmZmZmZmZkZFa5H4XoUrkfhehSuR+F6FN4kBoGVQ4ts5/up8dJNYhCW1AloImx4eqUsQxzr4j\ +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\ +ovIXhcKwlsigPwjV6nPBT4eymWM3YLB20EbDE20UsZ9tqze8BTzkiIBce9g8WeH9poUE1Y9IAtdWOc\ +VnI7wxMQg6RgbjHheFJ8Q+xOCrQYMC4wAAAAAAAIAAAABAAAABsDAAAcAwAAHQMAADEgZWxlbWVudC\ +BpbiBzZXF1ZW5jZSBlbGVtZW50cyBpbiBzZXF1ZW5jZQAAAQAAAAAAAAAphxIAFQAAADEgZWxlbWVu\ +dCBpbiBtYXAgZWxlbWVudHMgaW4gbWFwAQAAAAAAAABghxIAEAAAAGEgYm9vbGVhbmEgc3RyaW5nYn\ +l0ZSBhcnJheXBhdGggc3RyaW5nYm9vbGVhbiBgAKaHEgAJAAAAGJoSAAEAAABpbnRlZ2VyIGAAAADA\ +hxIACQAAABiaEgABAAAAY2hhcmFjdGVyIGAA3IcSAAsAAAAYmhIAAQAAAHN0cmluZyAA+IcSAAcAAA\ +B1bml0IHZhbHVlT3B0aW9uIHZhbHVlbmV3dHlwZSBzdHJ1Y3RzZXF1ZW5jZW1hcGVudW11bml0IHZh\ +cmlhbnRuZXd0eXBlIHZhcmlhbnR0dXBsZSB2YXJpYW50c3RydWN0IHZhcmlhbnRleHBsaWNpdCBwYW\ +5pY34vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9z\ +ZXJkZS0xLjAuMjEwL3NyYy9kZS9tb2QucnMAAAB/iBIAUgAAAOsIAAASAAAAGJoSAAEAAAAYmhIAAQ\ +AAAGAgb3IgYAAAGJoSAAEAAAD0iBIABgAAABiaEgABAAAAb25lIG9mICwgLjBhbnkgdmFsdWXTAQAA\ +DAAAAAQAAABXAgAA0wEAAAwAAAAEAAAAWAIAAFcCAAAoiRIA5AEAAFkCAABaAgAA5AEAAG4BAABmYW\ +lsZWQgdG8gd3JpdGUgd2hvbGUgYnVmZmVyZIkSABwAAAAXAAAAAAAAAAIAAACAiRIAL3J1c3RjL2Vl\ +YjkwY2RhMTk2OTM4M2Y1NmEyNjM3Y2JkMzAzN2JkZjU5ODg0MWMvbGlicmFyeS9zdGQvc3JjL2lvL2\ +1vZC5ycwAAAJiJEgBJAAAAoQYAACQAAADTAQAADAAAAAQAAAAeAwAAHwMAACADAAAAAAAAAAAAAAEA\ +AABiAQAAZmFsc2V0cnVlAAAAWOMUAE8AAAAaBgAAFAAAAFjjFABPAAAAGgYAACEAAABY4xQATwAAAA\ +4GAAAUAAAAWOMUAE8AAAAOBgAAIQAAADAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYx\ +NzE4MTkyMDIxMjIyMzI0MjUyNjI3MjgyOTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1ND\ +Y0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2Njc2ODY5NzA3MTcyNzM3NDc1\ +NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5WOMUAE8AAACbBA\ +AAJAAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAx\ +Zi9pbmRleG1hcC0yLjUuMC9zcmMvbWFwLnJzQIsSAFAAAAC5AgAAGgAAAECLEgBQAAAA8wIAAB4AAA\ +B+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvaW5k\ +ZXhtYXAtMi41LjAvc3JjL21hcC9jb3JlLnJzAAAAsIsSAFUAAAAtAAAAIwAAALCLEgBVAAAAUwEAAD\ +0AAAB+Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYv\ +aW5kZXhtYXAtMi41LjAvc3JjL21hcC9jb3JlL3Jhdy5ycwAAACiMEgBZAAAAkwAAAB4AAAAojBIAWQ\ +AAAFQAAAAuAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJh\ +MTUwMDFmL2luZGV4bWFwLTIuNS4wL3NyYy9tYXAvY29yZS9lbnRyeS5ycwCkjBIAWwAAAEkBAAAZAA\ +AAsIsSAFUAAAAlAAAADwAAAAAAAAAAAPA/AAAAAAAAJEAAAAAAAABZQAAAAAAAQI9AAAAAAACIw0AA\ +AAAAAGr4QAAAAACAhC5BAAAAANASY0EAAAAAhNeXQQAAAABlzc1BAAAAIF+gAkIAAADodkg3QgAAAK\ +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\ +Rvf1zIgLzDGXDPOX3QVRpQcEOInETrIIRwVKrDFSYpuXDplDSbb3PvcBHdAMElqCNxVhRBMS+SWHFr\ +WZH9uraOcePXet40MsNx3I0ZFsL+93FT8Z+bcv4tctT2Q6EHv2JyifSUiclul3KrMfrre0rNcgtffH\ +ONTgJzzXZb0DDiNnOBVHIEvZpsc9B0xyK24KFzBFJ5q+NY1nOGpleWHO8LdBTI9t1xdUF0GHp0Vc7S\ +dXSemNHqgUerdGP/wjKxDOF0PL9zf91PFXULr1Df1KNKdWdtkgtlpoB1wAh3Tv7PtHXxyhTi/QPqdd\ +b+TK1+QiB2jD6gWB5TVHYvTsju5WeJdrthemrfwb92FX2MoivZ83ZanC+Lds8od3CD+y1UA193JjK9\ +nBRik3ewfuzDmTrId1ye5zRASf53+cIQIcjtMni481QpOqlneKUwqrOIk514Z15KcDV80ngB9lzMQh\ +sHeYIzdH8T4jx5MaCoL0wNcnk9yJI7n5CmeU16dwrHNNx5cKyKZvygEXqMVy2AOwlGem+tOGCKi3t6\ +ZWwjfDY3sXp/RywbBIXlel5Z9yFF5hp725c6NevPUHvSPYkC5gOFe0aNK4PfRLp7TDj7sQtr8HtfBn\ +qezoUkfPaHGEZCp1l8+lTPa4kIkHw4KsPGqwrEfMf0c7hWDfl8+PGQZqxQL307lxrAa5JjfQo9IbAG\ +d5h9TIwpXMiUzn2w95k5/RwDfpx1AIg85Dd+A5MAqkvdbX7iW0BKT6qiftpy0BzjVNd+kI8E5BsqDX\ ++62YJuUTpCfymQI8rlyHZ/M3SsPB97rH+gyOuF88zhf3VsbHJ1ZWFsc2VpbnRlcm5hbCBlcnJvcjog\ +ZW50ZXJlZCB1bnJlYWNoYWJsZSBjb2Rlfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy\ +5pby02ZjE3ZDIyYmJhMTUwMDFmL3NlcmRlX2pzb24tMS4wLjEyOC9zcmMvZXJyb3IucnNFT0Ygd2hp\ +bGUgcGFyc2luZyBhIGxpc3RFT0Ygd2hpbGUgcGFyc2luZyBhbiBvYmplY3RFT0Ygd2hpbGUgcGFyc2\ +luZyBhIHN0cmluZ0VPRiB3aGlsZSBwYXJzaW5nIGEgdmFsdWVleHBlY3RlZCBgOmBleHBlY3RlZCBg\ +LGAgb3IgYF1gZXhwZWN0ZWQgYCxgIG9yIGB9YGV4cGVjdGVkIGlkZW50ZXhwZWN0ZWQgdmFsdWVleH\ +BlY3RlZCBgImBpbnZhbGlkIGVzY2FwZWludmFsaWQgbnVtYmVybnVtYmVyIG91dCBvZiByYW5nZWlu\ +dmFsaWQgdW5pY29kZSBjb2RlIHBvaW50Y29udHJvbCBjaGFyYWN0ZXIgKFx1MDAwMC1cdTAwMUYpIG\ +ZvdW5kIHdoaWxlIHBhcnNpbmcgYSBzdHJpbmdrZXkgbXVzdCBiZSBhIHN0cmluZ2ludmFsaWQgdmFs\ +dWU6IGV4cGVjdGVkIGtleSB0byBiZSBhIG51bWJlciBpbiBxdW90ZXNmbG9hdCBrZXkgbXVzdCBiZS\ +BmaW5pdGUgKGdvdCBOYU4gb3IgKy8taW5mKWxvbmUgbGVhZGluZyBzdXJyb2dhdGUgaW4gaGV4IGVz\ +Y2FwZXRyYWlsaW5nIGNvbW1hdHJhaWxpbmcgY2hhcmFjdGVyc3VuZXhwZWN0ZWQgZW5kIG9mIGhleC\ +Blc2NhcGVyZWN1cnNpb24gbGltaXQgZXhjZWVkZWQgYXQgbGluZSAgY29sdW1uIAAAAAEAAAAAAAAA\ +hJkSAAkAAACNmRIACAAAAEVycm9yKCwgbGluZTogLCBjb2x1bW46ILCZEgAGAAAAtpkSAAgAAAC+mR\ +IACgAAAErtFAABAAAAaW52YWxpZCB2YWx1ZTogAOiZEgAPAAAAvqISAAsAAABmbG9hdGluZyBwb2lu\ +dCBgYAAAAAiaEgAQAAAAGJoSAAEAAABudWxs+pYSAFYAAAD3AQAAIQAAAPqWEgBWAAAA+wEAAAwAAA\ +D6lhIAVgAAAAICAAAhAAAA+pYSAFYAAAALAgAAKgAAAPqWEgBWAAAADwIAACwAAABhIG1hcH4vLmNh\ +cmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zZXJkZV9qc2\ +9uLTEuMC4xMjgvc3JjL3Nlci5ycwAAAIWaEgBUAAAACwYAABIAAAAiXCJcXFwvXGJcZlxuXHJcdDAx\ +MjM0NTY3ODlhYmNkZWYse30gICwKhZoSAFQAAAAuCAAAMwAAAIWaEgBUAAAAIQgAAEAAAAB1dXV1dX\ +V1dWJ0bnVmcnV1dXV1dXV1dXV1dXV1dXV1dQAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAAAAAAAAAAAAAAAAAZm10IGVycm9yYW55IHZhbGlkIEpTT04gdmFsdWVhIHN0cmluZyBrZXl+\ +Ly5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMTdkMjJiYmExNTAwMWYvc2VyZG\ +VfanNvbi0xLjAuMTI4L3NyYy92YWx1ZS9pbmRleC5yc2Nhbm5vdCBhY2Nlc3Mga2V5ICBpbiBKU09O\ +ILmcEgASAAAAy5wSAAkAAABdnBIAXAAAAGYAAAASAAAAYm9vbGVhbm51bWJlcnN0cmluZ2FycmF5b2\ +JqZWN0fi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFm\ +L3NlcmRlX2pzb24tMS4wLjEyOC9zcmMvcmVhZC5ycwASnRIAVQAAAKABAABFAAAAEp0SAFUAAAClAQ\ +AAPQAAABKdEgBVAAAArQEAABoAAAASnRIAVQAAALMBAAAfAAAAEp0SAFUAAAD6AQAAEwAAABKdEgBV\ +AAAAAwIAAD4AAAASnRIAVQAAAP8BAAAzAAAAEp0SAFUAAAAJAgAAOgAAABKdEgBVAAAAaAIAABkAAA\ +D/////////////////////////////////////////////////////////////////////////////\ +//////////////////////////////////////////////////8AAAEAAgADAAQABQAGAAcACAAJAP\ +//////////////////CgALAAwADQAOAA8A////////////////////////////////////////////\ +/////////////////////////woACwAMAA0ADgAPAP////////////////////////////////////\ +//////////////////////////////////////////////////////////////////////////////\ +//////////////////////////////////////////////////////////////////////////////\ +//////////////////////////////////////////////////////////////////////////////\ +//////////////////////////////////////////////////////////////////////////////\ +//////////////////////////////////////////////////////////////////////////////\ +//////////////////////////////////////////////////////////////////////////////\ +///////////////////////////////wAAEAAgADAAQABQAGAAcACAAJAA//////////////////+g\ +ALAAwADQAOAA8AD///////////////////////////////////////////////////////////////\ +//////oACwAMAA0ADgAPAA////////////////////////////////////////////////////////\ +//////////////////////////////////////////////////////////////////////////////\ +//////////////////////////////////////////////////////////////////////////////\ +//////////////////////////////////////////////////////////////////////////////\ +//////////////////////////////////////////////////////////////////////////////\ +////////////////////////////////////////AAAAAAAAAAABAAAAIQMAAGNhbm5vdCBhY2Nlc3\ +MgYSBUaHJlYWQgTG9jYWwgU3RvcmFnZSB2YWx1ZSBkdXJpbmcgb3IgYWZ0ZXIgZGVzdHJ1Y3Rpb24v\ +cnVzdGMvZWViOTBjZGExOTY5MzgzZjU2YTI2MzdjYmQzMDM3YmRmNTk4ODQxYy9saWJyYXJ5L3N0ZC\ +9zcmMvdGhyZWFkL2xvY2FsLnJzAAAATqISAE8AAAAEAQAAGgAAAGludmFsaWQgdHlwZTogLCBleHBl\ +Y3RlZCAAAACwohIADgAAAL6iEgALAAAAAAAAAP//////////4KISAAAAAAAAAAAAAAAAAH4vLmNhcm\ +dvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi9zZXJkZS13YXNt\ +LWJpbmRnZW4tMC42LjUvc3JjL2xpYi5ycwAA+KISAFoAAAA1AAAADgAAAHJlZW50cmFudCBpbml0AA\ +BkoxIADgAAAC9ydXN0Yy9lZWI5MGNkYTE5NjkzODNmNTZhMjYzN2NiZDMwMzdiZGY1OTg4NDFjL2xp\ +YnJhcnkvY29yZS9zcmMvY2VsbC9vbmNlLnJzAAAAfKMSAE0AAAAkAQAAQgAAAAAAAAAAAAAABAAAAA\ +QAAAAiAwAAL3J1c3QvZGVwcy9kbG1hbGxvYy0wLjIuNi9zcmMvZGxtYWxsb2MucnNhc3NlcnRpb24g\ +ZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAPCjEgApAAAAqAQAAAkAAABhc3Nlcn\ +Rpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAADwoxIAKQAAAK4EAAANAAAA\ +QWNjZXNzRXJyb3J1c2Ugb2Ygc3RkOjp0aHJlYWQ6OmN1cnJlbnQoKSBpcyBub3QgcG9zc2libGUgYW\ +Z0ZXIgdGhlIHRocmVhZCdzIGxvY2FsIGRhdGEgaGFzIGJlZW4gZGVzdHJveWVkbGlicmFyeS9zdGQv\ +c3JjL3RocmVhZC9tb2QucnMAAAGlEgAdAAAAAQMAABMAAABmYWlsZWQgdG8gZ2VuZXJhdGUgdW5pcX\ +VlIHRocmVhZCBJRDogYml0c3BhY2UgZXhoYXVzdGVkADClEgA3AAAAAaUSAB0AAADUBAAADQAAAGxp\ +YnJhcnkvc3RkL3NyYy9iYWNrdHJhY2UucnNvcGVyYXRpb24gbm90IHN1cHBvcnRlZCBvbiB0aGlzIH\ +BsYXRmb3JtnKUSACgAAAAkAAAAAgAAAMSlEgB1bnN1cHBvcnRlZCBiYWNrdHJhY2VkaXNhYmxlZCBi\ +YWNrdHJhY2UAgKUSABwAAACKAQAAHQAAACMDAAAQAAAABAAAACQDAAAlAwAAZW50aXR5IG5vdCBmb3\ +VuZHBlcm1pc3Npb24gZGVuaWVkY29ubmVjdGlvbiByZWZ1c2VkY29ubmVjdGlvbiByZXNldGhvc3Qg\ +dW5yZWFjaGFibGVuZXR3b3JrIHVucmVhY2hhYmxlY29ubmVjdGlvbiBhYm9ydGVkbm90IGNvbm5lY3\ +RlZGFkZHJlc3MgaW4gdXNlYWRkcmVzcyBub3QgYXZhaWxhYmxlbmV0d29yayBkb3duYnJva2VuIHBp\ +cGVlbnRpdHkgYWxyZWFkeSBleGlzdHNvcGVyYXRpb24gd291bGQgYmxvY2tub3QgYSBkaXJlY3Rvcn\ +lpcyBhIGRpcmVjdG9yeWRpcmVjdG9yeSBub3QgZW1wdHlyZWFkLW9ubHkgZmlsZXN5c3RlbSBvciBz\ +dG9yYWdlIG1lZGl1bWZpbGVzeXN0ZW0gbG9vcCBvciBpbmRpcmVjdGlvbiBsaW1pdCAoZS5nLiBzeW\ +1saW5rIGxvb3Apc3RhbGUgbmV0d29yayBmaWxlIGhhbmRsZWludmFsaWQgaW5wdXQgcGFyYW1ldGVy\ +aW52YWxpZCBkYXRhdGltZWQgb3V0d3JpdGUgemVyb25vIHN0b3JhZ2Ugc3BhY2VzZWVrIG9uIHVuc2\ +Vla2FibGUgZmlsZWZpbGVzeXN0ZW0gcXVvdGEgZXhjZWVkZWRmaWxlIHRvbyBsYXJnZXJlc291cmNl\ +IGJ1c3lleGVjdXRhYmxlIGZpbGUgYnVzeWRlYWRsb2NrY3Jvc3MtZGV2aWNlIGxpbmsgb3IgcmVuYW\ +1ldG9vIG1hbnkgbGlua3NpbnZhbGlkIGZpbGVuYW1lYXJndW1lbnQgbGlzdCB0b28gbG9uZ29wZXJh\ +dGlvbiBpbnRlcnJ1cHRlZHVuc3VwcG9ydGVkdW5leHBlY3RlZCBlbmQgb2YgZmlsZW91dCBvZiBtZW\ +1vcnlvdGhlciBlcnJvcnVuY2F0ZWdvcml6ZWQgZXJyb3JPc2NvZGVraW5kbWVzc2FnZUtpbmRDdXN0\ +b21lcnJvciAob3MgZXJyb3IgAQAAAAAAAAAxqRIACwAAAErtFAABAAAAOiBsaWJyYXJ5L3N0ZC9zcm\ +MvcGF0aC5ycwAAAFapEgAXAAAA1AIAACEAAABWqRIAFwAAAPsCAAAsAAAAVqkSABcAAAD9AgAAJgAA\ +AFapEgAXAAAACgMAACcAAABWqRIAFwAAABYDAAAnAAAAVqkSABcAAACAAwAAKQAAAFapEgAXAAAAgQ\ +MAACsAAABWqRIAFwAAAJYDAAAvAAAAVqkSABcAAACOAwAALwAAAFapEgAXAAAAnAMAACsAAABWqRIA\ +FwAAAMQDAAAvAAAAVqkSABcAAAC9AwAALwAAAFapEgAXAAAAsgMAACsAAABsaWJyYXJ5L3N0ZC9zcm\ +Mvc3luYy9sYXp5X2xvY2sucnMAAABAqhIAIQAAAJ0AAAATAAAAY2Fubm90IHJlY3Vyc2l2ZWx5IGFj\ +cXVpcmUgbXV0ZXh0qhIAIAAAAGxpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9tdXRleC9ub190aHJlYW\ +RzLnJznKoSACwAAAAUAAAACQAAADx1bmtub3duPu+/vQpsaWJyYXJ5L3N0ZC9zcmMvLi4vLi4vYmFj\ +a3RyYWNlL3NyYy9zeW1ib2xpemUvbW9kLnJzAAAA5aoSADQAAABnAQAAMAAAAAEAAAAAAAAAVKkSAA\ +IAAAAgLSAAAQAAAAAAAAA8qxIAAwAAACAgICAgICAgICAgICAgICAgICBhdCBOb3RGb3VuZFBlcm1p\ +c3Npb25EZW5pZWRDb25uZWN0aW9uUmVmdXNlZENvbm5lY3Rpb25SZXNldEhvc3RVbnJlYWNoYWJsZU\ +5ldHdvcmtVbnJlYWNoYWJsZUNvbm5lY3Rpb25BYm9ydGVkTm90Q29ubmVjdGVkQWRkckluVXNlQWRk\ +ck5vdEF2YWlsYWJsZU5ldHdvcmtEb3duQnJva2VuUGlwZUFscmVhZHlFeGlzdHNXb3VsZEJsb2NrTm\ +90QURpcmVjdG9yeUlzQURpcmVjdG9yeURpcmVjdG9yeU5vdEVtcHR5UmVhZE9ubHlGaWxlc3lzdGVt\ +RmlsZXN5c3RlbUxvb3BTdGFsZU5ldHdvcmtGaWxlSGFuZGxlSW52YWxpZElucHV0SW52YWxpZERhdG\ +FUaW1lZE91dFdyaXRlWmVyb1N0b3JhZ2VGdWxsTm90U2Vla2FibGVGaWxlc3lzdGVtUXVvdGFFeGNl\ +ZWRlZEZpbGVUb29MYXJnZVJlc291cmNlQnVzeUV4ZWN1dGFibGVGaWxlQnVzeURlYWRsb2NrQ3Jvc3\ +Nlc0RldmljZXNUb29NYW55TGlua3NJbnZhbGlkRmlsZW5hbWVBcmd1bWVudExpc3RUb29Mb25nSW50\ +ZXJydXB0ZWRVbnN1cHBvcnRlZFVuZXhwZWN0ZWRFb2ZPdXRPZk1lbW9yeU90aGVyVW5jYXRlZ29yaX\ +plZG9wZXJhdGlvbiBzdWNjZXNzZnVsT25jZSBpbnN0YW5jZSBoYXMgcHJldmlvdXNseSBiZWVuIHBv\ +aXNvbmVkAACYrRIAKgAAAG9uZS10aW1lIGluaXRpYWxpemF0aW9uIG1heSBub3QgYmUgcGVyZm9ybW\ +VkIHJlY3Vyc2l2ZWx5zK0SADgAAAAQAAAAEQAAABIAAAAQAAAAEAAAABMAAAASAAAADQAAAA4AAAAV\ +AAAADAAAAAsAAAAVAAAAFQAAAA8AAAAOAAAAEwAAACYAAAA4AAAAGQAAABcAAAAMAAAACQAAAAoAAA\ +AQAAAAFwAAABkAAAAOAAAADQAAABQAAAAIAAAAGwAAAA4AAAAQAAAAFgAAABUAAAALAAAAFgAAAA0A\ +AAALAAAAEwAAACSmEgA0phIARaYSAFemEgBnphIAd6YSAIqmEgCcphIAqaYSALemEgDMphIA2KYSAO\ +OmEgD4phIADacSABynEgAqpxIAPacSAGOnEgCbpxIAtKcSAMunEgDXpxIA4KcSAOqnEgD6pxIAEagS\ +ACqoEgA4qBIARagSAFmoEgBhqBIAfKgSAIqoEgCaqBIAsKgSAMWoEgDQqBIA5qgSAPOoEgD+qBIACA\ +AAABAAAAARAAAADwAAAA8AAAASAAAAEQAAAAwAAAAJAAAAEAAAAAsAAAAKAAAADQAAAAoAAAANAAAA\ +DAAAABEAAAASAAAADgAAABYAAAAMAAAACwAAAAgAAAAJAAAACwAAAAsAAAAXAAAADAAAAAwAAAASAA\ +AACAAAAA4AAAAMAAAADwAAABMAAAALAAAACwAAAA0AAAALAAAABQAAAA0AAABmqxIAbqsSAH6rEgCP\ +qxIAnqsSAK2rEgC/qxIA0KsSANyrEgDlqxIA9asSAACsEgAKrBIAF6wSACGsEgAurBIAOqwSAEusEg\ +BdrBIAa6wSAIGsEgCNrBIAmKwSAKCsEgCprBIAtKwSAL+sEgDWrBIA4qwSAO6sEgAArRIACK0SABat\ +EgAirRIAMa0SAEStEgBPrRIAWq0SAGetEgByrRIAd60SAAAAAAAIAAAAAwAAAAkAAAAJAAAAFQAAAA\ +oAAAAKAAAAAgAAAAsAAAALAAAAFQAAAAwAAAAMAAAAFgAAAA0AAAANAAAAAgAAAA4AAAAbAAAAAwAA\ +ABwAAAAeAAAAAgAAAB8AAAAfAAAAFQAAACAAAAAgAAAAFgAAACEAAAAiAAAADgAAACMAAAAlAAAABw\ +AAACYAAAAqAAAADgAAACsAAAArAAAABgAAACwAAAAsAAAABAAAAC0AAAAtAAAABgAAAC4AAAAvAAAA\ +BAAAADAAAAA5AAAABQAAADoAAAA6AAAABAAAADsAAABAAAAADgAAAEEAAABaAAAACQAAAFsAAABgAA\ +AADgAAAGEAAAB6AAAACQAAAHsAAAB+AAAADgAAAH8AAACEAAAAAwAAAIUAAACFAAAAAgAAAIYAAACf\ +AAAAAwAAAKAAAACgAAAABAAAAKEAAAChAAAADgAAAKIAAAClAAAABwAAAKYAAACpAAAADgAAAKoAAA\ +CqAAAACQAAAKsAAACsAAAADgAAAK0AAACtAAAAAwAAAK4AAACvAAAADgAAALAAAACxAAAABwAAALIA\ +AACzAAAABQAAALQAAAC0AAAADgAAALUAAAC1AAAACQAAALYAAAC4AAAADgAAALkAAAC5AAAABQAAAL\ +oAAAC6AAAACQAAALsAAAC/AAAADgAAAMAAAADWAAAACQAAANcAAADXAAAADgAAANgAAAD2AAAACQAA\ +APcAAAD3AAAADgAAAPgAAAC4AgAACQAAALkCAAC6AgAADgAAALsCAADBAgAACQAAAMICAADPAgAADg\ +AAANACAADRAgAACQAAANICAADfAgAADgAAAOACAADkAgAACQAAAOUCAADtAgAADgAAAO4CAADuAgAA\ +CQAAAO8CAAD/AgAADgAAAAADAABvAwAADQAAAHADAABzAwAACQAAAHQDAAB1AwAADgAAAHYDAAB3Aw\ +AACQAAAHoDAAB9AwAACQAAAH4DAAB+AwAADgAAAH8DAAB/AwAACQAAAIQDAACFAwAADgAAAIYDAACG\ +AwAACQAAAIcDAACHAwAADgAAAIgDAACKAwAACQAAAIwDAACMAwAACQAAAI4DAAChAwAACQAAAKMDAA\ +D1AwAACQAAAPYDAAD2AwAADgAAAPcDAACCBAAACQAAAIMEAACJBAAADQAAAIoEAAAvBQAACQAAADEF\ +AABWBQAACQAAAFkFAACJBQAACQAAAIoFAACKBQAADgAAAI0FAACOBQAADgAAAI8FAACPBQAABwAAAJ\ +AFAACQBQAAEQAAAJEFAAC9BQAADQAAAL4FAAC+BQAAEQAAAL8FAAC/BQAADQAAAMAFAADABQAAEQAA\ +AMEFAADCBQAADQAAAMMFAADDBQAAEQAAAMQFAADFBQAADQAAAMYFAADGBQAAEQAAAMcFAADHBQAADQ\ +AAAMgFAAD/BQAAEQAAAAAGAAAFBgAAAQAAAAYGAAAHBgAADgAAAAgGAAAIBgAAAAAAAAkGAAAKBgAA\ +BwAAAAsGAAALBgAAAAAAAAwGAAAMBgAABAAAAA0GAAANBgAAAAAAAA4GAAAPBgAADgAAABAGAAAaBg\ +AADQAAABsGAABKBgAAAAAAAEsGAABfBgAADQAAAGAGAABpBgAAAQAAAGoGAABqBgAABwAAAGsGAABs\ +BgAAAQAAAG0GAABvBgAAAAAAAHAGAABwBgAADQAAAHEGAADVBgAAAAAAANYGAADcBgAADQAAAN0GAA\ +DdBgAAAQAAAN4GAADeBgAADgAAAN8GAADkBgAADQAAAOUGAADmBgAAAAAAAOcGAADoBgAADQAAAOkG\ +AADpBgAADgAAAOoGAADtBgAADQAAAO4GAADvBgAAAAAAAPAGAAD5BgAABQAAAPoGAAAQBwAAAAAAAB\ +EHAAARBwAADQAAABIHAAAvBwAAAAAAADAHAABKBwAADQAAAEsHAAClBwAAAAAAAKYHAACwBwAADQAA\ +ALEHAAC/BwAAAAAAAMAHAADqBwAAEQAAAOsHAADzBwAADQAAAPQHAAD1BwAAEQAAAPYHAAD5BwAADg\ +AAAPoHAAD8BwAAEQAAAP0HAAD9BwAADQAAAP4HAAAVCAAAEQAAABYIAAAZCAAADQAAABoIAAAaCAAA\ +EQAAABsIAAAjCAAADQAAACQIAAAkCAAAEQAAACUIAAAnCAAADQAAACgIAAAoCAAAEQAAACkIAAAtCA\ +AADQAAAC4IAABYCAAAEQAAAFkIAABbCAAADQAAAFwIAABfCAAAEQAAAGAIAABqCAAAAAAAAGsIAABv\ +CAAAEQAAAHAIAACOCAAAAAAAAI8IAACPCAAAEQAAAJAIAACRCAAAAQAAAJIIAACXCAAAEQAAAJgIAA\ +CfCAAADQAAAKAIAADJCAAAAAAAAMoIAADhCAAADQAAAOIIAADiCAAAAQAAAOMIAAACCQAADQAAAAMJ\ +AAA5CQAACQAAADoJAAA6CQAADQAAADsJAAA7CQAACQAAADwJAAA8CQAADQAAAD0JAABACQAACQAAAE\ +EJAABICQAADQAAAEkJAABMCQAACQAAAE0JAABNCQAADQAAAE4JAABQCQAACQAAAFEJAABXCQAADQAA\ +AFgJAABhCQAACQAAAGIJAABjCQAADQAAAGQJAACACQAACQAAAIEJAACBCQAADQAAAIIJAACDCQAACQ\ +AAAIUJAACMCQAACQAAAI8JAACQCQAACQAAAJMJAACoCQAACQAAAKoJAACwCQAACQAAALIJAACyCQAA\ +CQAAALYJAAC5CQAACQAAALwJAAC8CQAADQAAAL0JAADACQAACQAAAMEJAADECQAADQAAAMcJAADICQ\ +AACQAAAMsJAADMCQAACQAAAM0JAADNCQAADQAAAM4JAADOCQAACQAAANcJAADXCQAACQAAANwJAADd\ +CQAACQAAAN8JAADhCQAACQAAAOIJAADjCQAADQAAAOYJAADxCQAACQAAAPIJAADzCQAABwAAAPQJAA\ +D6CQAACQAAAPsJAAD7CQAABwAAAPwJAAD9CQAACQAAAP4JAAD+CQAADQAAAAEKAAACCgAADQAAAAMK\ +AAADCgAACQAAAAUKAAAKCgAACQAAAA8KAAAQCgAACQAAABMKAAAoCgAACQAAACoKAAAwCgAACQAAAD\ +IKAAAzCgAACQAAADUKAAA2CgAACQAAADgKAAA5CgAACQAAADwKAAA8CgAADQAAAD4KAABACgAACQAA\ +AEEKAABCCgAADQAAAEcKAABICgAADQAAAEsKAABNCgAADQAAAFEKAABRCgAADQAAAFkKAABcCgAACQ\ +AAAF4KAABeCgAACQAAAGYKAABvCgAACQAAAHAKAABxCgAADQAAAHIKAAB0CgAACQAAAHUKAAB1CgAA\ +DQAAAHYKAAB2CgAACQAAAIEKAACCCgAADQAAAIMKAACDCgAACQAAAIUKAACNCgAACQAAAI8KAACRCg\ +AACQAAAJMKAACoCgAACQAAAKoKAACwCgAACQAAALIKAACzCgAACQAAALUKAAC5CgAACQAAALwKAAC8\ +CgAADQAAAL0KAADACgAACQAAAMEKAADFCgAADQAAAMcKAADICgAADQAAAMkKAADJCgAACQAAAMsKAA\ +DMCgAACQAAAM0KAADNCgAADQAAANAKAADQCgAACQAAAOAKAADhCgAACQAAAOIKAADjCgAADQAAAOYK\ +AADwCgAACQAAAPEKAADxCgAABwAAAPkKAAD5CgAACQAAAPoKAAD/CgAADQAAAAELAAABCwAADQAAAA\ +ILAAADCwAACQAAAAULAAAMCwAACQAAAA8LAAAQCwAACQAAABMLAAAoCwAACQAAACoLAAAwCwAACQAA\ +ADILAAAzCwAACQAAADULAAA5CwAACQAAADwLAAA8CwAADQAAAD0LAAA+CwAACQAAAD8LAAA/CwAADQ\ +AAAEALAABACwAACQAAAEELAABECwAADQAAAEcLAABICwAACQAAAEsLAABMCwAACQAAAE0LAABNCwAA\ +DQAAAFULAABWCwAADQAAAFcLAABXCwAACQAAAFwLAABdCwAACQAAAF8LAABhCwAACQAAAGILAABjCw\ +AADQAAAGYLAAB3CwAACQAAAIILAACCCwAADQAAAIMLAACDCwAACQAAAIULAACKCwAACQAAAI4LAACQ\ +CwAACQAAAJILAACVCwAACQAAAJkLAACaCwAACQAAAJwLAACcCwAACQAAAJ4LAACfCwAACQAAAKMLAA\ +CkCwAACQAAAKgLAACqCwAACQAAAK4LAAC5CwAACQAAAL4LAAC/CwAACQAAAMALAADACwAADQAAAMEL\ +AADCCwAACQAAAMYLAADICwAACQAAAMoLAADMCwAACQAAAM0LAADNCwAADQAAANALAADQCwAACQAAAN\ +cLAADXCwAACQAAAOYLAADyCwAACQAAAPMLAAD4CwAADgAAAPkLAAD5CwAABwAAAPoLAAD6CwAADgAA\ +AAAMAAAADAAADQAAAAEMAAADDAAACQAAAAQMAAAEDAAADQAAAAUMAAAMDAAACQAAAA4MAAAQDAAACQ\ +AAABIMAAAoDAAACQAAACoMAAA5DAAACQAAADwMAAA8DAAADQAAAD0MAAA9DAAACQAAAD4MAABADAAA\ +DQAAAEEMAABEDAAACQAAAEYMAABIDAAADQAAAEoMAABNDAAADQAAAFUMAABWDAAADQAAAFgMAABaDA\ +AACQAAAF0MAABdDAAACQAAAGAMAABhDAAACQAAAGIMAABjDAAADQAAAGYMAABvDAAACQAAAHcMAAB3\ +DAAACQAAAHgMAAB+DAAADgAAAH8MAACADAAACQAAAIEMAACBDAAADQAAAIIMAACMDAAACQAAAI4MAA\ +CQDAAACQAAAJIMAACoDAAACQAAAKoMAACzDAAACQAAALUMAAC5DAAACQAAALwMAAC8DAAADQAAAL0M\ +AADEDAAACQAAAMYMAADIDAAACQAAAMoMAADLDAAACQAAAMwMAADNDAAADQAAANUMAADWDAAACQAAAN\ +0MAADeDAAACQAAAOAMAADhDAAACQAAAOIMAADjDAAADQAAAOYMAADvDAAACQAAAPEMAADzDAAACQAA\ +AAANAAABDQAADQAAAAINAAAMDQAACQAAAA4NAAAQDQAACQAAABINAAA6DQAACQAAADsNAAA8DQAADQ\ +AAAD0NAABADQAACQAAAEENAABEDQAADQAAAEYNAABIDQAACQAAAEoNAABMDQAACQAAAE0NAABNDQAA\ +DQAAAE4NAABPDQAACQAAAFQNAABhDQAACQAAAGINAABjDQAADQAAAGYNAAB/DQAACQAAAIENAACBDQ\ +AADQAAAIINAACDDQAACQAAAIUNAACWDQAACQAAAJoNAACxDQAACQAAALMNAAC7DQAACQAAAL0NAAC9\ +DQAACQAAAMANAADGDQAACQAAAMoNAADKDQAADQAAAM8NAADRDQAACQAAANINAADUDQAADQAAANYNAA\ +DWDQAADQAAANgNAADfDQAACQAAAOYNAADvDQAACQAAAPINAAD0DQAACQAAAAEOAAAwDgAACQAAADEO\ +AAAxDgAADQAAADIOAAAzDgAACQAAADQOAAA6DgAADQAAAD8OAAA/DgAABwAAAEAOAABGDgAACQAAAE\ +cOAABODgAADQAAAE8OAABbDgAACQAAAIEOAACCDgAACQAAAIQOAACEDgAACQAAAIYOAACKDgAACQAA\ +AIwOAACjDgAACQAAAKUOAAClDgAACQAAAKcOAACwDgAACQAAALEOAACxDgAADQAAALIOAACzDgAACQ\ +AAALQOAAC8DgAADQAAAL0OAAC9DgAACQAAAMAOAADEDgAACQAAAMYOAADGDgAACQAAAMgOAADODgAA\ +DQAAANAOAADZDgAACQAAANwOAADfDgAACQAAAAAPAAAXDwAACQAAABgPAAAZDwAADQAAABoPAAA0Dw\ +AACQAAADUPAAA1DwAADQAAADYPAAA2DwAACQAAADcPAAA3DwAADQAAADgPAAA4DwAACQAAADkPAAA5\ +DwAADQAAADoPAAA9DwAADgAAAD4PAABHDwAACQAAAEkPAABsDwAACQAAAHEPAAB+DwAADQAAAH8PAA\ +B/DwAACQAAAIAPAACEDwAADQAAAIUPAACFDwAACQAAAIYPAACHDwAADQAAAIgPAACMDwAACQAAAI0P\ +AACXDwAADQAAAJkPAAC8DwAADQAAAL4PAADFDwAACQAAAMYPAADGDwAADQAAAMcPAADMDwAACQAAAM\ +4PAADaDwAACQAAAAAQAAAsEAAACQAAAC0QAAAwEAAADQAAADEQAAAxEAAACQAAADIQAAA3EAAADQAA\ +ADgQAAA4EAAACQAAADkQAAA6EAAADQAAADsQAAA8EAAACQAAAD0QAAA+EAAADQAAAD8QAABXEAAACQ\ +AAAFgQAABZEAAADQAAAFoQAABdEAAACQAAAF4QAABgEAAADQAAAGEQAABwEAAACQAAAHEQAAB0EAAA\ +DQAAAHUQAACBEAAACQAAAIIQAACCEAAADQAAAIMQAACEEAAACQAAAIUQAACGEAAADQAAAIcQAACMEA\ +AACQAAAI0QAACNEAAADQAAAI4QAACcEAAACQAAAJ0QAACdEAAADQAAAJ4QAADFEAAACQAAAMcQAADH\ +EAAACQAAAM0QAADNEAAACQAAANAQAABIEgAACQAAAEoSAABNEgAACQAAAFASAABWEgAACQAAAFgSAA\ +BYEgAACQAAAFoSAABdEgAACQAAAGASAACIEgAACQAAAIoSAACNEgAACQAAAJASAACwEgAACQAAALIS\ +AAC1EgAACQAAALgSAAC+EgAACQAAAMASAADAEgAACQAAAMISAADFEgAACQAAAMgSAADWEgAACQAAAN\ +gSAAAQEwAACQAAABITAAAVEwAACQAAABgTAABaEwAACQAAAF0TAABfEwAADQAAAGATAAB8EwAACQAA\ +AIATAACPEwAACQAAAJATAACZEwAADgAAAKATAAD1EwAACQAAAPgTAAD9EwAACQAAAAAUAAAAFAAADg\ +AAAAEUAAB/FgAACQAAAIAWAACAFgAAFgAAAIEWAACaFgAACQAAAJsWAACcFgAADgAAAKAWAAD4FgAA\ +CQAAAAAXAAARFwAACQAAABIXAAAUFwAADQAAABUXAAAVFwAACQAAAB8XAAAxFwAACQAAADIXAAAzFw\ +AADQAAADQXAAA2FwAACQAAAEAXAABRFwAACQAAAFIXAABTFwAADQAAAGAXAABsFwAACQAAAG4XAABw\ +FwAACQAAAHIXAABzFwAADQAAAIAXAACzFwAACQAAALQXAAC1FwAADQAAALYXAAC2FwAACQAAALcXAA\ +C9FwAADQAAAL4XAADFFwAACQAAAMYXAADGFwAADQAAAMcXAADIFwAACQAAAMkXAADTFwAADQAAANQX\ +AADaFwAACQAAANsXAADbFwAABwAAANwXAADcFwAACQAAAN0XAADdFwAADQAAAOAXAADpFwAACQAAAP\ +AXAAD5FwAADgAAAAAYAAAKGAAADgAAAAsYAAANGAAADQAAAA4YAAAOGAAAAwAAAA8YAAAPGAAADQAA\ +ABAYAAAZGAAACQAAACAYAAB4GAAACQAAAIAYAACEGAAACQAAAIUYAACGGAAADQAAAIcYAACoGAAACQ\ +AAAKkYAACpGAAADQAAAKoYAACqGAAACQAAALAYAAD1GAAACQAAAAAZAAAeGQAACQAAACAZAAAiGQAA\ +DQAAACMZAAAmGQAACQAAACcZAAAoGQAADQAAACkZAAArGQAACQAAADAZAAAxGQAACQAAADIZAAAyGQ\ +AADQAAADMZAAA4GQAACQAAADkZAAA7GQAADQAAAEAZAABAGQAADgAAAEQZAABFGQAADgAAAEYZAABt\ +GQAACQAAAHAZAAB0GQAACQAAAIAZAACrGQAACQAAALAZAADJGQAACQAAANAZAADaGQAACQAAAN4ZAA\ +D/GQAADgAAAAAaAAAWGgAACQAAABcaAAAYGgAADQAAABkaAAAaGgAACQAAABsaAAAbGgAADQAAAB4a\ +AABVGgAACQAAAFYaAABWGgAADQAAAFcaAABXGgAACQAAAFgaAABeGgAADQAAAGAaAABgGgAADQAAAG\ +EaAABhGgAACQAAAGIaAABiGgAADQAAAGMaAABkGgAACQAAAGUaAABsGgAADQAAAG0aAAByGgAACQAA\ +AHMaAAB8GgAADQAAAH8aAAB/GgAADQAAAIAaAACJGgAACQAAAJAaAACZGgAACQAAAKAaAACtGgAACQ\ +AAALAaAADOGgAADQAAAAAbAAADGwAADQAAAAQbAAAzGwAACQAAADQbAAA0GwAADQAAADUbAAA1GwAA\ +CQAAADYbAAA6GwAADQAAADsbAAA7GwAACQAAADwbAAA8GwAADQAAAD0bAABBGwAACQAAAEIbAABCGw\ +AADQAAAEMbAABMGwAACQAAAFAbAABqGwAACQAAAGsbAABzGwAADQAAAHQbAAB+GwAACQAAAIAbAACB\ +GwAADQAAAIIbAAChGwAACQAAAKIbAAClGwAADQAAAKYbAACnGwAACQAAAKgbAACpGwAADQAAAKobAA\ +CqGwAACQAAAKsbAACtGwAADQAAAK4bAADlGwAACQAAAOYbAADmGwAADQAAAOcbAADnGwAACQAAAOgb\ +AADpGwAADQAAAOobAADsGwAACQAAAO0bAADtGwAADQAAAO4bAADuGwAACQAAAO8bAADxGwAADQAAAP\ +IbAADzGwAACQAAAPwbAAArHAAACQAAACwcAAAzHAAADQAAADQcAAA1HAAACQAAADYcAAA3HAAADQAA\ +ADscAABJHAAACQAAAE0cAACIHAAACQAAAJAcAAC6HAAACQAAAL0cAADHHAAACQAAANAcAADSHAAADQ\ +AAANMcAADTHAAACQAAANQcAADgHAAADQAAAOEcAADhHAAACQAAAOIcAADoHAAADQAAAOkcAADsHAAA\ +CQAAAO0cAADtHAAADQAAAO4cAADzHAAACQAAAPQcAAD0HAAADQAAAPUcAAD3HAAACQAAAPgcAAD5HA\ +AADQAAAPocAAD6HAAACQAAAAAdAAC/HQAACQAAAMAdAAD/HQAADQAAAAAeAAAVHwAACQAAABgfAAAd\ +HwAACQAAACAfAABFHwAACQAAAEgfAABNHwAACQAAAFAfAABXHwAACQAAAFkfAABZHwAACQAAAFsfAA\ +BbHwAACQAAAF0fAABdHwAACQAAAF8fAAB9HwAACQAAAIAfAAC0HwAACQAAALYfAAC8HwAACQAAAL0f\ +AAC9HwAADgAAAL4fAAC+HwAACQAAAL8fAADBHwAADgAAAMIfAADEHwAACQAAAMYfAADMHwAACQAAAM\ +0fAADPHwAADgAAANAfAADTHwAACQAAANYfAADbHwAACQAAAN0fAADfHwAADgAAAOAfAADsHwAACQAA\ +AO0fAADvHwAADgAAAPIfAAD0HwAACQAAAPYfAAD8HwAACQAAAP0fAAD+HwAADgAAAAAgAAAKIAAAFg\ +AAAAsgAAANIAAAAwAAAA4gAAAOIAAACQAAAA8gAAAPIAAAEQAAABAgAAAnIAAADgAAACggAAAoIAAA\ +FgAAACkgAAApIAAAAgAAACogAAAqIAAACgAAACsgAAArIAAAEgAAACwgAAAsIAAADwAAAC0gAAAtIA\ +AADAAAAC4gAAAuIAAAFAAAAC8gAAAvIAAABAAAADAgAAA0IAAABwAAADUgAABDIAAADgAAAEQgAABE\ +IAAABAAAAEUgAABeIAAADgAAAF8gAABfIAAAFgAAAGAgAABkIAAAAwAAAGYgAABmIAAACwAAAGcgAA\ +BnIAAAEwAAAGggAABoIAAACAAAAGkgAABpIAAAEAAAAGogAABvIAAAAwAAAHAgAABwIAAABQAAAHEg\ +AABxIAAACQAAAHQgAAB5IAAABQAAAHogAAB7IAAABgAAAHwgAAB+IAAADgAAAH8gAAB/IAAACQAAAI\ +AgAACJIAAABQAAAIogAACLIAAABgAAAIwgAACOIAAADgAAAJAgAACcIAAACQAAAKAgAADPIAAABwAA\ +ANAgAADwIAAADQAAAAAhAAABIQAADgAAAAIhAAACIQAACQAAAAMhAAAGIQAADgAAAAchAAAHIQAACQ\ +AAAAghAAAJIQAADgAAAAohAAATIQAACQAAABQhAAAUIQAADgAAABUhAAAVIQAACQAAABYhAAAYIQAA\ +DgAAABkhAAAdIQAACQAAAB4hAAAjIQAADgAAACQhAAAkIQAACQAAACUhAAAlIQAADgAAACYhAAAmIQ\ +AACQAAACchAAAnIQAADgAAACghAAAoIQAACQAAACkhAAApIQAADgAAACohAAAtIQAACQAAAC4hAAAu\ +IQAABwAAAC8hAAA5IQAACQAAADohAAA7IQAADgAAADwhAAA/IQAACQAAAEAhAABEIQAADgAAAEUhAA\ +BJIQAACQAAAEohAABNIQAADgAAAE4hAABPIQAACQAAAFAhAABfIQAADgAAAGAhAACIIQAACQAAAIkh\ +AACLIQAADgAAAJAhAAARIgAADgAAABIiAAASIgAABgAAABMiAAATIgAABwAAABQiAAA1IwAADgAAAD\ +YjAAB6IwAACQAAAHsjAACUIwAADgAAAJUjAACVIwAACQAAAJYjAAAmJAAADgAAAEAkAABKJAAADgAA\ +AGAkAACHJAAADgAAAIgkAACbJAAABQAAAJwkAADpJAAACQAAAOokAACrJgAADgAAAKwmAACsJgAACQ\ +AAAK0mAAD/JwAADgAAAAAoAAD/KAAACQAAAAApAABzKwAADgAAAHYrAACVKwAADgAAAJcrAAD/KwAA\ +DgAAAAAsAADkLAAACQAAAOUsAADqLAAADgAAAOssAADuLAAACQAAAO8sAADxLAAADQAAAPIsAADzLA\ +AACQAAAPksAAD/LAAADgAAAAAtAAAlLQAACQAAACctAAAnLQAACQAAAC0tAAAtLQAACQAAADAtAABn\ +LQAACQAAAG8tAABwLQAACQAAAH8tAAB/LQAADQAAAIAtAACWLQAACQAAAKAtAACmLQAACQAAAKgtAA\ +CuLQAACQAAALAtAAC2LQAACQAAALgtAAC+LQAACQAAAMAtAADGLQAACQAAAMgtAADOLQAACQAAANAt\ +AADWLQAACQAAANgtAADeLQAACQAAAOAtAAD/LQAADQAAAAAuAABdLgAADgAAAIAuAACZLgAADgAAAJ\ +suAADzLgAADgAAAAAvAADVLwAADgAAAPAvAAD7LwAADgAAAAAwAAAAMAAAFgAAAAEwAAAEMAAADgAA\ +AAUwAAAHMAAACQAAAAgwAAAgMAAADgAAACEwAAApMAAACQAAACowAAAtMAAADQAAAC4wAAAvMAAACQ\ +AAADAwAAAwMAAADgAAADEwAAA1MAAACQAAADYwAAA3MAAADgAAADgwAAA8MAAACQAAAD0wAAA/MAAA\ +DgAAAEEwAACWMAAACQAAAJkwAACaMAAADQAAAJswAACcMAAADgAAAJ0wAACfMAAACQAAAKAwAACgMA\ +AADgAAAKEwAAD6MAAACQAAAPswAAD7MAAADgAAAPwwAAD/MAAACQAAAAUxAAAvMQAACQAAADExAACO\ +MQAACQAAAJAxAAC/MQAACQAAAMAxAADjMQAADgAAAPAxAAAcMgAACQAAAB0yAAAeMgAADgAAACAyAA\ +BPMgAACQAAAFAyAABfMgAADgAAAGAyAAB7MgAACQAAAHwyAAB+MgAADgAAAH8yAACwMgAACQAAALEy\ +AAC/MgAADgAAAMAyAADLMgAACQAAAMwyAADPMgAADgAAANAyAAB2MwAACQAAAHczAAB6MwAADgAAAH\ +szAADdMwAACQAAAN4zAADfMwAADgAAAOAzAAD+MwAACQAAAP8zAAD/MwAADgAAAAA0AAC/TQAACQAA\ +AMBNAAD/TQAADgAAAABOAACMpAAACQAAAJCkAADGpAAADgAAANCkAAAMpgAACQAAAA2mAAAPpgAADg\ +AAABCmAAArpgAACQAAAECmAABupgAACQAAAG+mAABypgAADQAAAHOmAABzpgAADgAAAHSmAAB9pgAA\ +DQAAAH6mAAB/pgAADgAAAICmAACdpgAACQAAAJ6mAACfpgAADQAAAKCmAADvpgAACQAAAPCmAADxpg\ +AADQAAAPKmAAD3pgAACQAAAACnAAAhpwAADgAAACKnAACHpwAACQAAAIinAACIpwAADgAAAImnAADK\ +pwAACQAAANCnAADRpwAACQAAANOnAADTpwAACQAAANWnAADZpwAACQAAAPKnAAABqAAACQAAAAKoAA\ +ACqAAADQAAAAOoAAAFqAAACQAAAAaoAAAGqAAADQAAAAeoAAAKqAAACQAAAAuoAAALqAAADQAAAAyo\ +AAAkqAAACQAAACWoAAAmqAAADQAAACeoAAAnqAAACQAAACioAAArqAAADgAAACyoAAAsqAAADQAAAD\ +CoAAA3qAAACQAAADioAAA5qAAABwAAAECoAABzqAAACQAAAHSoAAB3qAAADgAAAICoAADDqAAACQAA\ +AMSoAADFqAAADQAAAM6oAADZqAAACQAAAOCoAADxqAAADQAAAPKoAAD+qAAACQAAAP+oAAD/qAAADQ\ +AAAACpAAAlqQAACQAAACapAAAtqQAADQAAAC6pAABGqQAACQAAAEepAABRqQAADQAAAFKpAABTqQAA\ +CQAAAF+pAAB8qQAACQAAAICpAACCqQAADQAAAIOpAACyqQAACQAAALOpAACzqQAADQAAALSpAAC1qQ\ +AACQAAALapAAC5qQAADQAAALqpAAC7qQAACQAAALypAAC9qQAADQAAAL6pAADNqQAACQAAAM+pAADZ\ +qQAACQAAAN6pAADkqQAACQAAAOWpAADlqQAADQAAAOapAAD+qQAACQAAAACqAAAoqgAACQAAACmqAA\ +AuqgAADQAAAC+qAAAwqgAACQAAADGqAAAyqgAADQAAADOqAAA0qgAACQAAADWqAAA2qgAADQAAAECq\ +AABCqgAACQAAAEOqAABDqgAADQAAAESqAABLqgAACQAAAEyqAABMqgAADQAAAE2qAABNqgAACQAAAF\ +CqAABZqgAACQAAAFyqAAB7qgAACQAAAHyqAAB8qgAADQAAAH2qAACvqgAACQAAALCqAACwqgAADQAA\ +ALGqAACxqgAACQAAALKqAAC0qgAADQAAALWqAAC2qgAACQAAALeqAAC4qgAADQAAALmqAAC9qgAACQ\ +AAAL6qAAC/qgAADQAAAMCqAADAqgAACQAAAMGqAADBqgAADQAAAMKqAADCqgAACQAAANuqAADrqgAA\ +CQAAAOyqAADtqgAADQAAAO6qAAD1qgAACQAAAPaqAAD2qgAADQAAAAGrAAAGqwAACQAAAAmrAAAOqw\ +AACQAAABGrAAAWqwAACQAAACCrAAAmqwAACQAAACirAAAuqwAACQAAADCrAABpqwAACQAAAGqrAABr\ +qwAADgAAAHCrAADkqwAACQAAAOWrAADlqwAADQAAAOarAADnqwAACQAAAOirAADoqwAADQAAAOmrAA\ +DsqwAACQAAAO2rAADtqwAADQAAAPCrAAD5qwAACQAAAACsAACj1wAACQAAALDXAADG1wAACQAAAMvX\ +AAD71wAACQAAAADgAABt+gAACQAAAHD6AADZ+gAACQAAAAD7AAAG+wAACQAAABP7AAAX+wAACQAAAB\ +37AAAd+wAAEQAAAB77AAAe+wAADQAAAB/7AAAo+wAAEQAAACn7AAAp+wAABgAAACr7AABP+wAAEQAA\ +AFD7AAA9/QAAAAAAAD79AABP/QAADgAAAFD9AADO/QAAAAAAAM/9AADP/QAADgAAAPD9AAD8/QAAAA\ +AAAP39AAD//QAADgAAAAD+AAAP/gAADQAAABD+AAAZ/gAADgAAACD+AAAv/gAADQAAADD+AABP/gAA\ +DgAAAFD+AABQ/gAABAAAAFH+AABR/gAADgAAAFL+AABS/gAABAAAAFT+AABU/gAADgAAAFX+AABV/g\ +AABAAAAFb+AABe/gAADgAAAF/+AABf/gAABwAAAGD+AABh/gAADgAAAGL+AABj/gAABgAAAGT+AABm\ +/gAADgAAAGj+AABo/gAADgAAAGn+AABq/gAABwAAAGv+AABr/gAADgAAAHD+AAD+/gAAAAAAAP/+AA\ +D//gAAAwAAAAH/AAAC/wAADgAAAAP/AAAF/wAABwAAAAb/AAAK/wAADgAAAAv/AAAL/wAABgAAAAz/\ +AAAM/wAABAAAAA3/AAAN/wAABgAAAA7/AAAP/wAABAAAABD/AAAZ/wAABQAAABr/AAAa/wAABAAAAB\ +v/AAAg/wAADgAAACH/AAA6/wAACQAAADv/AABA/wAADgAAAEH/AABa/wAACQAAAFv/AABl/wAADgAA\ +AGb/AAC+/wAACQAAAML/AADH/wAACQAAAMr/AADP/wAACQAAANL/AADX/wAACQAAANr/AADc/wAACQ\ +AAAOD/AADh/wAABwAAAOL/AADk/wAADgAAAOX/AADm/wAABwAAAOj/AADu/wAADgAAAPn/AAD9/wAA\ +DgAAAAAAAQALAAEACQAAAA0AAQAmAAEACQAAACgAAQA6AAEACQAAADwAAQA9AAEACQAAAD8AAQBNAA\ +EACQAAAFAAAQBdAAEACQAAAIAAAQD6AAEACQAAAAABAQAAAQEACQAAAAEBAQABAQEADgAAAAIBAQAC\ +AQEACQAAAAcBAQAzAQEACQAAADcBAQA/AQEACQAAAEABAQCMAQEADgAAAI0BAQCOAQEACQAAAJABAQ\ +CcAQEADgAAAKABAQCgAQEADgAAANABAQD8AQEACQAAAP0BAQD9AQEADQAAAIACAQCcAgEACQAAAKAC\ +AQDQAgEACQAAAOACAQDgAgEADQAAAOECAQD7AgEABQAAAAADAQAjAwEACQAAAC0DAQBKAwEACQAAAF\ +ADAQB1AwEACQAAAHYDAQB6AwEADQAAAIADAQCdAwEACQAAAJ8DAQDDAwEACQAAAMgDAQDVAwEACQAA\ +AAAEAQCdBAEACQAAAKAEAQCpBAEACQAAALAEAQDTBAEACQAAANgEAQD7BAEACQAAAAAFAQAnBQEACQ\ +AAADAFAQBjBQEACQAAAG8FAQB6BQEACQAAAHwFAQCKBQEACQAAAIwFAQCSBQEACQAAAJQFAQCVBQEA\ +CQAAAJcFAQChBQEACQAAAKMFAQCxBQEACQAAALMFAQC5BQEACQAAALsFAQC8BQEACQAAAAAGAQA2Bw\ +EACQAAAEAHAQBVBwEACQAAAGAHAQBnBwEACQAAAIAHAQCFBwEACQAAAIcHAQCwBwEACQAAALIHAQC6\ +BwEACQAAAAAIAQAeCQEAEQAAAB8JAQAfCQEADgAAACAJAQAACgEAEQAAAAEKAQADCgEADQAAAAQKAQ\ +AECgEAEQAAAAUKAQAGCgEADQAAAAcKAQALCgEAEQAAAAwKAQAPCgEADQAAABAKAQA3CgEAEQAAADgK\ +AQA6CgEADQAAADsKAQA+CgEAEQAAAD8KAQA/CgEADQAAAEAKAQDkCgEAEQAAAOUKAQDmCgEADQAAAO\ +cKAQA4CwEAEQAAADkLAQA/CwEADgAAAEALAQD/DAEAEQAAAAANAQAjDQEAAAAAACQNAQAnDQEADQAA\ +ACgNAQAvDQEAEQAAADANAQA5DQEAAQAAADoNAQBfDgEAEQAAAGAOAQB+DgEAAQAAAH8OAQCqDgEAEQ\ +AAAKsOAQCsDgEADQAAAK0OAQD8DgEAEQAAAP0OAQD/DgEADQAAAAAPAQAvDwEAEQAAADAPAQBFDwEA\ +AAAAAEYPAQBQDwEADQAAAFEPAQBZDwEAAAAAAFoPAQCBDwEAEQAAAIIPAQCFDwEADQAAAIYPAQD/Dw\ +EAEQAAAAAQAQAAEAEACQAAAAEQAQABEAEADQAAAAIQAQA3EAEACQAAADgQAQBGEAEADQAAAEcQAQBN\ +EAEACQAAAFIQAQBlEAEADgAAAGYQAQBvEAEACQAAAHAQAQBwEAEADQAAAHEQAQByEAEACQAAAHMQAQ\ +B0EAEADQAAAHUQAQB1EAEACQAAAH8QAQCBEAEADQAAAIIQAQCyEAEACQAAALMQAQC2EAEADQAAALcQ\ +AQC4EAEACQAAALkQAQC6EAEADQAAALsQAQDBEAEACQAAAMIQAQDCEAEADQAAAM0QAQDNEAEACQAAAN\ +AQAQDoEAEACQAAAPAQAQD5EAEACQAAAAARAQACEQEADQAAAAMRAQAmEQEACQAAACcRAQArEQEADQAA\ +ACwRAQAsEQEACQAAAC0RAQA0EQEADQAAADYRAQBHEQEACQAAAFARAQByEQEACQAAAHMRAQBzEQEADQ\ +AAAHQRAQB2EQEACQAAAIARAQCBEQEADQAAAIIRAQC1EQEACQAAALYRAQC+EQEADQAAAL8RAQDIEQEA\ +CQAAAMkRAQDMEQEADQAAAM0RAQDOEQEACQAAAM8RAQDPEQEADQAAANARAQDfEQEACQAAAOERAQD0EQ\ +EACQAAAAASAQAREgEACQAAABMSAQAuEgEACQAAAC8SAQAxEgEADQAAADISAQAzEgEACQAAADQSAQA0\ +EgEADQAAADUSAQA1EgEACQAAADYSAQA3EgEADQAAADgSAQA9EgEACQAAAD4SAQA+EgEADQAAAD8SAQ\ +BAEgEACQAAAEESAQBBEgEADQAAAIASAQCGEgEACQAAAIgSAQCIEgEACQAAAIoSAQCNEgEACQAAAI8S\ +AQCdEgEACQAAAJ8SAQCpEgEACQAAALASAQDeEgEACQAAAN8SAQDfEgEADQAAAOASAQDiEgEACQAAAO\ +MSAQDqEgEADQAAAPASAQD5EgEACQAAAAATAQABEwEADQAAAAITAQADEwEACQAAAAUTAQAMEwEACQAA\ +AA8TAQAQEwEACQAAABMTAQAoEwEACQAAACoTAQAwEwEACQAAADITAQAzEwEACQAAADUTAQA5EwEACQ\ +AAADsTAQA8EwEADQAAAD0TAQA/EwEACQAAAEATAQBAEwEADQAAAEETAQBEEwEACQAAAEcTAQBIEwEA\ +CQAAAEsTAQBNEwEACQAAAFATAQBQEwEACQAAAFcTAQBXEwEACQAAAF0TAQBjEwEACQAAAGYTAQBsEw\ +EADQAAAHATAQB0EwEADQAAAAAUAQA3FAEACQAAADgUAQA/FAEADQAAAEAUAQBBFAEACQAAAEIUAQBE\ +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\ +AAEAD9/xAACQAAAH4vLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJi\ +YTE1MDAxZi91bmljb2RlLW5vcm1hbGl6YXRpb24tMC4xLjI0L3NyYy9sb29rdXBzLnJzAAABAOUChQ\ +AUAAAAIwCSABwAegAAAAEAAAAAAGwAKwAGAAAAAAAAAA8AAAABAAcAOgAJAA0BAgAaAAAABAAIAGkA\ +AAAAAAIAEQAAAB4AAAB+ABsABQACAAgAAAAHAAQABgAOAAAACgACAFcAIgAAABMAAQAFAAAAAAAtAA\ +AAAAAAAAAAAQBJAAMAAQBXAAAAEgAAAAAAAAAFAEEAAAAAAAMAAAADAAIAAgAdAAAAAAAAABEAAQAA\ +AAIAAQAAAA4AAAALAAEABgAFAAAAAQAAABcAAAAAAAEAAAAAAAoAAgAAAAQACwAYACEADAABADgAAA\ +AAAAIAAwABAAUAAAAAAAoAGwABAAAAAAAAABkAGgAAAAAAAAAEACQAAwAZAAQAAAANAAEAEwAAABIA\ +BAAAAAYAAwAGAAAAAgAPAAAAAAAAAAAAAAARAAEAEQARAAUAAAALABMAHgAKAAQAAQAMAAoAAAAAAA\ +UAAwAGAAAABQAJAAIAAAAAAAkAAAABAAAAKQAAABIAGQAEAAAAAAACAA4AAwABAA8ABQACAAEABAAH\ +AAUAAAAFAAIAAAAAAAkAAAAFAAMACQABAAAAAAABAAAAAAAJAAcABwAAAAAAAAAGAAMAAAAKAAAAAA\ +ADAAcAAQAAAAAAAQAaAAYAAAABAAkAAgAIAAAAAQAAAAgAAQAJAAYAFQABAAAABAAAAAAAAAAMAAAA\ +BQADAAAABgAAAAAACAAAAAAAAwAHAAEAAAAFAAEAEAAHAAEABQAAAAAABAAEAAkACwABAAUABAAKAA\ +gAAwAYAAAAAQACAAMAAAACAAAABwAAAAMAAAAFAAcACQAPAAYAAAAFAAMACQALABMAAgABAAAAAQAB\ +AAAAAQAAAAEAAwAPAAAABAAAAAAABwAHAAIAAAAAAAAAAgAEAAsAAAAMAAEAAAAAAAIABAAIAAIAAg\ +AAAAYAAAALAAEAAQAMAAYAAAAEAAIACwABAAAAAQAAAAAABQABAAEADgADAAUAAAAAAAAAAAAAAAAA\ +AAADAAAAAAAKAAMAAAAAAAAAAAAAAAAAEwAAAAIACgAAAAAAAwADAAEAAwAHAAQAAgAAAAIAAAAEAA\ +AAAQABAA4AAQAFAAEAAgAGAAIAAwAEAAYAAgADAAEAAQAFAAEAAAAOAAMAAgAHAAAAAAAKAAQAAAAA\ +AAAABgAAAAAAAAAAAAUAAAAGAAEAAAADAAUAAwABAAcAAQACAAgACAACAAEABAAAAAUACQACAAAAAQ\ +ADABAAAQAEAAQABAADAAAAAAABAAAAAgAAAAAAAQABABAAAgADAAAAAAAAAAMAAQABAAMAAAAAAAIA\ +AAABAAEAAAAFAAIAAAACAAMAAAAGAAAAAAABAAEAAAAAAAEAAAAKAAAABwAAAAEAAQAAAAEAAQAEAA\ +MAAwACAAcAAwAAAAcAAAAAAAMAAAABAAsAAQACAAUAAAADAAEAAAAAAAMAAAACAAAAAAAAAAIAAQAA\ +AAEAAgABAAQABQAEAAAAAwACAAAAAAABAAUAAgAHAAEAAQAAAAEAAAABAAMAAwACAAQAAAABAAEAAQ\ +AAAAAAAwACAAUAAAAFAA8AAgAAAAEAAQAAAAIAAAAAAAAAAQAAAAMAAAAAAAAAAAAAAAAAAQACAAEA\ +AQADAAAAAQADAAEAAAAAAAIAAAAFAAMAAAAGAAEAAgACAAMAAQADAAUABgAAAAIAAwAKAAAAAQABAA\ +IAAgACAAQAAAAAAAAAAAAAAAEABQAEAAEAAAAAAAMAAQAAAAAAAgAAAAIAAQABAAIAAwAAAAIAAAAB\ +AAAAAgADAAAAAgACAAEAAAABAAAAAQAEAAEAAAAEAAQAAQAAAAAAAQABAAMAAQAAAAAAAQACAAIACQ\ +ABAAUAAgACAAEAAAACAAYADQABAAIABgAAAAAAAAAAAAAAAQAAAAcAAAAEAAIAAAACAAMAAQAAAAIA\ +AAABAAMAAAABAAAAAQAAAAMAAgABAAYAAAAAAAAAAQAAAAAAAAADAAMAAAAAAAAAAAAAAAkAAAAAAA\ +AAAgABAAEAAwABAAEAAAAFAAAAAwACAAMAAQABAAIAAAADAAEAAQAAAAAAAQAAAAEAAQACAAMAAQAB\ +AAAAAQAFAAQAAAADAAMAAAACAAMAAQABAAUAAwABAAAAAAABAAIAAQADAAoABAAAAAEAAwABAAAAAA\ +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\ +AAAAAQAAAAEAAAABAAAABAAJAAAAAQAEAAAABAABAAYACwADAAYABwAAAAAAAAANAA8ADgAAAAEAAQ\ +AEAA8AEAAAAAUAAAAZAAEADgAAAAgAAQADAAAAAAAFAAEAAAAAABEAAAAEAAUAAAABAAAAAAAAAAAA\ +AgABAAAAAAACAAEAAQAFAAgAAAAAAAwACgAAAAYACQADAAEABgABAAAAGwABAA4AAAAIAAUAAwAVAA\ +AAAgAHAAsAAwAAAAoAAwAAAAYAAAAKAAAAAQADAAgAAAAJAAAAAQACAAAABQAAAAEAAAAAAAAAFwAA\ +AAAAAgAAAAUAFgAAABAAAwAEABEAAQADAAAAAAAAAAQAAQAAAAUAAAACAAEAAAACAAAAAgACAAAAAA\ +AAAAAAAgAAABIAAQAEAAoACwAEAAAAAgAAAAMAAAAEAAUAAAAAABEAAQAGAAYAAAACAAAAAQAAAAQA\ +AAAAAAEAAQAHAAAAAwAKAAAAAQAKAAIAAAABAAAAAAANAAUAAQABAAAAAAAFAAYACAAEAAUAAAALAA\ +AABAALAAAAAAABAAUAAAALAAAABgAAAAAAAAAAAAEAAAAEAAAABgAAAAAABwATAAQAGQADAAEAAAAB\ +AAYABgAAAAAAAAAAAAwAAgADAAAABAAAAAEAAAABAAUAAQABAAIAAQAAAAAAAAAAAAkAAAAAAAcAAQ\ +AJAAYABAABAAUAAAABAAIACAAAAAkAAAAAAAEAAwALAAAAAQAAAAAABQAAAAAAAAAAAAAAAwAAAAIA\ +AQACAAAAAAAAAAQAAQAAAAYAAgAFAAgAEgAAAAAAAAADAAEAAAAAAAAAAgADAAMAAAAAAAEAAAABAA\ +AAAwAAAAAAAgABAAQADQAAAAAACwAAAAEAAAAAAAwAAAAAAAAABQAIAAIAAAACAAEABgABAAEAAQAA\ +AAIAAAAFAAEAAQAAAAIAAAAAAAAAAAAOABAAAAAFAAQAAgABAAAAAAADAAEAAAACAAEABAAAAAAAAw\ +AAAAEAAQADAAEABQACAAMABAAAAAMAAwAGAAAAAAABAAAAAgAOAAEAAgABAAQAAgAFAAIAAQABAAAA\ +AQAAAAUABQAGAAYABQAAAAIAAQAAAAIABAABAAAABQAAAAYAAgAIAAAAAAAHAAEAAgACAAUABAARAA\ +AAAwAAAAEAAAABAAQAAAADAAIAAAABAAMAAAALAAYAAAAGAAAABAABAAIAAAABAAAAAgABAAIAAAAF\ +AAEAAAAAAAAAAQADAAIABgAAAAAAAgAEAAYAAAAAAAAAAAAMAAwAAAAAAAAABAAEAAAACAADAAEAAA\ +ABAAAAAwAAAAAABQAAAAUAAQAAAAMABAABAAIAAwAAAAEABwAAAAAABwAAAAIAAgAAAAAAAQABAAEA\ +AQALAAAABAAAAAEAAQAAAAIAAQABAAUAAAAAAAMABgAAAAAABAACAAEAAwADAAoABwAAAAQAAQAGAA\ +AAAQAAAAAAAgABAAEAAAAAAAAAAAAAAAIAAQABAAEABAAAAAMAAAABAAAAAAABAAAAAQAAAAQAAAAB\ +AAAABgAAAAEAAAAEAAAAAQACAAYAAAACAAAAAwAHAAAAAwAAAAEAAQAAAAAAAwAFAAIAAAABAAEAAg\ +ACAAQAAQAAAAAAAQAAAAMAAgAAAAEAAAACAAQAAgAAAAEABQAAAAAAAgABAAEAAAAAAAEAAAAFAAIA\ +AAAIAAMAAQABAAEAAwAEAAAAAgAAAAEAAgAAAAAAAAAAAAAAAQAAAAYAAAAAAAAAAwAAAAAAAgACAA\ +AAAQADAAEAAwABAAIAAAABAAIAAAAAAAEAAAADAAEAAgAAAAIAAQAAAAIABAAAAAUABQAAAAUAAgAA\ +AAEAAwABAAAAAgAGAAIAAQAAAAAAAAADAFQGSgYmBgAACQNpAMkeAAAGA2UAFQEAAAsDIwTyBAAADA\ +NHAOYBAAABA1cAgh4AAAEDxQD6AQAAOAPSIc8hAAAHA0MACgEAAAcDegB8AQAADANJAM8BAAAHA3IA\ +WR4AAJkwSzBMMAAARQNhH6EfAAAHA0EAJgIAACMDawAzHgAABAOZA9kfAAABA0kfTR8AAEIDygPXHw\ +AABANVAGoBAACaMNsw3TAAAEUDbh+uHwAAMQNCAAYeAAAIAx4E5gQAACUDQQAAHgAAMQNSAF4eAABF\ +A/Yf9x8AADgDciJ0IgAAOANIIkkiAAABA78fzh8AAJkwxjDHMAAAIwN2AH8eAAAHA3AAVx4AAAEDUR\ +9VHwAAKAN1AHMBAACZMFswXDAAAAoDQQDFAAAAIwOhAeMeAAARA1UAFgIAAAcDUwBgHgAADAPcANkB\ +AAAAA08A0gAAAAcDbwAvAgAAAQNHAPQBAAAJA2EAox4AAAEDCB8MHwAAAQO5A68DAAABAzMEUwQAAE\ +UDIB+QHwAABwNiAAMeAABFAwMfgx8AAAgDVwCEHgAABwNaAHsBAACZMMEwwjAAAAkDoQHfHgAAVQYn\ +BiUGAAAUA78DQR8AAAEDZwD1AQAAAQOfA4wDAAABA+oAvx4AAAwDYwANAQAARQMAH4AfAAABAxMEAw\ +QAACMDSwAyHgAAAQN5AP0AAAABA3cAgx4AAEUDDh+OHwAACANIACYeAACZMKYw9DAAAAADAgGwHgAA\ +AQNsADoBAAAJA0UAuh4AAAEDOR89HwAAEQNpAAsCAAAEAyME7gQAAAwDYQDOAQAAAAMQHxIfAAAAAz\ +gEXQQAACMDSAAkHgAANRsRGxIbAAABA0MABgEAACMDVABsHgAAAwNJACgBAAACA6EerR4AAAgDNQRR\ +BAAABwNhACcCAAAAAwAfAh8AAAcDbQBBHgAAAwN2AH0eAAAnA3MAXwEAAAQDRwAgHgAABgNHAB4BAA\ +BFA20frR8AAAMDbwD1AAAAMQNrADUeAAAxA3IAXx4AAAADsAHrHgAANRsLGwwbAAAtA1UAdh4AAAoD\ +YQDlAAAAmTBGMJQwAAA1GzobOxsAAAoDVQBuAQAAPAkoCSkJAAATA8kDYB8AADADZQAbHgAAAwNZAP\ +geAAAwA0UAGh4AADEDZAAPHgAACAO5A8oDAACZMJ0wnjAAAAsDQwTzBAAAPgtHC0sLAAAPA28ADQIA\ +ACMDbgBHHgAACANpAO8AAAAtA2UAGR4AAAcDWgFkHgAAAQMYHxwfAAABAwkfDR8AAEUDJx+XHwAAAg\ +N6AJEeAAABA1kA3QAAADEDTAA6HgAARQNkH6QfAAACA7kexx4AAEUDJB+UHwAAAAMTARUeAAAPA2kA\ +CQIAADEDdABvHgAAAQNIH0wfAAAxA3oAlR4AAEUDKR+ZHwAAAQPUANAeAAAEA8QA3gEAAAEDlwOJAw\ +AADANyAFkBAAABAxEfFR8AAAkD9ADVHgAAJwNFACgCAAAbA28AoQEAAAQDxgDiAQAACAOZA6oDAABF\ +A84D9B8AAAEDbQA/HgAACQMDAbMeAAACA28A9AAAAAwDcwBhAQAAAQN1APoAAAABA2kfbR8AAAEDqQ\ +OPAwAAOAM9AGAiAABFA8Yfxx8AAAADdwCBHgAABgMoAhweAAAxA2wAOx4AAJkwrTCuMAAAAgO4HsYe\ +AAACA1UA2wAAAM8N2Q3cDQAABAOlA+kfAAAUA6kDaR8AACcDdABjAQAAJgNTABgCAAALA1UAcAEAAJ\ +owbzBxMAAAJwNrADcBAAAwA3UAdR4AAAEDcwBbAQAAQgMwHzYfAAAHA0cAIAEAANUMxgzHDAAAAANp\ +H2sfAAABAwMBrx4AABEDdQAXAgAAPAkwCTEJAACZMGEwYjAAACMDdwCJHgAAAQP1AE0eAAAAA/wA3A\ +EAAA8DSQAIAgAAAgNpAO4AAABFAyMfkx8AAAAD9ADTHgAACANLBPkEAABFAy4fnh8AAAADZQDoAAAA\ +CANJAM8AAAABAygfLB8AAAADGB8aHwAAUwYnBiIGAAABAyAfJB8AADgDAyIEIgAABAN5ADMCAAAAAz\ +kfOx8AACUDYQABHgAACQN5APceAAADA68B7h4AAAEDbwDzAAAAIwNkAA0eAACZME8wUDAAAEUDAR+B\ +HwAACQPKAMIeAAAIA9ID1AMAAAEDUB9UHwAAAAMBHwMfAABFA6kD/B8AAAgDJwT0BAAAAgNTAFwBAA\ +ABA1IAVAEAAAYDRQAUAQAAIwNTAGIeAAAGA2cAHwEAADgDdiJ4IgAAAAM1BFAEAACZMLUwtjAAAAsD\ +bwBRAQAABAMYBOIEAAAHA2MACwEAAAED0gPTAwAAOAN8IuAiAAAEA2EAAQEAAAADqADtHwAAMQNEAA\ +4eAAARA2UABwIAAAED+AD/AQAADAN1ANQBAAAnA1MAXgEAAJkwVzBYMAAARQO3A8MfAAAMA2kA0AEA\ +ACcDbgBGAQAABwN4AIseAABCAwAfBh8AAAMDsAHvHgAAJwNHACIBAAAJA8IAqB4AAC0DbAA9HgAAmT\ +BNME4wAAADA2kAKQEAACMDrwHwHgAAAgNPANQAAAABAwIBrh4AAAgDRwT1BAAAOAOoIq0iAAAAA8UD\ +eh8AABMDkQMIHwAALQNkABMeAAABA88ALh4AAA8DYQABAgAABgOhHrceAAAjA3kA9R4AADgDkCGaIQ\ +AARQMlH5UfAAAEA08ATAEAAAYDTwBOAQAAmTCzMLQwAAAnA0QAEB4AANcLkguUCwAACANVANwAAAAj\ +A2UAuR4AAJkwezB8MAAADANPANEBAAAEA2cAIR4AAAwDagDwAQAAIwNVAOQeAAABA6EB2x4AACMDWQ\ +D0HgAAAANBAMAAAACZMLkwujAAAAgDIwTwBAAAAQNTAFoBAACaMNgw2jAAAAkDdQDnHgAAMANVAHQe\ +AAAnA1IAVgEAAAgDNwTfBAAAAAPKAMAeAAA4A5QhriEAAAYDsQOwHwAAQgNhH2cfAAA4AzwiQSIAAJ\ +kw0jDTMAAARQNrH6sfAAAHA0kAMAEAACMDQQCgHgAACQNVAOYeAAALA3UAcQEAAJkwUzBUMAAAmTBd\ +MF4wAAAjA0wANh4AAAQDJgLgAQAADwN1BHcEAAAoA0kALgEAAAADIR8jHwAAAQNhH2UfAABCAyEfJx\ +8AAAIDZwAdAQAAAQNOAEMBAAADA04A0QAAAAADmQPaHwAAAQO/A8wDAAAAAxUEAAQAABQDyQNhHwAA\ +OAOiIqwiAACZMNsw3DAAABQDpQNZHwAADwNSABACAAAjA04ARh4AAEUDDR+NHwAAAgPNHtkeAAAMA/\ +wA2gEAAAQD1gAqAgAAAQMAHwQfAACZMM8w0DAAAAYDNQTXBAAAOAMLIgwiAAAAA1kA8h4AAAgDFwTe\ +BAAADANuAEgBAAAMA0wAPQEAAAEDaQF5HgAACAMQBNIEAAABA6AB2h4AAA8DQQAAAgAAAQNyAFUBAA\ +ADA0UAvB4AADUbDRsOGwAAAQMSARYeAAACA0oANAEAAAADvwN4HwAAmTBZMFowAAALA08AUAEAACgD\ +YQAFAQAAmTDYMNkwAABFAysfmx8AAAEDQB9EHwAADwNlAAUCAABFA64DxB8AAAEDaAF4HgAAJgN0AB\ +sCAABCA7kD1h8AAEUDbx+vHwAAAQOlA44DAABFAwkfiR8AAAADVQDZAAAADANBAM0BAAAnA0MAxwAA\ +AAcDRgAeHgAAAQO1A60DAAA+DUcNSw0AABEDYQADAgAACAPVAE4eAAAAA8kDfB8AAAYDQwReBAAAAQ\ +P+H94fAAABA5kDigMAAAcDeQCPHgAABANaHlweAAAPA3UAFQIAAL4JxwnLCQAANRsHGwgbAAAwA2kA\ +LR4AAJowezB9MAAAmTDIMMkwAAA4A7Mi6yIAAAEDsAHpHgAAAAN5APMeAAAHA1cAhh4AACgDaQAvAQ\ +AAIwNaAJIeAABCA8UD5h8AAAkDTwDOHgAAQgMpHy8fAAAAA6AB3B4AAEUDKh+aHwAAAQNNAVMeAAA4\ +A9AhzSEAACgDVQByAQAAMQNoAJYeAAAMA2gAHwIAAAEDTAA5AQAAOAOGIogiAAAUA58DSR8AAAYDpQ\ +PoHwAAVgtHC0gLAACZMHUwdjAAAAQDWx5dHgAARQNqH6ofAAAnA1QAYgEAAAMDAgG0HgAAEwOfA0gf\ +AABCAwkfDx8AAAYDEATQBAAAAANNAVEeAAAEA0ME7wQAADgDkiGbIQAAOANhImIiAAAEA/UALQIAAB\ +MDuQMwHwAACANvAPYAAAAHA3MAYR4AABsDdQCwAQAAmTC3MLgwAAAHA2IeaB4AAAYDQQACAQAAFAOX\ +AykfAAACA2MACQEAAAIDagA1AQAAAQPlAPsBAAAmA3MAGQIAAEUDdB/CHwAACQNlALseAAAMA1oAfQ\ +EAADgDJSImIgAAEwOpA2gfAAAnA3IAVwEAAAADCR8LHwAACAM2BN0EAABFAwgfiB8AADEDYgAHHgAA\ +OANzInUiAAAjA1YAfh4AACMDTwDMHgAABAMuAjACAABUBtUGwAYAABMDsQMAHwAAAwNPANUAAAABAw\ +EfBR8AAAQDZQATAQAAIwNFALgeAAC+C8YLygsAADgDZSJxIgAAFAORAwkfAAAAAxIBFB4AAAcDTgBE\ +HgAACANoACceAAARA08ADgIAAAMDVQBoAQAAFAOhA+wfAAABA7EDrAMAAA8DVQAUAgAAOAM+AG8iAA\ +AHA2EBZx4AAEUDBB+EHwAAAANFAMgAAAA1GwkbChsAAJkw/TD+MAAAAQNoH2wfAAADA2UAvR4AAAQD\ +uQPRHwAA1wnHCcwJAAAIAysE+AQAACcDTgBFAQAARQNjH6MfAAAGAzgEOQQAABQDsQMBHwAAJgNUAB\ +oCAAAHA3QAax4AAAEDyQPOAwAAFAOZAzkfAACZMLEwsjAAAAIDdQD7AAAA1gzGDMgMAACZML0wvjAA\ +AAADbgD5AQAAQgM5Hz8fAAAEAycC4QEAADgDCCIJIgAABgMYBBkEAAAMA0QADgEAAAoDdQBvAQAAVA\ +YnBiMGAAAGA3UAbQEAAAADtwN0HwAARQNmH6YfAABFA2kfqR8AAAcDWwFlHgAAQgMoHy4fAABFA3Af\ +sh8AAEUDDx+PHwAAMQNUAG4eAAA4A3sigSIAADgDhyKJIgAAQgMBHwcfAAAIA6UDqwMAAEUDZR+lHw\ +AAAAPUANIeAAAEA/YAKwIAANUMvwzADAAAQgM4Hz4fAAA4A7Ii6iIAAA8DcgARAgAAmTC/MMAwAAAI\ +A+kE6wQAADgDgyKFIgAAAAPLA+IfAAABA8oAvh4AAAQDWQAyAgAAAQNpAO0AAACZMF8wYDAAAAcDRA\ +AKHgAAAgPMHtgeAABFAyEfkR8AABEDQQACAgAAEQNyABMCAAAAA6UD6h8AAAADWR9bHwAABAPkAN8B\ +AAAAA1AfUh8AADgDTSJtIgAAAQNuAEQBAAAtA3UAdx4AAAED9ADRHgAAQgPJA/YfAAABA7cDrgMAAA\ +cDbgBFHgAABANBAAABAAABAxkfHR8AAAQDsQOxHwAAmjB4MHowAAAjA1cAiB4AAAgDQwTxBAAALQNF\ +ABgeAAAIAxUEAQQAACgDTwDqAQAACAPZBNsEAAAIAwYEBwQAAAMD9ADXHgAABgO5A9AfAAAHA2UAFw\ +EAAEIDaB9uHwAABAM4BOMEAAAAA0EfQx8AAAAD/h/dHwAAAQNPANMAAAAnA2QAER4AAAYDKQIdHgAA\ +AQN6AHoBAAAjA2IABR4AAEUDfB/yHwAAIwOwAfEeAAABA2AfZB8AAJkwZjBnMAAAOANkInAiAAAAAz\ +EfMx8AACMDYQChHgAAAANIH0ofAAABA1UA2gAAAFYMRgxIDAAAAAPKA9IfAAAMA7cB7gEAACMDcgBb\ +HgAAQgMgHyYfAAAIAzAE0wQAADgDgiKEIgAAAQNZH10fAABCAwgfDh8AACMDRAAMHgAALhAlECYQAA\ +AEA5EDuR8AADEDSwA0HgAAAANpAOwAAAAuA0gAKh4AAAEDYwAHAQAAQgNpH28fAAATA7UDEB8AAJow\ +zzDRMAAADANOAEcBAABXC0cLTAsAAAEDkQOGAwAAKANlABkBAAAAA78fzR8AAEIDtwPGHwAABwNFAB\ +YBAAABAzgfPB8AAJowdTB3MAAAAQNLADAeAAAAAwMBsR4AAAMD4gCrHgAAAgNBAMIAAAAIA2UA6wAA\ +AAcDWACKHgAADANUAGQBAAATA8UDUB8AABQDtQMRHwAANRs+G0AbAAABAxAfFB8AAJowcjB0MAAARQ\ +MoH5gfAAA4A3cieSIAADgDeiKAIgAAAgNHABwBAAAIA0UAywAAACQDVQByHgAARQMsH5wfAAAnA0sA\ +NgEAAAIDSQDOAAAAAgNoACUBAAAHA1IAWB4AAAEDYQDhAAAADANLAOgBAAAJA0kAyB4AAAwDbAA+AQ\ +AABwNNAEAeAAAEAzYeOB4AAAQDxQPhHwAACgN5AJkeAAATA5cDKB8AAC0DVABwHgAAAANJH0sfAAA1\ +G0IbQxsAABMDtwMgHwAAAQPvAC8eAAABA+cACR4AAAgDagF6HgAAAwPKAMQeAAAAA7EDcB8AAFQG0g\ +bTBgAAmTDVMNYwAABFAy8fnx8AAAADtQNyHwAAJAN1AHMeAAAGAxUE1gQAAAwDZQAbAQAAAgNXAHQB\ +AAAGA6Aeth4AAEUDBx+HHwAAAQOoAIUDAAACA3kAdwEAAC0DbgBLHgAADANvANIBAABFA8kD8x8AAA\ +IDQwAIAQAAAwN5APkeAAAjA3QAbR4AAAkD4gCpHgAAAAMwHzIfAAABA2sAMR4AADgDkiLjIgAAFAOV\ +AxkfAAABAykfLR8AACgDRQAYAQAARQO2H7cfAAAEA9UALAIAAAYDMATRBAAACAP1AE8eAAACA6AerB\ +4AAAADaB9qHwAAAAOXA8ofAAABA0UAyQAAAAQDaQArAQAA1wvGC8wLAAAEA28ATQEAAAgDTwDWAAAA\ +vgvHC8sLAAAMA1UA0wEAAEUDrAO0HwAAQgO/H88fAACaMNIw1DAAAAcDZgAfHgAAAANOAPgBAAAIA3\ +kA/wAAAC4DaAArHgAADANkAA8BAAAHA08ALgIAAEIDWR9fHwAAmTCvMLAwAAAEA+YA4wEAAAEDxQPN\ +AwAACAN3AIUeAAAUA7kDMR8AACMDdQDlHgAACQNZAPYeAAAMA5IC7wEAAAYDVQBsAQAAAQPmAP0BAA\ +AIA2sBex4AAA8DTwAMAgAAEwO/A0AfAAABA9gA/gEAAAMDwgCqHgAAAANRH1MfAAAJA7AB7R4AAC0D\ +TgBKHgAACQNvAM8eAAAAAxgEDQQAADgDqSKuIgAARQNoH6gfAAA1GzwbPRsAAAADQB9CHwAARQMLH4\ +sfAAAGA8UD4B8AAC0DRAASHgAA1QzKDMsMAAADA+oAxR4AAAYDIwQOBAAAAQPHAAgeAAAMA3oAfgEA\ +AAcDZwAhAQAAEQNFAAYCAAAAA28A8gAAAJkwuzC8MAAACAMYBOQEAACZMFEwUjAAACMDbAA3HgAAFA\ +O3AyEfAAAKA3cAmB4AACMDaQDLHgAAAwNhAOMAAACZMPEw+TAAAEUDsQOzHwAAPg1GDUoNAAAAA7kD\ +dh8AADgD1CHOIQAARQNiH6IfAAACA3cAdQEAAAQD/ADWAQAAAQMTARceAACZMGgwaTAAAEIDYB9mHw\ +AAIwNoACUeAAATA5UDGB8AAAAD6gDBHgAAQgPLA+cfAAA4A0MiRCIAAJkweDB5MAAAEwOZAzgfAAAw\ +A0kALB4AAAcDdwCHHgAAAQNlAOkAAAAnA2gAKR4AADgDtSLtIgAAQgOxA7YfAAAGA5EDuB8AAAEDTQ\ +A+HgAACQNBAKIeAAA1GwUbBhsAADgDPABuIgAACANZAHgBAAADAwMBtR4AACcDSAAoHgAAIwNtAEMe\ +AACZMGQwZTAAAAgDVgRXBAAAAgNZAHYBAABUBsEGwgYAAAEDOgRcBAAAAAPiAKceAAABA5UDiAMAAC\ +cDYwDnAAAABwN/AZseAABUBkgGJAYAAJkwqzCsMAAAIwOgAeIeAAAIA9gE2gQAADEDWgCUHgAADANn\ +AOcBAAAAA58D+B8AACcDZQApAgAAIwNJAMoeAAAAAxEfEx8AAEIDUR9XHwAAIwNNAEIeAAABAzAfNB\ +8AACcDbAA8AQAARQMFH4UfAAAAA6EB3R4AAAgDFgTcBAAABwNkAAseAAAtA0wAPB4AABQDwQPlHwAA\ +BAPqAewBAAAAAwgfCh8AAAIDZQDqAAAAAAORA7ofAAABA3AAVR4AAEUDAh+CHwAACQMCAbIeAAADA3\ +UAaQEAAEUDDB+MHwAAAQPLA7ADAAAIA3QAlx4AAAADlQPIHwAAOAN9IuEiAAAjA3oAkx4AABEDbwAP\ +AgAAKANvAOsBAAAAAyAfIh8AAAADGR8bHwAAAwNWAHweAAAMA2sA6QEAAAgD6ATqBAAAAAOpA/ofAA\ +BCA6gAwR8AAAYDNgTCBAAAAQPcANcBAAAEA3UAawEAADgDRSJHIgAABANJACoBAAAIAzgE5QQAAFcN\ +Rg1MDQAAAAN1APkAAAA4A7Qi7CIAAAgDdQD8AAAAFAPFA1EfAAAHA2ABZh4AAAYDFgTBBAAAGwNVAK\ +8BAAA4A6siryIAAAADTAFQHgAAQgMxHzcfAABFAyYflh8AADgDkSLiIgAAAQNQAFQeAAAnA0wAOwEA\ +AAEDWgB5AQAABwNCAAIeAAATA8ED5B8AAAEDQR9FHwAABwNQAFYeAAAMA0MADAEAACMDcwBjHgAAmT\ +BVMFYwAACZMG8wcDAAAAgDTQTtBAAARQNnH6cfAAABA68B6B4AAAADKR8rHwAANRs/G0EbAAACA0UA\ +ygAAAAYDbwBPAQAAAQP8ANgBAACZMPIw+jAAAEUDLR+dHwAAAQNMAVIeAAAIA2EA5AAAAEUDYB+gHw\ +AARQMKH4ofAAAGA2EAAwEAAAADYB9iHwAAAAOvAeoeAAAIAz4E5wQAADgDIyIkIgAAAQPKA5ADAACa\ +MNUw1zAAAEUDIh+SHwAAAQPVAEweAABFA2wfrB8AAAcDVABqHgAABAM3HjkeAADKDdkN2g0AAAMDoQ\ +HhHgAADANIAB4CAAAJA+oAwx4AAAwDUgBYAQAAAwPUANYeAAAMA0UAGgEAAJkw7zD3MAAAAgNIACQB\ +AAAjA1IAWh4AAAADwgCmHgAALQN0AHEeAAAIAy0E7AQAAN8N2Q3eDQAACANBAMQAAAAPA3QEdgQAAA\ +EDxgD8AQAAAQMxHzUfAAAAA2EfYx8AAMIMxgzKDAAAAQPCAKQeAAAIA8UDywMAAAED4gClHgAAQgNQ\ +H1YfAAAAA2EA4AAAABEDSQAKAgAAJwNnACMBAAAHA1kAjh4AAEUDlwPMHwAACQPUANQeAAADA6AB4B\ +4AAEID/h/fHwAAAQMaBAwEAAAMA3QAZQEAAAAD3ADbAQAACAN4AI0eAAAEA9wA1QEAAAIDYQDiAAAA\ +AgNaAJAeAAA8CTMJNAkAABsDTwCgAQAAEQNSABICAAADA24A8QAAAA8DRQAEAgAACQOvAeweAAAEA0\ +UAEgEAAAEDIR8lHwAABAMvAjECAAAGA5kD2B8AADEDTgBIHgAAAAM4HzofAAAGA0kALAEAAAYDaQAt\ +AQAARQMGH4YfAAABA0kAzQAAAAADVwCAHgAAmTDwMPgwAAAMA1MAYAEAAAADSQDMAAAAmTByMHMwAA\ +AAAygfKh8AAAcDSAAiHgAACQOgAd4eAAAEA+sB7QEAAAcDYx5pHgAAIwNvAM0eAAADA0EAwwAAAEUD\ +kQO8HwAAKANBAAQBAAAHA2gAIx4AADEDbgBJHgAAyg3cDd0NAAAIA1gAjB4AAAEDQQDBAAAAmTDEMM\ +UwAAAjA0IABB4AAAIDcwBdAQAAcQUDAAAAAAA9AGABAAB/AvcAsQEAAAIABAAzADYBFwABAAAAkwHu\ +AQAABgAAAFQANAACAFQASAIIAAYAAwAAAAAAAABkAAEAAAAAAAIABQAAAAAAHgA1AAkAfQAEABIAWA\ +AAAAAAAAACAEwAAAAAAAYAaAAAAAYAAAAKAAYAAQD2AAAAAAACAEYAAAABAAAAAwAAAEABAAAKAN8A\ +AQAAAAMABAAIAAUABAAUADAAWwAAABgAqAAAAEgABAAAAAUAAABCAAAAaAAAAAAALQAAAAAAAAAyAA\ +YAAAAfAGEAAAANAAAAEwAFACcAAgACAAIAAgATADcAEAAAABkABgAAACwAXwBfAAAAAQAAAAUAAAAA\ +AAUABgAiADwAEAAAAAAAAAASAAIABABRAAAAAAACADIABgABAAAAEQAFAAQAdQAyAAoAAAAWAA4AAQ\ +APACcAAAAFAAEACgAHABAABAABAAAABwAPAAIABQBeAAAASAAXAAAAAAAEAAAAAgA8ABwACwAAAAQA\ +IwABAAwADgAFABwAAAAgAAEAAwAAAAcACAAEAAAAAAAtAAgAAAAAADMAEwACAAAAAwAAAAYAPAAgAA\ +AACQAAACUAEgAJAAAAAAA6ACIAAAACAAEAHgAJAAIAAgADAAAAAAAAAAAAAAAAAAsAAQABABsABAAH\ +AA4AAwAAAAMABwAAAAIAAgAmAAAACAADAAQAAgACAAgACQAAAAEABgABAAMAAgABAAgAAAAEAAkADA\ +ATAAAAAAAFAAAACgAAABQAAAAUAAAAAQAAAAAAAAAcABYAAAAAAAIABAAAAAAAAAAKAAAAAAAHAAIA\ +AAAAAAQAAQAKAAAAAAAJAAUAKQAAAAAAAQAgAAMABgACAAEADgATAAEAJAAAAAEAAQADAAQAAgACAA\ +oABgAIAAAACgAAAAQAAAANAAsAAAATAAkAAAAAABIAAAAGAAAAAAACAAAAAAAMAAAAAAAAAAAAAAAC\ +AAAAEwACAAAAAgAAAAAAAAAAAAgAAAAAAAEAAQAEABAAAAALAAsAAgABAAAAAQABAAIAAgABAAEAAg\ +AEAAgAAAAAAAEAKQABAA4AAAAAAA4AAAALAAAAFwAFAAAAFQAIAAYACAAAAAIADAAAAAAAAAAIAAAA\ +AAAAAAAADAAAAAAABAAAAAAAAAAPAAAAAAABAAcAAAARAAAADQAIAA4ACwAAAAIAAQAAAAQABQADAA\ +MAAQADAAgAAQAaAAEABQABAAUABgAAAAEAAAAAAAAAEAAPAAIABAAGAAIAAgAMABcAAwAAAAMAAAAB\ +AAAAAAAAAAAAAAAAAAAAAAAiAAAAAAAAAAAAAAAAABwAFAABAAAAAgAEAA8AAAAHAAEAAAACAAEAAA\ +AAAAAABgAJAAMALAAJAAUAAAAAAAsACAAdAAAAAQAAAAAAAAABAAgAAwAFAAAABAAAAAAAAwAKAAMA\ +AAAFAAIABAAKAAAAAAADAAIAAAACAAAADgAAAAAABQAAAAkAFwADAAQAAAABAAQAAAAAAAcAFQAAAA\ +AAAAAAAAAAAAAAAAkAAwABAAEAAQAGAAoAAAAAAAYAAAABAAAAAAACAAAAAAABAAEAAgAAAAAAAAAD\ +AAMAEgABAAYABAAHAAAAAQAAAC4AAgABAAsACAAAAAUAAAACAAQACQAAAAAACAAFAAMAAQAGAAAAAA\ +ADAAAAAwAGAAYAAAADAAcAAAAGAAEAAAAAAAYABAAAAAAAAQAAAAIAAAAFAAAAIgAUAAYAAgAAAAAA\ +AAAAAAwAAAAKAAEAAgAHAAAAAgABAAEABAAAAAAAEgACAAEAAAAAAAAAAwADAAAABQAAAAAAAwAAAA\ +MAAAAGAAAABQABAAAACAAEAAAACQABAAoADgAAAAUADgAHAAAAAAAIAAAAAAAAAAAABAAAAAEAAQAA\ +AAAAAgAAAAEAAAAQABYAAQABAAAAAAAAABEAAAAAAAAAAQAAAAAAAAACAAAAAQAGAAIAGgAAAAsABA\ +AAAAAAAwAGAAEACQAPAAIABQABABoAAAAAAAAAAQACAAIADwAAAAAACgACAAMAAgAHAAYAAAAHAAQA\ +DAAAAAAAAQAHAAAAAAAAAAAAAAAEAAAAAAAAAAIAAAAAAAAACgAGAAAAAgAAAAAAAAANAAAAAwABAA\ +oAAAAMAAAAAQAAAAcAAwACAAEAAgABAAcAAwACAAEABAABAAAAAAAIAAYAAAAAAAEADQAEAAEAAgAB\ +AAQAAAAAAAAABwACAAAAAAAAAAAAEwAAAAAAAAAAAAMAEQABAAEAAwAGAAAABgADAAEAAAAAAAAACw\ +AAAAQABgAAAAAABQAAAAIAAAABAAEABQABAAcABQAAAAEAAQAAAAEAAQAHAAkAAQAMAAQAAgABAAAA\ +BQAAAAAAAQACAAEACAAFAAsAAgAAAAcAAQAEABYAAAAAAAAAAAAAAAAAAAAAAAAAFgAAAAAADgAAAA\ +AAAgAEAAAAAAACAAAABAAGAAEAAAAAAAAADAAHAAkABAADAAEAAQAJAA0AAQACAAMAAAAEAAQABAAC\ +AAAAAQALAAAAEgAAAAMAAwABAAEAAQAOAAAAAQABAAQAAQACAAAAAAAAAAEAAAABAAAAAAAAAAAAEw\ +AAAAAAAAAAAAMAAAAAAAAACQAAAAEABwAAAAIAAAAMAAEAAwAAAAEAAAAFAAEAAAABAAMAAgAJAAEA\ +AAAIAAEABQACAAAABAAAAAEABQAAAAgAAwAAAAQAAAAAAAYAAwADAAIAAAACAAAAAgACAAgAAAAKAA\ +QAEgAGAAIAAwACAAAAAQAAAAAAAAAHAAEABgAAAAEABQALAAAADQASAAUAAgAEAAAABQALAAAABwAE\ +AAEAAwAIAAMAAgAFAAEAAAACAAIAAAAAAAEAAgAAAAEAAAAAAAEACAADAAAAAAAAAAAAAgAIAAAAAg\ +AAAAEADgAAAAAAAwACAAYAAAABAAgAAgAFAAAAAQABAAcABgABAAAAAAAAAAIAAAAAAAIAAQABAAUA\ +AAADAAkAAgAAAAEAAAAJAAEAAQACAAEAAgADAAIAAAAAAAAABgABAAAAAQAGAAAAAAAAAAAAAQAAAA\ +AAAQABAAAAAAABAAAAAAAAAAEAFAAAAAAAAAABAAAABgABAAAAAAASAAAABAASAAMABAACAAAAAAAA\ +AAUABgAAAAEAAQAAAAAABgACAAQABAACAAAAAAACAAEAAQAAAAEACwAAAAYAAAAAAAAAAgABAAkAAQ\ +ACABAAAQACAAIAAQAAAAEADwAJAAEAAQAAAAAAAQABAAEAAAAAAAAAAgAAAAIAAAAAAAAAAwABAAcA\ +DwAFAAUAAAAAAAAAAQAEAAAAAgAEAAMAAQABAAIABAABAAIAAQACAAIACQAAAAEAAAAFAAsAAQAAAA\ +IACwAAAAQAAAABAAEAAQAAAAkAAgAFAAAABAADAAIAAQABAAIAAAAGAAoAAAACAAEACQABAAEAAQAI\ +AAEAAgABAAEAAAABAAMAAQABAAEAAwABAAUAAQADAAEAAAAAAAYAAAAEAAEAAwABAAMAAAABAAAAAA\ +AAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAADAAYAAAAAAAIAAwADAAIAAgAAAAQAAgAAAAEAAQAKAAMA\ +AAADAAQAAQABAAMAAAAAAAQABAABAAIABQAMAAEAAAAHAAIAAQACAAUAAQAAAAQAAQAAAAAAAQAAAA\ +AACwANAAIAAwAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAGAAIAAgACAAEAAQABAAAAAAAA\ +AAEAAAABAAsAAQABAAEAAgAFAAEAAQADAAQAAQACAAIACAAAAAEABAADAAMAAQAIAAEACAABAAAABA\ +AIAAAAAgADAAMAAAAAAAIAAQAAAAAAAAAAAAAAAAAAAAQAAAAAAAAACgAAAAEAAAAAAAAAAQADAAkA\ +AAACAAEACgAAAAEAAAAAAAMAAAABAAEAAAAJAAcAAQACAAgAAQAFAAMAAgABAAEAAgACAAEAAQABAA\ +UAAAAAAAEAAAAKAAMAAAAAAAEAAAAMAAAABwADAAEAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAA\ +AAAAAAABAAAAAAADAAEAAAABAAQADwAAAAEAAAABAAAAAAAAAAgAAAACAAYAAQAAAAQAAgAAAAEABA\ +AAAAIAAgACAAEAAAAAAAIAAQAAAAMAAQAAAAEAAAABAAEAAgACAAIACgABAAEAAQABAAIAAgAAAAEA\ +AAAAAAAAAAABAAAAAgAIAAEAAgAGAAEAAAACAAEAAAAAAAAAAQACAAEABAAEAAEAAAAFAAEAAQABAA\ +AAAgABAAAAAAAAAAIAAAABAAAAAAABAAQAAAAJAAIADAAIAAAAAQAAAAQAAAAAAAEAAwAEAAIAAAAB\ +AAMABAAAAAEAAAAHAAIAAQAEAAAABAAAAAAAAAAAAAAACQABAAEAAgAAAAQAAQABAAEAAAABAAEAAQ\ +ABAAAAAAABAAEAAwABAAEAAQACAAAAAwABAAAAAgAAAAQAAQAAAAAAAAABAAcAAAAAAAAAAAAEAAAA\ +AQAHAAAAAAAAAAEABAABAAAABAACAAIAAQAAAAEAAQABAAIAAQAAAAcAAAAAAAYAAAADAAIAAgABAA\ +AAAAACAAAAAQADAAUAAQABAAAAAAAAAAAAAAABAAYAAQABAAMACQAAAAEAAQAAAAYAAAADAAEAAgAA\ +AAEAAgAFAAUAAgAAAAEABAAAAAEAAQABAAEAAAABAAAAAAAAAAAAAgAAAAAAAQACAAEAAAAAAAIAAA\ +ABAAYABgACAAIAAAADAAIAAwABAAEAAgABAAIACwAAAAEAAAABAAIAAgAEAAAAAAAAAAAAAAACAAAA\ +AAAAAAMAAAAAAAEABgAAAAIAAQAAAAMABAAAAAMAAAABAAQAAQADAAIAAAAAAAIAAQAAAAEAAQABAA\ +UABgAEAAAAAAAAAAIAAQAAAAEAAQAEAAEAAQAJAAAAAgAAAAIAAwAFAAIAAAAAAAAAAAAAAAIAAAAA\ +AAAAAAABAAAAAQADAAAAAAAAAAAAAQACAAcAAQAAAAAAAAABAAAAAAAKAAEAAAABABAAAgAIAAEAAQ\ +ACAAEAAgABAAAAAwACAAQAAAACAAIAAAABAAIAAQABAAEAAQAAAAAAAAAGAAIABQAAAAAABAAEAAEA\ +BQAAAAUAAAAAAAAAAAAAAAAAAQAAAAEAAAAFAAAAAAAAAAUAAgABAAMACQABAAMAAAAAAAIAAAABAA\ +EABAACAAAACAACAAEABgAAAAIAAgADAAAAAwABAAEAAgACAAAAAwABAAAAAAAAAAIAAgAAAAIABQAB\ +AAAAAAAAAAIAAgABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAABAAAABwABAAAAAgACAAAAAQ\ +AAAAIAAAAGAAIAAQAIAAAAAgACAAEABAABAAAAAQABAAIACQABAAEAAQAEAAEABQACAAEAAQAEAAMA\ +AAAAAAEAAAABAAEAAAABAAAAAQABAAAABAAEAAAAO/kCAJcMAQBp+AIAxQsBAD75AAAfCQEALh8AAA\ +oGAwAK+QIAZgwBAMv6AACeCgEAh/oAAFoKAQBb+QIAtwwBAGX5AABGCQEA+/gCAFcMAQA6+AIAlgsB\ +AFsJAADKAgIArx8AAHUHBAAs+QIAiAwBAIgeAACCBAIAywkAANQCAgAKHwAAsgUDACkCAADyAQIAi/\ +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\ +AAAAAwAAVQAAAAEDAABVAAAAAgMAAFUAAAAIAwAAWQAAAAEDAABhAAAAAAMAAGEAAAABAwAAYQAAAA\ +IDAABhAAAAAwMAAGEAAAAIAwAAYQAAAAoDAABjAAAAJwMAAGUAAAAAAwAAZQAAAAEDAABlAAAAAgMA\ +AGUAAAAIAwAAaQAAAAADAABpAAAAAQMAAGkAAAACAwAAaQAAAAgDAABuAAAAAwMAAG8AAAAAAwAAbw\ +AAAAEDAABvAAAAAgMAAG8AAAADAwAAbwAAAAgDAAB1AAAAAAMAAHUAAAABAwAAdQAAAAIDAAB1AAAA\ +CAMAAHkAAAABAwAAeQAAAAgDAABBAAAABAMAAGEAAAAEAwAAQQAAAAYDAABhAAAABgMAAEEAAAAoAw\ +AAYQAAACgDAABDAAAAAQMAAGMAAAABAwAAQwAAAAIDAABjAAAAAgMAAEMAAAAHAwAAYwAAAAcDAABD\ +AAAADAMAAGMAAAAMAwAARAAAAAwDAABkAAAADAMAAEUAAAAEAwAAZQAAAAQDAABFAAAABgMAAGUAAA\ +AGAwAARQAAAAcDAABlAAAABwMAAEUAAAAoAwAAZQAAACgDAABFAAAADAMAAGUAAAAMAwAARwAAAAID\ +AABnAAAAAgMAAEcAAAAGAwAAZwAAAAYDAABHAAAABwMAAGcAAAAHAwAARwAAACcDAABnAAAAJwMAAE\ +gAAAACAwAAaAAAAAIDAABJAAAAAwMAAGkAAAADAwAASQAAAAQDAABpAAAABAMAAEkAAAAGAwAAaQAA\ +AAYDAABJAAAAKAMAAGkAAAAoAwAASQAAAAcDAABKAAAAAgMAAGoAAAACAwAASwAAACcDAABrAAAAJw\ +MAAEwAAAABAwAAbAAAAAEDAABMAAAAJwMAAGwAAAAnAwAATAAAAAwDAABsAAAADAMAAE4AAAABAwAA\ +bgAAAAEDAABOAAAAJwMAAG4AAAAnAwAATgAAAAwDAABuAAAADAMAAE8AAAAEAwAAbwAAAAQDAABPAA\ +AABgMAAG8AAAAGAwAATwAAAAsDAABvAAAACwMAAFIAAAABAwAAcgAAAAEDAABSAAAAJwMAAHIAAAAn\ +AwAAUgAAAAwDAAByAAAADAMAAFMAAAABAwAAcwAAAAEDAABTAAAAAgMAAHMAAAACAwAAUwAAACcDAA\ +BzAAAAJwMAAFMAAAAMAwAAcwAAAAwDAABUAAAAJwMAAHQAAAAnAwAAVAAAAAwDAAB0AAAADAMAAFUA\ +AAADAwAAdQAAAAMDAABVAAAABAMAAHUAAAAEAwAAVQAAAAYDAAB1AAAABgMAAFUAAAAKAwAAdQAAAA\ +oDAABVAAAACwMAAHUAAAALAwAAVQAAACgDAAB1AAAAKAMAAFcAAAACAwAAdwAAAAIDAABZAAAAAgMA\ +AHkAAAACAwAAWQAAAAgDAABaAAAAAQMAAHoAAAABAwAAWgAAAAcDAAB6AAAABwMAAFoAAAAMAwAAeg\ +AAAAwDAABPAAAAGwMAAG8AAAAbAwAAVQAAABsDAAB1AAAAGwMAAEEAAAAMAwAAYQAAAAwDAABJAAAA\ +DAMAAGkAAAAMAwAATwAAAAwDAABvAAAADAMAAFUAAAAMAwAAdQAAAAwDAABVAAAACAMAAAQDAAB1AA\ +AACAMAAAQDAABVAAAACAMAAAEDAAB1AAAACAMAAAEDAABVAAAACAMAAAwDAAB1AAAACAMAAAwDAABV\ +AAAACAMAAAADAAB1AAAACAMAAAADAABBAAAACAMAAAQDAABhAAAACAMAAAQDAABBAAAABwMAAAQDAA\ +BhAAAABwMAAAQDAADGAAAABAMAAOYAAAAEAwAARwAAAAwDAABnAAAADAMAAEsAAAAMAwAAawAAAAwD\ +AABPAAAAKAMAAG8AAAAoAwAATwAAACgDAAAEAwAAbwAAACgDAAAEAwAAtwEAAAwDAACSAgAADAMAAG\ +oAAAAMAwAARwAAAAEDAABnAAAAAQMAAE4AAAAAAwAAbgAAAAADAABBAAAACgMAAAEDAABhAAAACgMA\ +AAEDAADGAAAAAQMAAOYAAAABAwAA2AAAAAEDAAD4AAAAAQMAAEEAAAAPAwAAYQAAAA8DAABBAAAAEQ\ +MAAGEAAAARAwAARQAAAA8DAABlAAAADwMAAEUAAAARAwAAZQAAABEDAABJAAAADwMAAGkAAAAPAwAA\ +SQAAABEDAABpAAAAEQMAAE8AAAAPAwAAbwAAAA8DAABPAAAAEQMAAG8AAAARAwAAUgAAAA8DAAByAA\ +AADwMAAFIAAAARAwAAcgAAABEDAABVAAAADwMAAHUAAAAPAwAAVQAAABEDAAB1AAAAEQMAAFMAAAAm\ +AwAAcwAAACYDAABUAAAAJgMAAHQAAAAmAwAASAAAAAwDAABoAAAADAMAAEEAAAAHAwAAYQAAAAcDAA\ +BFAAAAJwMAAGUAAAAnAwAATwAAAAgDAAAEAwAAbwAAAAgDAAAEAwAATwAAAAMDAAAEAwAAbwAAAAMD\ +AAAEAwAATwAAAAcDAABvAAAABwMAAE8AAAAHAwAABAMAAG8AAAAHAwAABAMAAFkAAAAEAwAAeQAAAA\ +QDAAAAAwAAAQMAABMDAAAIAwAAAQMAALkCAAA7AAAAqAAAAAEDAACRAwAAAQMAALcAAACVAwAAAQMA\ +AJcDAAABAwAAmQMAAAEDAACfAwAAAQMAAKUDAAABAwAAqQMAAAEDAAC5AwAACAMAAAEDAACZAwAACA\ +MAAKUDAAAIAwAAsQMAAAEDAAC1AwAAAQMAALcDAAABAwAAuQMAAAEDAADFAwAACAMAAAEDAAC5AwAA\ +CAMAAMUDAAAIAwAAvwMAAAEDAADFAwAAAQMAAMkDAAABAwAA0gMAAAEDAADSAwAACAMAABUEAAAAAw\ +AAFQQAAAgDAAATBAAAAQMAAAYEAAAIAwAAGgQAAAEDAAAYBAAAAAMAACMEAAAGAwAAGAQAAAYDAAA4\ +BAAABgMAADUEAAAAAwAANQQAAAgDAAAzBAAAAQMAAFYEAAAIAwAAOgQAAAEDAAA4BAAAAAMAAEMEAA\ +AGAwAAdAQAAA8DAAB1BAAADwMAABYEAAAGAwAANgQAAAYDAAAQBAAABgMAADAEAAAGAwAAEAQAAAgD\ +AAAwBAAACAMAABUEAAAGAwAANQQAAAYDAADYBAAACAMAANkEAAAIAwAAFgQAAAgDAAA2BAAACAMAAB\ +cEAAAIAwAANwQAAAgDAAAYBAAABAMAADgEAAAEAwAAGAQAAAgDAAA4BAAACAMAAB4EAAAIAwAAPgQA\ +AAgDAADoBAAACAMAAOkEAAAIAwAALQQAAAgDAABNBAAACAMAACMEAAAEAwAAQwQAAAQDAAAjBAAACA\ +MAAEMEAAAIAwAAIwQAAAsDAABDBAAACwMAACcEAAAIAwAARwQAAAgDAAArBAAACAMAAEsEAAAIAwAA\ +JwYAAFMGAAAnBgAAVAYAAEgGAABUBgAAJwYAAFUGAABKBgAAVAYAANUGAABUBgAAwQYAAFQGAADSBg\ +AAVAYAACgJAAA8CQAAMAkAADwJAAAzCQAAPAkAABUJAAA8CQAAFgkAADwJAAAXCQAAPAkAABwJAAA8\ +CQAAIQkAADwJAAAiCQAAPAkAACsJAAA8CQAALwkAADwJAADHCQAAvgkAAMcJAADXCQAAoQkAALwJAA\ +CiCQAAvAkAAK8JAAC8CQAAMgoAADwKAAA4CgAAPAoAABYKAAA8CgAAFwoAADwKAAAcCgAAPAoAACsK\ +AAA8CgAARwsAAFYLAABHCwAAPgsAAEcLAABXCwAAIQsAADwLAAAiCwAAPAsAAJILAADXCwAAxgsAAL\ +4LAADHCwAAvgsAAMYLAADXCwAARgwAAFYMAAC/DAAA1QwAAMYMAADVDAAAxgwAANYMAADGDAAAwgwA\ +AMYMAADCDAAA1QwAAEYNAAA+DQAARw0AAD4NAABGDQAAVw0AANkNAADKDQAA2Q0AAM8NAADZDQAAzw\ +0AAMoNAADZDQAA3w0AAEIPAAC3DwAATA8AALcPAABRDwAAtw8AAFYPAAC3DwAAWw8AALcPAABADwAA\ +tQ8AAHEPAAByDwAAcQ8AAHQPAACyDwAAgA8AALMPAACADwAAcQ8AAIAPAACSDwAAtw8AAJwPAAC3Dw\ +AAoQ8AALcPAACmDwAAtw8AAKsPAAC3DwAAkA8AALUPAAAlEAAALhAAAAUbAAA1GwAABxsAADUbAAAJ\ +GwAANRsAAAsbAAA1GwAADRsAADUbAAARGwAANRsAADobAAA1GwAAPBsAADUbAAA+GwAANRsAAD8bAA\ +A1GwAAQhsAADUbAABBAAAAJQMAAGEAAAAlAwAAQgAAAAcDAABiAAAABwMAAEIAAAAjAwAAYgAAACMD\ +AABCAAAAMQMAAGIAAAAxAwAAQwAAACcDAAABAwAAYwAAACcDAAABAwAARAAAAAcDAABkAAAABwMAAE\ +QAAAAjAwAAZAAAACMDAABEAAAAMQMAAGQAAAAxAwAARAAAACcDAABkAAAAJwMAAEQAAAAtAwAAZAAA\ +AC0DAABFAAAABAMAAAADAABlAAAABAMAAAADAABFAAAABAMAAAEDAABlAAAABAMAAAEDAABFAAAALQ\ +MAAGUAAAAtAwAARQAAADADAABlAAAAMAMAAEUAAAAnAwAABgMAAGUAAAAnAwAABgMAAEYAAAAHAwAA\ +ZgAAAAcDAABHAAAABAMAAGcAAAAEAwAASAAAAAcDAABoAAAABwMAAEgAAAAjAwAAaAAAACMDAABIAA\ +AACAMAAGgAAAAIAwAASAAAACcDAABoAAAAJwMAAEgAAAAuAwAAaAAAAC4DAABJAAAAMAMAAGkAAAAw\ +AwAASQAAAAgDAAABAwAAaQAAAAgDAAABAwAASwAAAAEDAABrAAAAAQMAAEsAAAAjAwAAawAAACMDAA\ +BLAAAAMQMAAGsAAAAxAwAATAAAACMDAABsAAAAIwMAAEwAAAAjAwAABAMAAGwAAAAjAwAABAMAAEwA\ +AAAxAwAAbAAAADEDAABMAAAALQMAAGwAAAAtAwAATQAAAAEDAABtAAAAAQMAAE0AAAAHAwAAbQAAAA\ +cDAABNAAAAIwMAAG0AAAAjAwAATgAAAAcDAABuAAAABwMAAE4AAAAjAwAAbgAAACMDAABOAAAAMQMA\ +AG4AAAAxAwAATgAAAC0DAABuAAAALQMAAE8AAAADAwAAAQMAAG8AAAADAwAAAQMAAE8AAAADAwAACA\ +MAAG8AAAADAwAACAMAAE8AAAAEAwAAAAMAAG8AAAAEAwAAAAMAAE8AAAAEAwAAAQMAAG8AAAAEAwAA\ +AQMAAFAAAAABAwAAcAAAAAEDAABQAAAABwMAAHAAAAAHAwAAUgAAAAcDAAByAAAABwMAAFIAAAAjAw\ +AAcgAAACMDAABSAAAAIwMAAAQDAAByAAAAIwMAAAQDAABSAAAAMQMAAHIAAAAxAwAAUwAAAAcDAABz\ +AAAABwMAAFMAAAAjAwAAcwAAACMDAABTAAAAAQMAAAcDAABzAAAAAQMAAAcDAABTAAAADAMAAAcDAA\ +BzAAAADAMAAAcDAABTAAAAIwMAAAcDAABzAAAAIwMAAAcDAABUAAAABwMAAHQAAAAHAwAAVAAAACMD\ +AAB0AAAAIwMAAFQAAAAxAwAAdAAAADEDAABUAAAALQMAAHQAAAAtAwAAVQAAACQDAAB1AAAAJAMAAF\ +UAAAAwAwAAdQAAADADAABVAAAALQMAAHUAAAAtAwAAVQAAAAMDAAABAwAAdQAAAAMDAAABAwAAVQAA\ +AAQDAAAIAwAAdQAAAAQDAAAIAwAAVgAAAAMDAAB2AAAAAwMAAFYAAAAjAwAAdgAAACMDAABXAAAAAA\ +MAAHcAAAAAAwAAVwAAAAEDAAB3AAAAAQMAAFcAAAAIAwAAdwAAAAgDAABXAAAABwMAAHcAAAAHAwAA\ +VwAAACMDAAB3AAAAIwMAAFgAAAAHAwAAeAAAAAcDAABYAAAACAMAAHgAAAAIAwAAWQAAAAcDAAB5AA\ +AABwMAAFoAAAACAwAAegAAAAIDAABaAAAAIwMAAHoAAAAjAwAAWgAAADEDAAB6AAAAMQMAAGgAAAAx\ +AwAAdAAAAAgDAAB3AAAACgMAAHkAAAAKAwAAfwEAAAcDAABBAAAAIwMAAGEAAAAjAwAAQQAAAAkDAA\ +BhAAAACQMAAEEAAAACAwAAAQMAAGEAAAACAwAAAQMAAEEAAAACAwAAAAMAAGEAAAACAwAAAAMAAEEA\ +AAACAwAACQMAAGEAAAACAwAACQMAAEEAAAACAwAAAwMAAGEAAAACAwAAAwMAAEEAAAAjAwAAAgMAAG\ +EAAAAjAwAAAgMAAEEAAAAGAwAAAQMAAGEAAAAGAwAAAQMAAEEAAAAGAwAAAAMAAGEAAAAGAwAAAAMA\ +AEEAAAAGAwAACQMAAGEAAAAGAwAACQMAAEEAAAAGAwAAAwMAAGEAAAAGAwAAAwMAAEEAAAAjAwAABg\ +MAAGEAAAAjAwAABgMAAEUAAAAjAwAAZQAAACMDAABFAAAACQMAAGUAAAAJAwAARQAAAAMDAABlAAAA\ +AwMAAEUAAAACAwAAAQMAAGUAAAACAwAAAQMAAEUAAAACAwAAAAMAAGUAAAACAwAAAAMAAEUAAAACAw\ +AACQMAAGUAAAACAwAACQMAAEUAAAACAwAAAwMAAGUAAAACAwAAAwMAAEUAAAAjAwAAAgMAAGUAAAAj\ +AwAAAgMAAEkAAAAJAwAAaQAAAAkDAABJAAAAIwMAAGkAAAAjAwAATwAAACMDAABvAAAAIwMAAE8AAA\ +AJAwAAbwAAAAkDAABPAAAAAgMAAAEDAABvAAAAAgMAAAEDAABPAAAAAgMAAAADAABvAAAAAgMAAAAD\ +AABPAAAAAgMAAAkDAABvAAAAAgMAAAkDAABPAAAAAgMAAAMDAABvAAAAAgMAAAMDAABPAAAAIwMAAA\ +IDAABvAAAAIwMAAAIDAABPAAAAGwMAAAEDAABvAAAAGwMAAAEDAABPAAAAGwMAAAADAABvAAAAGwMA\ +AAADAABPAAAAGwMAAAkDAABvAAAAGwMAAAkDAABPAAAAGwMAAAMDAABvAAAAGwMAAAMDAABPAAAAGw\ +MAACMDAABvAAAAGwMAACMDAABVAAAAIwMAAHUAAAAjAwAAVQAAAAkDAAB1AAAACQMAAFUAAAAbAwAA\ +AQMAAHUAAAAbAwAAAQMAAFUAAAAbAwAAAAMAAHUAAAAbAwAAAAMAAFUAAAAbAwAACQMAAHUAAAAbAw\ +AACQMAAFUAAAAbAwAAAwMAAHUAAAAbAwAAAwMAAFUAAAAbAwAAIwMAAHUAAAAbAwAAIwMAAFkAAAAA\ +AwAAeQAAAAADAABZAAAAIwMAAHkAAAAjAwAAWQAAAAkDAAB5AAAACQMAAFkAAAADAwAAeQAAAAMDAA\ +CxAwAAEwMAALEDAAAUAwAAsQMAABMDAAAAAwAAsQMAABQDAAAAAwAAsQMAABMDAAABAwAAsQMAABQD\ +AAABAwAAsQMAABMDAABCAwAAsQMAABQDAABCAwAAkQMAABMDAACRAwAAFAMAAJEDAAATAwAAAAMAAJ\ +EDAAAUAwAAAAMAAJEDAAATAwAAAQMAAJEDAAAUAwAAAQMAAJEDAAATAwAAQgMAAJEDAAAUAwAAQgMA\ +ALUDAAATAwAAtQMAABQDAAC1AwAAEwMAAAADAAC1AwAAFAMAAAADAAC1AwAAEwMAAAEDAAC1AwAAFA\ +MAAAEDAACVAwAAEwMAAJUDAAAUAwAAlQMAABMDAAAAAwAAlQMAABQDAAAAAwAAlQMAABMDAAABAwAA\ +lQMAABQDAAABAwAAtwMAABMDAAC3AwAAFAMAALcDAAATAwAAAAMAALcDAAAUAwAAAAMAALcDAAATAw\ +AAAQMAALcDAAAUAwAAAQMAALcDAAATAwAAQgMAALcDAAAUAwAAQgMAAJcDAAATAwAAlwMAABQDAACX\ +AwAAEwMAAAADAACXAwAAFAMAAAADAACXAwAAEwMAAAEDAACXAwAAFAMAAAEDAACXAwAAEwMAAEIDAA\ +CXAwAAFAMAAEIDAAC5AwAAEwMAALkDAAAUAwAAuQMAABMDAAAAAwAAuQMAABQDAAAAAwAAuQMAABMD\ +AAABAwAAuQMAABQDAAABAwAAuQMAABMDAABCAwAAuQMAABQDAABCAwAAmQMAABMDAACZAwAAFAMAAJ\ +kDAAATAwAAAAMAAJkDAAAUAwAAAAMAAJkDAAATAwAAAQMAAJkDAAAUAwAAAQMAAJkDAAATAwAAQgMA\ +AJkDAAAUAwAAQgMAAL8DAAATAwAAvwMAABQDAAC/AwAAEwMAAAADAAC/AwAAFAMAAAADAAC/AwAAEw\ +MAAAEDAAC/AwAAFAMAAAEDAACfAwAAEwMAAJ8DAAAUAwAAnwMAABMDAAAAAwAAnwMAABQDAAAAAwAA\ +nwMAABMDAAABAwAAnwMAABQDAAABAwAAxQMAABMDAADFAwAAFAMAAMUDAAATAwAAAAMAAMUDAAAUAw\ +AAAAMAAMUDAAATAwAAAQMAAMUDAAAUAwAAAQMAAMUDAAATAwAAQgMAAMUDAAAUAwAAQgMAAKUDAAAU\ +AwAApQMAABQDAAAAAwAApQMAABQDAAABAwAApQMAABQDAABCAwAAyQMAABMDAADJAwAAFAMAAMkDAA\ +ATAwAAAAMAAMkDAAAUAwAAAAMAAMkDAAATAwAAAQMAAMkDAAAUAwAAAQMAAMkDAAATAwAAQgMAAMkD\ +AAAUAwAAQgMAAKkDAAATAwAAqQMAABQDAACpAwAAEwMAAAADAACpAwAAFAMAAAADAACpAwAAEwMAAA\ +EDAACpAwAAFAMAAAEDAACpAwAAEwMAAEIDAACpAwAAFAMAAEIDAACxAwAAAAMAALEDAAABAwAAtQMA\ +AAADAAC1AwAAAQMAALcDAAAAAwAAtwMAAAEDAAC5AwAAAAMAALkDAAABAwAAvwMAAAADAAC/AwAAAQ\ +MAAMUDAAAAAwAAxQMAAAEDAADJAwAAAAMAAMkDAAABAwAAsQMAABMDAABFAwAAsQMAABQDAABFAwAA\ +sQMAABMDAAAAAwAARQMAALEDAAAUAwAAAAMAAEUDAACxAwAAEwMAAAEDAABFAwAAsQMAABQDAAABAw\ +AARQMAALEDAAATAwAAQgMAAEUDAACxAwAAFAMAAEIDAABFAwAAkQMAABMDAABFAwAAkQMAABQDAABF\ +AwAAkQMAABMDAAAAAwAARQMAAJEDAAAUAwAAAAMAAEUDAACRAwAAEwMAAAEDAABFAwAAkQMAABQDAA\ +ABAwAARQMAAJEDAAATAwAAQgMAAEUDAACRAwAAFAMAAEIDAABFAwAAtwMAABMDAABFAwAAtwMAABQD\ +AABFAwAAtwMAABMDAAAAAwAARQMAALcDAAAUAwAAAAMAAEUDAAC3AwAAEwMAAAEDAABFAwAAtwMAAB\ +QDAAABAwAARQMAALcDAAATAwAAQgMAAEUDAAC3AwAAFAMAAEIDAABFAwAAlwMAABMDAABFAwAAlwMA\ +ABQDAABFAwAAlwMAABMDAAAAAwAARQMAAJcDAAAUAwAAAAMAAEUDAACXAwAAEwMAAAEDAABFAwAAlw\ +MAABQDAAABAwAARQMAAJcDAAATAwAAQgMAAEUDAACXAwAAFAMAAEIDAABFAwAAyQMAABMDAABFAwAA\ +yQMAABQDAABFAwAAyQMAABMDAAAAAwAARQMAAMkDAAAUAwAAAAMAAEUDAADJAwAAEwMAAAEDAABFAw\ +AAyQMAABQDAAABAwAARQMAAMkDAAATAwAAQgMAAEUDAADJAwAAFAMAAEIDAABFAwAAqQMAABMDAABF\ +AwAAqQMAABQDAABFAwAAqQMAABMDAAAAAwAARQMAAKkDAAAUAwAAAAMAAEUDAACpAwAAEwMAAAEDAA\ +BFAwAAqQMAABQDAAABAwAARQMAAKkDAAATAwAAQgMAAEUDAACpAwAAFAMAAEIDAABFAwAAsQMAAAYD\ +AACxAwAABAMAALEDAAAAAwAARQMAALEDAABFAwAAsQMAAAEDAABFAwAAsQMAAEIDAACxAwAAQgMAAE\ +UDAACRAwAABgMAAJEDAAAEAwAAkQMAAAADAACRAwAAAQMAAJEDAABFAwAAuQMAAKgAAABCAwAAtwMA\ +AAADAABFAwAAtwMAAEUDAAC3AwAAAQMAAEUDAAC3AwAAQgMAALcDAABCAwAARQMAAJUDAAAAAwAAlQ\ +MAAAEDAACXAwAAAAMAAJcDAAABAwAAlwMAAEUDAAC/HwAAAAMAAL8fAAABAwAAvx8AAEIDAAC5AwAA\ +BgMAALkDAAAEAwAAuQMAAAgDAAAAAwAAuQMAAAgDAAABAwAAuQMAAEIDAAC5AwAACAMAAEIDAACZAw\ +AABgMAAJkDAAAEAwAAmQMAAAADAACZAwAAAQMAAP4fAAAAAwAA/h8AAAEDAAD+HwAAQgMAAMUDAAAG\ +AwAAxQMAAAQDAADFAwAACAMAAAADAADFAwAACAMAAAEDAADBAwAAEwMAAMEDAAAUAwAAxQMAAEIDAA\ +DFAwAACAMAAEIDAAClAwAABgMAAKUDAAAEAwAApQMAAAADAAClAwAAAQMAAKEDAAAUAwAAqAAAAAAD\ +AACoAAAAAQMAAGAAAADJAwAAAAMAAEUDAADJAwAARQMAAMkDAAABAwAARQMAAMkDAABCAwAAyQMAAE\ +IDAABFAwAAnwMAAAADAACfAwAAAQMAAKkDAAAAAwAAqQMAAAEDAACpAwAARQMAALQAAAACIAAAAyAA\ +AKkDAABLAAAAQQAAAAoDAACQIQAAOAMAAJIhAAA4AwAAlCEAADgDAADQIQAAOAMAANQhAAA4AwAA0i\ +EAADgDAAADIgAAOAMAAAgiAAA4AwAACyIAADgDAAAjIgAAOAMAACUiAAA4AwAAPCIAADgDAABDIgAA\ +OAMAAEUiAAA4AwAASCIAADgDAAA9AAAAOAMAAGEiAAA4AwAATSIAADgDAAA8AAAAOAMAAD4AAAA4Aw\ +AAZCIAADgDAABlIgAAOAMAAHIiAAA4AwAAcyIAADgDAAB2IgAAOAMAAHciAAA4AwAAeiIAADgDAAB7\ +IgAAOAMAAIIiAAA4AwAAgyIAADgDAACGIgAAOAMAAIciAAA4AwAAoiIAADgDAACoIgAAOAMAAKkiAA\ +A4AwAAqyIAADgDAAB8IgAAOAMAAH0iAAA4AwAAkSIAADgDAACSIgAAOAMAALIiAAA4AwAAsyIAADgD\ +AAC0IgAAOAMAALUiAAA4AwAACDAAAAkwAADdKgAAOAMAAEswAACZMAAATTAAAJkwAABPMAAAmTAAAF\ +EwAACZMAAAUzAAAJkwAABVMAAAmTAAAFcwAACZMAAAWTAAAJkwAABbMAAAmTAAAF0wAACZMAAAXzAA\ +AJkwAABhMAAAmTAAAGQwAACZMAAAZjAAAJkwAABoMAAAmTAAAG8wAACZMAAAbzAAAJowAAByMAAAmT\ +AAAHIwAACaMAAAdTAAAJkwAAB1MAAAmjAAAHgwAACZMAAAeDAAAJowAAB7MAAAmTAAAHswAACaMAAA\ +RjAAAJkwAACdMAAAmTAAAKswAACZMAAArTAAAJkwAACvMAAAmTAAALEwAACZMAAAszAAAJkwAAC1MA\ +AAmTAAALcwAACZMAAAuTAAAJkwAAC7MAAAmTAAAL0wAACZMAAAvzAAAJkwAADBMAAAmTAAAMQwAACZ\ +MAAAxjAAAJkwAADIMAAAmTAAAM8wAACZMAAAzzAAAJowAADSMAAAmTAAANIwAACaMAAA1TAAAJkwAA\ +DVMAAAmjAAANgwAACZMAAA2DAAAJowAADbMAAAmTAAANswAACaMAAApjAAAJkwAADvMAAAmTAAAPAw\ +AACZMAAA8TAAAJkwAADyMAAAmTAAAP0wAACZMAAASIwAAPRmAADKjgAAyIwAANFuAAAyTgAA5VMAAJ\ +yfAACcnwAAUVkAANGRAACHVQAASFkAAPZhAABpdgAAhX8AAD+GAAC6hwAA+IgAAI+QAAACagAAG20A\ +ANlwAADecwAAPYQAAGqRAADxmQAAgk4AAHVTAAAEawAAG3IAAC2GAAAengAAUF0AAOtvAADNhQAAZI\ +kAAMliAADYgQAAH4gAAMpeAAAXZwAAam0AAPxyAADOkAAAhk8AALdRAADeUgAAxGQAANNqAAAQcgAA\ +53YAAAGAAAAGhgAAXIYAAO+NAAAylwAAb5sAAPqdAACMeAAAf3kAAKB9AADJgwAABJMAAH+eAADWig\ +AA31gAAARfAABgfAAAfoAAAGJyAADKeAAAwowAAPeWAADYWAAAYlwAABNqAADabQAAD28AAC99AAA3\ +fgAAS5YAANJSAACLgAAA3FEAAMxRAAAcegAAvn0AAPGDAAB1lgAAgIsAAM9iAAACagAA/ooAADlOAA\ +DnWwAAEmAAAIdzAABwdQAAF1MAAPt4AAC/TwAAqV8AAA1OAADMbAAAeGUAACJ9AADDUwAAXlgAAAF3\ +AABJhAAAqooAALprAACwjwAAiGwAAP5iAADlggAAoGMAAGV1AACuTgAAaVEAAMlRAACBaAAA53wAAG\ ++CAADSigAAz5EAAPVSAABCVAAAc1kAAOxeAADFZQAA/m8AACp5AACtlQAAapoAAJeeAADOngAAm1IA\ +AMZmAAB3awAAYo8AAHReAACQYQAAAGIAAJpkAAAjbwAASXEAAIl0AADKeQAA9H0AAG+AAAAmjwAA7o\ +QAACOQAABKkwAAF1IAAKNSAAC9VAAAyHAAAMKIAACqigAAyV4AAPVfAAB7YwAArmsAAD58AAB1cwAA\ +5E4AAPlWAADnWwAAul0AABxgAACycwAAaXQAAJp/AABGgAAANJIAAPaWAABIlwAAGJgAAItPAACueQ\ +AAtJEAALiWAADhYAAAhk4AANpQAADuWwAAP1wAAJllAAACagAAznEAAEJ2AAD8hAAAfJAAAI2fAACI\ +ZgAALpYAAIlSAAB7ZwAA82cAAEFtAACcbgAACXQAAFl1AABreAAAEH0AAF6YAABtUQAALmIAAHiWAA\ +ArUAAAGV0AAOptAAAqjwAAi18AAERhAAAXaAAAh3MAAIaWAAApUgAAD1QAAGVcAAATZgAATmcAAKho\ +AADlbAAABnQAAOJ1AAB5fwAAz4gAAOGIAADMkQAA4pYAAD9TAAC6bgAAHVQAANBxAACYdAAA+oUAAK\ +OWAABXnAAAn54AAJdnAADLbQAA6IEAAMt6AAAgewAAknwAAMByAACZcAAAWIsAAMBOAAA2gwAAOlIA\ +AAdSAACmXgAA02IAANZ8AACFWwAAHm0AALRmAAA7jwAATIgAAE2WAACLiQAA014AAEBRAADAVQAAWl\ +gAAHRmAADeUQAAKnMAAMp2AAA8eQAAXnkAAGV5AACPeQAAVpcAAL58AAC9fwAAEoYAAPiKAAA4kAAA\ +/ZAAAO+YAAD8mAAAKJkAALSdAADekAAAt5YAAK5PAADnUAAATVEAAMlSAADkUgAAUVMAAJ1VAAAGVg\ +AAaFYAAEBYAACoWAAAZFwAAG5cAACUYAAAaGEAAI5hAADyYQAAT2UAAOJlAACRZgAAhWgAAHdtAAAa\ +bgAAIm8AAG5xAAArcgAAInQAAJF4AAA+eQAASXkAAEh5AABQeQAAVnkAAF15AACNeQAAjnkAAEB6AA\ +CBegAAwHsAAPR9AAAJfgAAQX4AAHJ/AAAFgAAA7YEAAHmCAAB5ggAAV4QAABCJAACWiQAAAYsAADmL\ +AADTjAAACI0AALaPAAA4kAAA45YAAP+XAAA7mAAAdWAAAO5CAgAYggAAJk4AALVRAABoUQAAgE8AAE\ +VRAACAUQAAx1IAAPpSAACdVQAAVVUAAJlVAADiVQAAWlgAALNYAABEWQAAVFkAAGJaAAAoWwAA0l4A\ +ANleAABpXwAArV8AANhgAABOYQAACGEAAI5hAABgYQAA8mEAADRiAADEYwAAHGQAAFJkAABWZQAAdG\ +YAABdnAAAbZwAAVmcAAHlrAAC6awAAQW0AANtuAADLbgAAIm8AAB5wAABucQAAp3cAADVyAACvcgAA\ +KnMAAHF0AAAGdQAAO3UAAB12AAAfdgAAynYAANt2AAD0dgAASncAAEB3AADMeAAAsXoAAMB7AAB7fA\ +AAW30AAPR9AAA+fwAABYAAAFKDAADvgwAAeYcAAEGJAACGiQAAlokAAL+KAAD4igAAy4oAAAGLAAD+\ +igAA7YoAADmLAACKiwAACI0AADiPAABykAAAmZEAAHaSAAB8lgAA45YAAFaXAADblwAA/5cAAAuYAA\ +A7mAAAEpsAAJyfAABKKAIARCgCANUzAgCdOwAAGEAAADlAAABJUgIA0FwCANN+AgBDnwAAjp8AANkF\ +AAC0BQAA8gUAALcFAADpBQAAwQUAAOkFAADCBQAA6QUAALwFAADBBQAA6QUAALwFAADCBQAA0AUAAL\ +cFAADQBQAAuAUAANAFAAC8BQAA0QUAALwFAADSBQAAvAUAANMFAAC8BQAA1AUAALwFAADVBQAAvAUA\ +ANYFAAC8BQAA2AUAALwFAADZBQAAvAUAANoFAAC8BQAA2wUAALwFAADcBQAAvAUAAN4FAAC8BQAA4A\ +UAALwFAADhBQAAvAUAAOMFAAC8BQAA5AUAALwFAADmBQAAvAUAAOcFAAC8BQAA6AUAALwFAADpBQAA\ +vAUAAOoFAAC8BQAA1QUAALkFAADRBQAAvwUAANsFAAC/BQAA5AUAAL8FAADSBQEABwMAANoFAQAHAw\ +AAmRABALoQAQCbEAEAuhABAKUQAQC6EAEAMREBACcRAQAyEQEAJxEBAEcTAQA+EwEARxMBAFcTAQCC\ +EwEAyRMBAIQTAQC7EwEAixMBAMITAQCQEwEAyRMBAMITAQDCEwEAwhMBALgTAQDCEwEAyRMBALkUAQ\ +C6FAEAuRQBALAUAQC5FAEAvRQBALgVAQCvFQEAuRUBAK8VAQA1GQEAMBkBAB5hAQAeYQEAHmEBAClh\ +AQAeYQEAH2EBAClhAQAfYQEAHmEBACBhAQAeYQEAHmEBAB9hAQAeYQEAKWEBAB9hAQAeYQEAHmEBAC\ +BhAQBnbQEAZ20BAGNtAQBnbQEAY20BAGdtAQBnbQEAV9EBAGXRAQBY0QEAZdEBAFjRAQBl0QEAbtEB\ +AFjRAQBl0QEAb9EBAFjRAQBl0QEAcNEBAFjRAQBl0QEAcdEBAFjRAQBl0QEActEBALnRAQBl0QEAut\ +EBAGXRAQC50QEAZdEBAG7RAQC60QEAZdEBAG7RAQC50QEAZdEBAG/RAQC60QEAZdEBAG/RAQA9TgAA\ +OE4AAEFOAAAiAQIAYE8AAK5PAAC7TwAAAlAAAHpQAACZUAAA51AAAM9QAACeNAAAOgYCAE1RAABUUQ\ +AAZFEAAHdRAAAcBQIAuTQAAGdRAACNUQAASwUCAJdRAACkUQAAzE4AAKxRAAC1UQAA35ECAPVRAAAD\ +UgAA3zQAADtSAABGUgAAclIAAHdSAAAVNQAAx1IAAMlSAADkUgAA+lIAAAVTAAAGUwAAF1MAAElTAA\ +BRUwAAWlMAAHNTAAB9UwAAf1MAAH9TAAB/UwAALAoCAHBwAADKUwAA31MAAGMLAgDrUwAA8VMAAAZU\ +AACeVAAAOFQAAEhUAABoVAAAolQAAPZUAAAQVQAAU1UAAGNVAACEVQAAhFUAAJlVAACrVQAAs1UAAM\ +JVAAAWVwAABlYAABdXAABRVgAAdFYAAAdSAADuWAAAzlcAAPRXAAANWAAAi1cAADJYAAAxWAAArFgA\ +AOQUAgDyWAAA91gAAAZZAAAaWQAAIlkAAGJZAACoFgIA6hYCAOxZAAAbWgAAJ1oAANhZAABmWgAA7j\ +YAAPw2AAAIWwAAPlsAAD5bAADIGQIAw1sAANhbAADnWwAA81sAABgbAgD/WwAABlwAAFNfAAAiXAAA\ +gTcAAGBcAABuXAAAwFwAAI1cAADkHQIAQ10AAOYdAgBuXQAAa10AAHxdAADhXQAA4l0AAC84AAD9XQ\ +AAKF4AAD1eAABpXgAAYjgAAIMhAgB8OAAAsF4AALNeAAC2XgAAyl4AAJKjAgD+XgAAMSMCADEjAgAB\ +ggAAIl8AACJfAADHOAAAuDICANphAgBiXwAAa18AAOM4AACaXwAAzV8AANdfAAD5XwAAgWAAADo5AA\ +AcOQAAlGAAANQmAgDHYAAASGEAAExhAABOYQAATGEAAHphAACOYQAAsmEAAKRhAACvYQAA3mEAAPJh\ +AAD2YQAAEGIAABtiAABdYgAAsWIAANRiAABQYwAADCsCAD1jAAD8YgAAaGMAAINjAADkYwAA8SsCAC\ +JkAADFYwAAqWMAAC46AABpZAAAfmQAAJ1kAAB3ZAAAbDoAAE9lAABsZQAACjACAONlAAD4ZgAASWYA\ +ABk7AACRZgAACDsAAOQ6AACSUQAAlVEAAABnAACcZgAArYAAANlDAAAXZwAAG2cAACFnAABeZwAAU2\ +cAAMMzAgBJOwAA+mcAAIVnAABSaAAAhWgAAG00AgCOaAAAH2gAABRpAACdOwAAQmkAAKNpAADqaQAA\ +qGoAAKM2AgDbagAAGDwAACFrAACnOAIAVGsAAE48AAByawAAn2sAALprAAC7awAAjToCAAsdAgD6Og\ +IATmwAALw8AgC/bAAAzWwAAGdsAAAWbQAAPm0AAHdtAABBbQAAaW0AAHhtAACFbQAAHj0CADRtAAAv\ +bgAAbm4AADM9AADLbgAAx24AANE+AgD5bQAAbm8AAF4/AgCOPwIAxm8AADlwAAAecAAAG3AAAJY9AA\ +BKcAAAfXAAAHdwAACtcAAAJQUCAEVxAABjQgIAnHEAAKtDAgAocgAANXIAAFByAAAIRgIAgHIAAJVy\ +AAA1RwIAFEgCAHpzAACLcwAArD4AAKVzAAC4PgAAuD4AAEd0AABcdAAAcXQAAIV0AADKdAAAGz8AAC\ +R1AAA2TAIAPnUAAJJMAgBwdQAAnyECABB2AAChTwIAuE8CAERQAgD8PwAACEAAAPR2AADzUAIA8lAC\ +ABlRAgAzUQIAHncAAB93AAAfdwAASncAADlAAACLdwAARkAAAJZAAAAdVAIATngAAIx4AADMeAAA40\ +AAACZWAgBWeQAAmlYCAMVWAgCPeQAA63kAAC9BAABAegAASnoAAE96AAB8WQIAp1oCAKdaAgDuegAA\ +AkIAAKtbAgDGewAAyXsAACdCAACAXAIA0nwAAKBCAADofAAA43wAAAB9AACGXwIAY30AAAFDAADHfQ\ +AAAn4AAEV+AAA0QwAAKGICAEdiAgBZQwAA2WICAHp/AAA+YwIAlX8AAPp/AAAFgAAA2mQCACNlAgBg\ +gAAAqGUCAHCAAABfMwIA1UMAALKAAAADgQAAC0QAAD6BAAC1WgAAp2cCALVnAgCTMwIAnDMCAAGCAA\ +AEggAAno8AAGtEAACRggAAi4IAAJ2CAACzUgAAsYIAALOCAAC9ggAA5oIAADxrAgDlggAAHYMAAGOD\ +AACtgwAAI4MAAL2DAADngwAAV4QAAFODAADKgwAAzIMAANyDAAA2bAIAa20CANVsAgArRQAA8YQAAP\ +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\ +AKAAAAGwAAAAEACQAAAA8AAgAAAAoAAAAIAAAAAQAAAAAAAQABAAwADAABAAAAAAAEAAAABQAAACIA\ +AgAPABUADQAAAAAAAQAAABYAAAAAAAAAAAAIAAAAAAABAAAAAAAEAAEAAQAEAAIAAgAPAAoAFAAAAA\ +AAAQACAAAAAgAPAAAAAAAHAAAAJgAAADUACQAAAAUAAgAAAA8AAwADAAYAAAAvAAIAAAAHAAAAAAAB\ +AAgAFgADAAAAAAAWAAAAAgAAAA0AAAABAAAABQABAAoAAAAAAAIACgABAAAAAAAGAAEAAAADAAIAFQ\ +AAAAIAAAAAAAMAAQAIAAIAAAAGAAAAAQABAAAAAAAAAAAAAAANABQAAAABAAAABAAAAAMAAgAAAAAA\ +BAAZAAYABwATABkAAwALAAgAEwAHAAIACQAAAAAAGQAWAAIAFQAAAAQAAAAHAAAACAAAAAAABwABAA\ +YAHgAbAAAADAADAA8AAAAAAAEACgAAAAAAAAAGABYABgACAAAAFQAGAAQAAgAJAAAACQACAAAACgAA\ +AAAABQAMAAAABQABAAQAAAAKAAEABAAIAA4AAAABAAIABgABAAAAJAAAAAAAAwABAAAABAACAAAAFg\ +ABAAkAAAAHAAAAFwABAAAABQAWAAIAHwAAAAAAAgAAAAAACgABAAoAAAAHAAAAAAAAAAAAAAAAAAUA\ +AAAFAAsADAAAAAAAAQAEAAYAAwABABYAAQAAAAAAAQAEAAAAAQAZAAMAAwAEAAUAAQAdAAAAAAAHAA\ +EAAQAfAAAAAAABACsABgAQAAAACQAGAAwACgACAAAAAAABAAwAAAAAAAAAFgAAAAAAFgAMAA8AAAAQ\ +AAIAAAAMABwAAgAAAAAAAAAAAAEAAgAAAAMAFwAEABwABQAMAAEABwAEAAAAAQACAAAADgAPAAIACQ\ +ABAAYAIAALAAAAAAABAAsAAgACAAAAAAAAAAcAAAABAAAAAAABAAEAAAAHAAAAAwAGAAAAAAAAAAAA\ +AgAAAAsAAgAAAAYAAQABAAAADgAMAAAABgAAAAAADgAAAAMAAQAAAAAAIwAJAAcAAAAAABEAEgAAAA\ +AABgABAAEAAAANAAgABwACACkAAwAIAAQAAgAMAAEAAAABAA4AAQAAAAAAAAABAAAAAAACAAAABwAF\ +AAQAAAAAAAIABQAFAAUAAQAHAAIADAAAAAMACAAAAAAAAAAAAAAAAAAAAAAABgADAAgAAAAAAAYAAw\ +AEABUAAAAHAAUABAAAAAgAAAAGAAAABgAEAAIAAAAPAAEAAAAAAAAAAgAHAAAAGgAIAAAAAAABAAMA\ +AAAMAAAAAAABAAUADAAAAAAABAACAAAAAwAGAAEABAAKAAAAAgAAAAAABQAHAAEAEwAaAAEAAwAAAA\ +MAAAAAAAYAEAAAAAIAGQALAAEADgAAAAYAFgAUAAAAAAAAAAQAAAAAAAUAAgALAAIAFgAAAAAAAwAB\ +AAAAAQAAAAwAAgAUAAAAAAAEAAMACQAJAAAAAQAAAAAAAgABAAEAAAABAAAAAQAHAAUABQAAAAAAAQ\ +ADAAMAAgARABwAAgARAAMAAAANAAIAAQABADAACwAHAAAAAAAcAAEAAQADAAIAAAABAA0AAAAJAAAA\ +AQABAAYABgACAAAAAQADAA0ABAADABEABQAAAAkAAAAAAAAAAgACABQAAAAAAAAAAQAEAAEAAAABAA\ +MAAAAAAAIAAAAJAAMAAAAAAAAAAgAAAAcAAwABAAAAAwAFABAAAQAAABMAAAADAAUAAAACAAAAAAAB\ +AAEAAQABAAMABAADAAEADQAAAAEAAgAAAAgABwABAAMAAAAAAAAADgAEAAAABgANAAAAAAAAAAMAAA\ +AAAAMAAAAAACAACgAAAAEAAgAAAAAAAAAHAAgAAAAIAB8AAQAAABMACAABAAoABQAEAAgAAQABAAAA\ +AQAEAAMABgACAAEAAAAAAAAABQAAAAEAAAAAAAAABAAAAAAADAACAAcAAAAAAAwAAwAAAAAACQACAA\ +EABAAAAAAAAAAAAAgAAQAAAAAAAAAAAAAACQAHAA8AAQAkAAwAAgABAAAAAAAAAAgAAQAJAAsAAAAP\ +AAIAAQAAAAAAAAAcAAIAAQABAAMAAQABAAAAAAAFAAEAAAAAAAAAAQAGAAkAAgAHAAUADAACAAEABg\ +ADAAIAAwACAAQAAwADAAcAAAABAAQACgAAAAEABAABAAIAAAAAAAAAAAADAAMAAQABAAgANQAAAAMA\ +AgAAAAIAAQAAAAEAAQACAAAACwACAAEAAAAAAAYAAAAEAAcAAQAEAAQAAgAAAAAAAwACAAEAAAAAAA\ +wAAgALAAEADAAAAAAAAQAAAAMAFAABAAMAAQABAAkAAAAFAAMACgAAAAEACQAHAAAABQAAAAMAAgAA\ +AAAADAAMAAwADgAAAAQAAQAAAAIAAAAAAAAAAAAAAAAAAAAAAAEAAQAAAAEAAwAEAAEAAgACAAAABQ\ +AAAAUADAAAAAAABAABAAAAAAA0AAcAAwAKAAAAAAAAAAIABAAFAAAAAgAIAAAAAAAAAAYAAQAAAAMA\ +AAAIABAAAAAEAAAAAAAAAAQAAAACAAIAAAADAAMAAQAEAAAABQARAAEAAQACAAwACQAKAAAAAgAEAA\ +EAIQAAAAAAAAABAAUAAAAGAAAAAQAAAAAAAAABAAAAAQAMAAAAAQABAAAAAAAHAAAAAAAAAAIAAQAA\ +AAEAAQACAAAACAAJAAUAAQADAAUAAgAAAAQAAgAAAAAAAQACAAYABwAGAAMACQAAAAYAAAAGAAYABw\ +AEAAAAIgACAAIAAgACAAgABAAAAAQAAAAJAAMAAQAKAAUAAgAAAAAAAgAHAAEAAQAGAAAAAQADAAAA\ +AgABAAAABQAHAAEAJwACAAgAAAABAAIAAwAAAAAAAgABAAkAAgABAAAAAgABABEACQAAAAIAAQAAAA\ +wABwADAAQABwABAAwAAQAJAAAABQACAAAACQABAAEAAwAAAAcAAAAPAAAAAAAAAAIAAgAJAAAACgAC\ +AAAAAAAHAAUAAAABAAAABQAAAAkAAAABAAIAAAAAAAUACQAEAAMABAAAAAIAAQAEAAEAAAAAAAIAAA\ +AAAAAAAAAJAAcAAAABAAUACQACAA8AAQADAAEAAAAAAAMAAAACAAAAAwAFAAAAAgAAAAQAAQAAAAAA\ +AAABAAAAAQAHAAAAAgAAAAIACAAAAAAACQABAAAAAAAAAAAAAAACAAEAAgAGAAAAAAAPAAAAAQAHAA\ +AAAQAAAA0AAAACAAYAAAADAAMAAQAHAA0ABgAEAAEAAQAAAAEAAAABAAUAAgAAAAAAAAAYAAIAAgAA\ +AAAABwAAAAAAAwABAAgAEAADAAAAAAAAAAAAAAAEAAcAAAABAAAAAgAEAAAACAAAAAAAAAALAAAAAQ\ +AAAAgACgABAAUAAQAAAAcABgAAAAEAAAAAAAEABAAAAAsABAADAAAAAAAMAAEAAAADAAgAAAABAAEA\ +AAADAAsABgAAAAEAAgABAAAAAAAAAAAAAAABAAAAAAAJAAMABgAAAAMAAwABAAEAAQAAAAAABQAAAA\ +AABwADAAgAAgAEAAAABAAGAAEAAgABAAIAAwAAAAAAAAAAAAAAAAACAAEAAAACAAAABwADAAoAAwAB\ +AAQAAQAEAAIABgADAAIAAAAAAAgAEQAAAAAADQAAAAAAAAAAAAAABgAFAAAAAQAAAAAAAQAEAAAAAA\ +AEAAEAAQAAAAAADwAEAAIAAwAAAAAAAgACAAIAAAAAAAAABQACAAgAAgAAAAIAAAAFAAYAAQAJAAAA\ +AQABAAQAAgABAAAAAAAAAAIAAgADAAEABQACAAAAAAAEAAUAAQAAAAEAAAAJAAAAAgABAAAAAwAAAA\ +IAAgADAAAAAAAJAAEAAwAAAAEABgADAAAAAgABAAcAAwAAAAUAAAABAAAAAAAAAAQABQAAAAEAAAAD\ +AAIAAQAAAAIAAAABABEAAQABAAQAAAABAAAAAQABAAAABAADAAAAAAAAAAIAAQAAABcABAAAAAAAAA\ +ADAAwAAAAIAAMAAgADAAUAAAACAAMAAgABAAAAAwAAAAEAAQAAAAEAAAAEAAEABgACAB0ABAAEAAAA\ +AAAAAAEAAAAAAAkAAgAHAAIABQAAAAAACQABAAQAAAABAAAAAAAEAAcAAAAGAAUAAAABAAEAAAADAA\ +EAAQACAAAAAAAAAAIAAAAAAAAAAQAAAAIAAwAFAAEABwABAAEAAwACAAAAAAAAAAAAAAAAAAEAAAAA\ +AAIAAgAAAAAAAAAAAAAAAQAAAAQAAwACAAQAAAAAAAEAAAAAAAIACwAIAAAABAADAAEACQADAAIAAQ\ +ADAAAAAgAFAAAABQABAAMABQACAAEAAwAAABAAAgAAAAAAAAABAAAABgAAAAEAAwAAAAgAAAAAAAIA\ +BgAAAAQAAAAAAAEAAAAEAAAAAwABAAMAAAACAAMAAQAFAAMABQAFAAEAAQABAAAABgADAAEAAAABAA\ +EAAAADAAIAAQAGAAAABQACAAMACQAHAAQAAAACAAIAAQACAAYAAAAAAAAAAgAAAAEAAAAEAAMAAAAC\ +AAUAEgAFAAIAAAABAA0AAwAEAAAAAAABAAIAAAANAAAADQABAAAAAQAAAAEAAQABAAEAAQABAAIAAA\ +ABAAUAAwAAAAUAAAABAAAAAAAEAAAAAgABAAAAAQACAAAAAAAFAAAAAQAAAAAAAAABAAAAAwAAAAEA\ +AgACAAAAAAABAAAABQAAAA0AAAABAAIACgADAAAAAAACAAIAAQACAAAAAgABAAEABQAAAAoAAAAAAA\ +MAAwAJAAEABAACAAIAAAAAAAMABgAAAAAACgABAAMAAQAMAAAAAAAAAAIAAQAGAAEAAAABAAIABwAA\ +AAAABQACAAEAAAABAAEAAQAAAAQAAAAAAAEAAAABAAAAAQAGAAAACAAAAAIABAACAAQAAgACAAAAAg\ +AAAAAAAAAAAAIAAAAFAAIABgAAAAEAAgAFAAAAAAABAAAAAgAAAAUAAAABAAEAAgADAAAAAAAAAAAA\ +BQAAAAAAAQANAAEAAAAAAAAAAQAAAAUAAgAAAAcACQABAAIAAgAAAAEACQAHAAAABQACAAAAAQABAA\ +UABgACAAAADwAAAAEAAAAFAAEAAgABAAIAAAAAAAIAAwAAAAcAAwAAAAAAAwAAAAIAAgABAAIAAQAC\ +AAUAAQAAAAkAAAAAAAAABgAJAAEACgABAAEAAAAAAAMABgAAAAAAAAABAAIAAAAAAAcAAgAAAAAAAQ\ +AAAAAAAAADAAEAAAAEAAEABgACAAIAAAAAAAQACwABAAAAAAAFAAEAAwAAAAIABgAIAAIAAAAGAAAA\ +BAABAAYAAAACAAMAAQABAAEAAwACAAIAAgACAAwAAQAAAAQABQAAAAQAAAAAAAEAAAAAAAAAAQAAAA\ +IAAAAAAAAAAQACAAAAAAAIAAQAAQACAAAAAwABAAIAAAADAAMABwAAAAAAAAAAAAEACwAAAAEAAAAA\ +AAIAAQACAAEABwABAAIAAwACAAAAAAABAAQAAQABAAEAAQABAAAACgABAAUAAAAGAAAAAAAAAAEAAw\ +ABAAcAAgAAAAAAAQACAAEAAgAAAAEAAQABAAEAAAAGAAAAAAAAAAAAAwAFAAAAAwABAAIABgABAAAA\ +AQACAAAAAgADAAAAAQAAAAMAAgAMAAEABgAIAAcAAgABAAMAAAAGAAIAAAAAAAEAAAAAAAIAAAAAAA\ +AAAAAFAAAABQAAAAAAAQACAAEAAAABAAEAAAAKAAIAAAAAAAwAAAABAAAAAgADAAEABAABAAIAAQAA\ +AAcAAQABAAgACQACAAAAAgACAAMAAwABAAMAAgAAAAAAAQAAAAYABQAAAAIAAgAAAAEAAgAFAAQAAg\ +ABAAIAAAAAAAEAAAABAAEAAgAAAAcABQADAAAAAAABAAAABAADAAAAAgAHAAEAAAACAAAAAgAEAAIA\ +AAAAAAIAAAAOAAEAAQAAAAAAAwAAAAMAAAAAAAIAAAAAAAYAAwADAAMAAQAAAAEAAAAAAAMAAAAAAA\ +AAAAABAAAABwAFAAEAAAABAAEAAwABAAkAAAAAAAgAAAAAAA8AAgACAAAABAAAAAAAAAACAAAAAQAH\ +AAIAAQAAAAEAAQACAAAAAAACAAAAAAACAAAAAgACAAEABgAAAAEAAAABAAQAAAACAAMAAQACAAAAAw\ +ACAAEAAAABAAAAAAAAAAIAAAABAAQAAQAOAAMAAwAAAAUAAQAAAAAAAgABAAIAAAAAAAMAAAACAAEA\ +AAABAAAAAQACAAAAAQAAAAEAAQABAAEABQADAAAACgACAAIAAQAAAAAABAAAAAIACgAAAAAACAAEAA\ +AAAQAEAAUABQACAAEAAAAAAAAABgAAAAEAAQAAAAAAAQABAAIAAQAAAAEAAgACAAIAAAABAAEAAQAC\ +AAAAAQAAAAEAAAABAAIAAQAAAAEAAgAAAAIAAgAAAAAAAAADAAAAAQADAAEAAgAHAAAAAgAEAAQAAA\ +AFAAAAAAABAAMAAwAAAAkAAQAAAAEAAgAEAAMAAQAAAAEAAQACAAMAAQAGAAMAAQADAAEABQAEAAEA\ +AAABAAEAAAAFAAEAAAABAAEAAgAAAAUACAABAAAABwAAAAAAAAAFAAEAAAAAAAEAAAABAAAAAAACAA\ +IAAAAAAAoAAAAAAAAAAQAAAAEABwACAAQAAAABAAUAAAABAAAAAAAAAAQAAAAAAAQAAgAAAAIAAQAB\ +AAAAAgABAAAAAAAAAAAAAAABAAIAAAAAAAQAAAABAAAAAwADAAAAAQADAAEAAAABAAAAAAACAAAACg\ +AAAAEAAAAAAAMAAQABAAUABAADAAAAAAACAAEAAAABAAAAAQACAAIAAQAAAAQAAQAAAAMAAQABAAUA\ +AQABAAcAAQADAAAAAAAEAAMAAQACAAsAAgABAAAAAAAAAAEAAgABAAQAAwABAAEAAgAAAAAAAgACAA\ +AAAAAAAAIAAgABAAAAAgAAAAAAAQABAAgAAgABAAAAAwAAAAEAAQABAAAAAwAEAAIABwADAAEACQAC\ +AAUAAgACAAMAAAAPAAAAAgABAAMABAABAAAAAwAJAAIAAQAIAAAAAQABAAAACQAAAAAAAQAAAAoAAA\ +AEAAEAAAACAAMACQACAAAAAAAFAAEAAgADAAIAAAABAAIAAgABAAMAAAAAAAIAAQABAAAAAQAFAAEA\ +AgACAAIAAgACAAIACAAFAAAAAQABAAIAAAABAAAACwAEAAAAAgACAAQAAAABAAIAAAAAAAEAAQABAA\ +EAAgAAAAIAAAACAAUABAAAAAAAAAAFAAAAAAADAAIAAQAAAAAAAAADAAAAAgAAAAAAAQACAAIAAQAA\ +AAEABAABAAEAAAAAAAAAAAAAAAEAAgAAAAQAAAABAAIAAAABAAIAAAAAAAEAAAACAAIAAQABAAEAAA\ +ADAAEAAAAAAAAAAAAAAAEAAAABAAgABAABAAIABwAFAAAAAwACAAAAAgACAAQAAAAEAAAABAACAAEA\ +AgACAAIAAQAAAAAAAQADAAMAAQABAAIAAgAAAAEAAQAAAAEAAAABAAEAAwAEAAEAAgACAAQAAAADAA\ +EAAQABAAAAAwABAAAAAwACAAEAAAADAAIAAQAGAAYAAAAAAAIAAQAAAAEAAgADAAIAAQADAAEAAAAB\ +AAUAAwABAAIABAANAAAAAQAAAAAAAQAAAAAAAQABAAEAAAAAAAEAAQACAAAAAwADAAAAAQAAAAIAAA\ +AFAAAAAQAAAAEAAAAAAAQAAQACAAAAAAACAAIAAAAAAAEABAACAAAAAAAEAAEAAgAAAAAAAAAAAAEA\ +AQACAAMAAAABAAIAAwABAAAAAgABAAEAAAADAAIAAQABAAAAAAADAAAAAwAAAAAAAAADAAAAAgABAA\ +EAAgAAAAQAAAABAAAAAQAGAAAABAABAAIAAAAAAAAAAAABAAIAAAACAAAAAgAAAAEAAgABAAIAAAAA\ +AAAAAAAAAAAAAwAAAAIAAQABAAAAAgAAAAAAAwAIAAMAAAAAAAAAAgABAAAAAAAAAAAAAQADAAMABA\ +AAAAMAAQAAAAEAAQAAAAIABAABAAIAAQAEAAIAAQAAAAAAAQAAAAAAAAABAAEACAAAAAMAAAABAAEA\ +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\ +oQ4AAAsPAACyDwAAcQ8AAIAPAACzDwAAcQ8AAIAPAADcEAAAQQAAAMYAAABCAAAARAAAAEUAAACOAQ\ +AARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAIgIAAFAAAABSAAAAVAAAAFUAAABX\ +AAAAYQAAAFACAABRAgAAAh0AAGIAAABkAAAAZQAAAFkCAABbAgAAXAIAAGcAAABrAAAAbQAAAEsBAA\ +BvAAAAVAIAABYdAAAXHQAAcAAAAHQAAAB1AAAAHR0AAG8CAAB2AAAAJR0AALIDAACzAwAAtAMAAMYD\ +AADHAwAAaQAAAHIAAAB1AAAAdgAAALIDAACzAwAAwQMAAMYDAADHAwAAPQQAAFICAABjAAAAVQIAAP\ +AAAABcAgAAZgAAAF8CAABhAgAAZQIAAGgCAABpAgAAagIAAHsdAACdAgAAbQIAAIUdAACfAgAAcQIA\ +AHACAAByAgAAcwIAAHQCAAB1AgAAeAIAAIICAACDAgAAqwEAAIkCAACKAgAAHB0AAIsCAACMAgAAeg\ +AAAJACAACRAgAAkgIAALgDAABhAAAAvgIAAHMAAAAHAwAAIAAAABMDAAAgAAAAEwMAACAAAABCAwAA\ +IAAAAAgDAABCAwAAIAAAABMDAAAAAwAAIAAAABMDAAABAwAAIAAAABMDAABCAwAAIAAAABQDAAAAAw\ +AAIAAAABQDAAABAwAAIAAAABQDAABCAwAAIAAAAAgDAAAAAwAAIAAAAAgDAAABAwAAIAAAAAEDAAAg\ +AAAAFAMAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAECAAACAAAA\ +AzAwAALgAAAC4AAAAuAAAALgAAAC4AAAAuAAAAIAAAADIgAAAyIAAAMiAAADIgAAAyIAAANSAAADUg\ +AAA1IAAANSAAADUgAAAhAAAAIQAAACAAAAAFAwAAPwAAAD8AAAA/AAAAIQAAACEAAAA/AAAAMiAAAD\ +IgAAAyIAAAMiAAACAAAAAwAAAAaQAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAACsAAAASIgAAPQAA\ +ACgAAAApAAAAbgAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAArAAAAEi\ +IAAD0AAAAoAAAAKQAAAGEAAABlAAAAbwAAAHgAAABZAgAAaAAAAGsAAABsAAAAbQAAAG4AAABwAAAA\ +cwAAAHQAAABSAAAAcwAAAGEAAAAvAAAAYwAAAGEAAAAvAAAAcwAAAEMAAACwAAAAQwAAAGMAAAAvAA\ +AAbwAAAGMAAAAvAAAAdQAAAJABAACwAAAARgAAAGcAAABIAAAASAAAAEgAAABoAAAAJwEAAEkAAABJ\ +AAAATAAAAGwAAABOAAAATgAAAG8AAABQAAAAUQAAAFIAAABSAAAAUgAAAFMAAABNAAAAVAAAAEUAAA\ +BMAAAAVAAAAE0AAABaAAAAWgAAAEIAAABDAAAAZQAAAEUAAABGAAAATQAAAG8AAADQBQAA0QUAANIF\ +AADTBQAAaQAAAEYAAABBAAAAWAAAAMADAACzAwAAkwMAAKADAAARIgAARAAAAGQAAABlAAAAaQAAAG\ +oAAAAxAAAARCAAADcAAAAxAAAARCAAADkAAAAxAAAARCAAADEAAAAwAAAAMQAAAEQgAAAzAAAAMgAA\ +AEQgAAAzAAAAMQAAAEQgAAA1AAAAMgAAAEQgAAA1AAAAMwAAAEQgAAA1AAAANAAAAEQgAAA1AAAAMQ\ +AAAEQgAAA2AAAANQAAAEQgAAA2AAAAMQAAAEQgAAA4AAAAMwAAAEQgAAA4AAAANQAAAEQgAAA4AAAA\ +NwAAAEQgAAA4AAAAMQAAAEQgAABJAAAASQAAAEkAAABJAAAASQAAAEkAAABJAAAAVgAAAFYAAABWAA\ +AASQAAAFYAAABJAAAASQAAAFYAAABJAAAASQAAAEkAAABJAAAAWAAAAFgAAABYAAAASQAAAFgAAABJ\ +AAAASQAAAEwAAABDAAAARAAAAE0AAABpAAAAaQAAAGkAAABpAAAAaQAAAGkAAABpAAAAdgAAAHYAAA\ +B2AAAAaQAAAHYAAABpAAAAaQAAAHYAAABpAAAAaQAAAGkAAABpAAAAeAAAAHgAAAB4AAAAaQAAAHgA\ +AABpAAAAaQAAAGwAAABjAAAAZAAAAG0AAAAwAAAARCAAADMAAAArIgAAKyIAACsiAAArIgAAKyIAAC\ +4iAAAuIgAALiIAAC4iAAAuIgAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAMQAA\ +ADAAAAAxAAAAMQAAADEAAAAyAAAAMQAAADMAAAAxAAAANAAAADEAAAA1AAAAMQAAADYAAAAxAAAANw\ +AAADEAAAA4AAAAMQAAADkAAAAyAAAAMAAAACgAAAAxAAAAKQAAACgAAAAyAAAAKQAAACgAAAAzAAAA\ +KQAAACgAAAA0AAAAKQAAACgAAAA1AAAAKQAAACgAAAA2AAAAKQAAACgAAAA3AAAAKQAAACgAAAA4AA\ +AAKQAAACgAAAA5AAAAKQAAACgAAAAxAAAAMAAAACkAAAAoAAAAMQAAADEAAAApAAAAKAAAADEAAAAy\ +AAAAKQAAACgAAAAxAAAAMwAAACkAAAAoAAAAMQAAADQAAAApAAAAKAAAADEAAAA1AAAAKQAAACgAAA\ +AxAAAANgAAACkAAAAoAAAAMQAAADcAAAApAAAAKAAAADEAAAA4AAAAKQAAACgAAAAxAAAAOQAAACkA\ +AAAoAAAAMgAAADAAAAApAAAAMQAAAC4AAAAyAAAALgAAADMAAAAuAAAANAAAAC4AAAA1AAAALgAAAD\ +YAAAAuAAAANwAAAC4AAAA4AAAALgAAADkAAAAuAAAAMQAAADAAAAAuAAAAMQAAADEAAAAuAAAAMQAA\ +ADIAAAAuAAAAMQAAADMAAAAuAAAAMQAAADQAAAAuAAAAMQAAADUAAAAuAAAAMQAAADYAAAAuAAAAMQ\ +AAADcAAAAuAAAAMQAAADgAAAAuAAAAMQAAADkAAAAuAAAAMgAAADAAAAAuAAAAKAAAAGEAAAApAAAA\ +KAAAAGIAAAApAAAAKAAAAGMAAAApAAAAKAAAAGQAAAApAAAAKAAAAGUAAAApAAAAKAAAAGYAAAApAA\ +AAKAAAAGcAAAApAAAAKAAAAGgAAAApAAAAKAAAAGkAAAApAAAAKAAAAGoAAAApAAAAKAAAAGsAAAAp\ +AAAAKAAAAGwAAAApAAAAKAAAAG0AAAApAAAAKAAAAG4AAAApAAAAKAAAAG8AAAApAAAAKAAAAHAAAA\ +ApAAAAKAAAAHEAAAApAAAAKAAAAHIAAAApAAAAKAAAAHMAAAApAAAAKAAAAHQAAAApAAAAKAAAAHUA\ +AAApAAAAKAAAAHYAAAApAAAAKAAAAHcAAAApAAAAKAAAAHgAAAApAAAAKAAAAHkAAAApAAAAKAAAAH\ +oAAAApAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAA\ +AE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABhAAAAYg\ +AAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAA\ +cQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAADAAAAArIgAAKyIAACsiAAArIg\ +AAOgAAADoAAAA9AAAAPQAAAD0AAAA9AAAAPQAAAD0AAABqAAAAVgAAAGEtAADNawAAn58AAABOAAAo\ +TgAANk4AAD9OAABZTgAAhU4AAIxOAACgTgAAuk4AAD9RAABlUQAAa1EAAIJRAACWUQAAq1EAAOBRAA\ +D1UQAAAFIAAJtSAAD5UgAAFVMAABpTAAA4UwAAQVMAAFxTAABpUwAAglMAALZTAADIUwAA41MAANdW\ +AAAfVwAA61gAAAJZAAAKWQAAFVkAACdZAABzWQAAUFsAAIBbAAD4WwAAD1wAACJcAAA4XAAAblwAAH\ +FcAADbXQAA5V0AAPFdAAD+XQAAcl4AAHpeAAB/XgAA9F4AAP5eAAALXwAAE18AAFBfAABhXwAAc18A\ +AMNfAAAIYgAANmIAAEtiAAAvZQAANGUAAIdlAACXZQAApGUAALllAADgZQAA5WUAAPBmAAAIZwAAKG\ +cAACBrAABiawAAeWsAALNrAADLawAA1GsAANtrAAAPbAAAFGwAADRsAABrcAAAKnIAADZyAAA7cgAA\ +P3IAAEdyAABZcgAAW3IAAKxyAACEcwAAiXMAANx0AADmdAAAGHUAAB91AAAodQAAMHUAAIt1AACSdQ\ +AAdnYAAH12AACudgAAv3YAAO52AADbdwAA4ncAAPN3AAA6eQAAuHkAAL55AAB0egAAy3oAAPl6AABz\ +fAAA+HwAADZ/AABRfwAAin8AAL1/AAABgAAADIAAABKAAAAzgAAAf4AAAImAAADjgQAA6oEAAPOBAA\ +D8gQAADIIAABuCAAAfggAAboIAAHKCAAB4ggAATYYAAGuGAABAiAAATIgAAGOIAAB+iQAAi4kAANKJ\ +AAAAigAAN4wAAEaMAABVjAAAeIwAAJ2MAABkjQAAcI0AALONAACrjgAAyo4AAJuPAACwjwAAtY8AAJ\ +GQAABJkQAAxpEAAMyRAADRkQAAd5UAAICVAAAclgAAtpYAALmWAADolgAAUZcAAF6XAABilwAAaZcA\ +AMuXAADtlwAA85cAAAGYAAComAAA25gAAN+YAACWmQAAmZkAAKyZAAComgAA2JoAAN+aAAAlmwAAL5\ +sAADKbAAA8mwAAWpsAAOWcAAB1ngAAf54AAKWeAAC7ngAAw54AAM2eAADRngAA+Z4AAP2eAAAOnwAA\ +E58AACCfAAA7nwAASp8AAFKfAACNnwAAnJ8AAKCfAAAgAAAAEjAAAEFTAABEUwAARVMAACAAAACZMA\ +AAIAAAAJowAACIMAAAijAAALMwAADIMAAAABEAAAERAACqEQAAAhEAAKwRAACtEQAAAxEAAAQRAAAF\ +EQAAsBEAALERAACyEQAAsxEAALQRAAC1EQAAGhEAAAYRAAAHEQAACBEAACERAAAJEQAAChEAAAsRAA\ +AMEQAADREAAA4RAAAPEQAAEBEAABERAAASEQAAYREAAGIRAABjEQAAZBEAAGURAABmEQAAZxEAAGgR\ +AABpEQAAahEAAGsRAABsEQAAbREAAG4RAABvEQAAcBEAAHERAAByEQAAcxEAAHQRAAB1EQAAYBEAAB\ +QRAAAVEQAAxxEAAMgRAADMEQAAzhEAANMRAADXEQAA2REAABwRAADdEQAA3xEAAB0RAAAeEQAAIBEA\ +ACIRAAAjEQAAJxEAACkRAAArEQAALBEAAC0RAAAuEQAALxEAADIRAAA2EQAAQBEAAEcRAABMEQAA8R\ +EAAPIRAABXEQAAWBEAAFkRAACEEQAAhREAAIgRAACREQAAkhEAAJQRAACeEQAAoREAAABOAACMTgAA\ +CU4AANtWAAAKTgAALU4AAAtOAAAydQAAWU4AABlOAAABTgAAKVkAADBXAAC6TgAAKAAAAAARAAApAA\ +AAKAAAAAIRAAApAAAAKAAAAAMRAAApAAAAKAAAAAURAAApAAAAKAAAAAYRAAApAAAAKAAAAAcRAAAp\ +AAAAKAAAAAkRAAApAAAAKAAAAAsRAAApAAAAKAAAAAwRAAApAAAAKAAAAA4RAAApAAAAKAAAAA8RAA\ +ApAAAAKAAAABARAAApAAAAKAAAABERAAApAAAAKAAAABIRAAApAAAAKAAAAAARAABhEQAAKQAAACgA\ +AAACEQAAYREAACkAAAAoAAAAAxEAAGERAAApAAAAKAAAAAURAABhEQAAKQAAACgAAAAGEQAAYREAAC\ +kAAAAoAAAABxEAAGERAAApAAAAKAAAAAkRAABhEQAAKQAAACgAAAALEQAAYREAACkAAAAoAAAADBEA\ +AGERAAApAAAAKAAAAA4RAABhEQAAKQAAACgAAAAPEQAAYREAACkAAAAoAAAAEBEAAGERAAApAAAAKA\ +AAABERAABhEQAAKQAAACgAAAASEQAAYREAACkAAAAoAAAADBEAAG4RAAApAAAAKAAAAAsRAABpEQAA\ +DBEAAGURAACrEQAAKQAAACgAAAALEQAAaREAABIRAABuEQAAKQAAACgAAAAATgAAKQAAACgAAACMTg\ +AAKQAAACgAAAAJTgAAKQAAACgAAADbVgAAKQAAACgAAACUTgAAKQAAACgAAABtUQAAKQAAACgAAAAD\ +TgAAKQAAACgAAABrUQAAKQAAACgAAABdTgAAKQAAACgAAABBUwAAKQAAACgAAAAIZwAAKQAAACgAAA\ +BrcAAAKQAAACgAAAA0bAAAKQAAACgAAAAoZwAAKQAAACgAAADRkQAAKQAAACgAAAAfVwAAKQAAACgA\ +AADlZQAAKQAAACgAAAAqaAAAKQAAACgAAAAJZwAAKQAAACgAAAA+eQAAKQAAACgAAAANVAAAKQAAAC\ +gAAAB5cgAAKQAAACgAAAChjAAAKQAAACgAAABdeQAAKQAAACgAAAC0UgAAKQAAACgAAADjTgAAKQAA\ +ACgAAAB8VAAAKQAAACgAAABmWwAAKQAAACgAAADjdgAAKQAAACgAAAABTwAAKQAAACgAAADHjAAAKQ\ +AAACgAAABUUwAAKQAAACgAAABteQAAKQAAACgAAAARTwAAKQAAACgAAADqgQAAKQAAACgAAADzgQAA\ +KQAAAE9VAAB8XgAAh2UAAI97AABQAAAAVAAAAEUAAAAyAAAAMQAAADIAAAAyAAAAMgAAADMAAAAyAA\ +AANAAAADIAAAA1AAAAMgAAADYAAAAyAAAANwAAADIAAAA4AAAAMgAAADkAAAAzAAAAMAAAADMAAAAx\ +AAAAMwAAADIAAAAzAAAAMwAAADMAAAA0AAAAMwAAADUAAAAAEQAAAhEAAAMRAAAFEQAABhEAAAcRAA\ +AJEQAACxEAAAwRAAAOEQAADxEAABARAAAREQAAEhEAAAARAABhEQAAAhEAAGERAAADEQAAYREAAAUR\ +AABhEQAABhEAAGERAAAHEQAAYREAAAkRAABhEQAACxEAAGERAAAMEQAAYREAAA4RAABhEQAADxEAAG\ +ERAAAQEQAAYREAABERAABhEQAAEhEAAGERAAAOEQAAYREAALcRAAAAEQAAaREAAAwRAABuEQAACxEA\ +AHQRAAALEQAAbhEAAABOAACMTgAACU4AANtWAACUTgAAbVEAAANOAABrUQAAXU4AAEFTAAAIZwAAa3\ +AAADRsAAAoZwAA0ZEAAB9XAADlZQAAKmgAAAlnAAA+eQAADVQAAHlyAAChjAAAXXkAALRSAADYeQAA\ +N3UAAHNZAABpkAAAKlEAAHBTAADobAAABZgAABFPAACZUQAAY2sAAApOAAAtTgAAC04AAOZdAADzUw\ +AAO1MAAJdbAABmWwAA43YAAAFPAADHjAAAVFMAABxZAAAzAAAANgAAADMAAAA3AAAAMwAAADgAAAAz\ +AAAAOQAAADQAAAAwAAAANAAAADEAAAA0AAAAMgAAADQAAAAzAAAANAAAADQAAAA0AAAANQAAADQAAA\ +A2AAAANAAAADcAAAA0AAAAOAAAADQAAAA5AAAANQAAADAAAAAxAAAACGcAADIAAAAIZwAAMwAAAAhn\ +AAA0AAAACGcAADUAAAAIZwAANgAAAAhnAAA3AAAACGcAADgAAAAIZwAAOQAAAAhnAAAxAAAAMAAAAA\ +hnAAAxAAAAMQAAAAhnAAAxAAAAMgAAAAhnAABIAAAAZwAAAGUAAAByAAAAZwAAAGUAAABWAAAATAAA\ +AFQAAABEAAAAojAAAKQwAACmMAAAqDAAAKowAACrMAAArTAAAK8wAACxMAAAszAAALUwAAC3MAAAuT\ +AAALswAAC9MAAAvzAAAMEwAADEMAAAxjAAAMgwAADKMAAAyzAAAMwwAADNMAAAzjAAAM8wAADSMAAA\ +1TAAANgwAADbMAAA3jAAAN8wAADgMAAA4TAAAOIwAADkMAAA5jAAAOgwAADpMAAA6jAAAOswAADsMA\ +AA7TAAAO8wAADwMAAA8TAAAPIwAADkTgAAjFQAAKIwAADPMAAAmjAAAPwwAADIMAAAojAAAOswAADV\ +MAAAoTAAAKIwAADzMAAA2DAAAJowAACiMAAAojAAAPwwAADrMAAApDAAAMswAADzMAAArzAAAJkwAA\ +CkMAAA8zAAAMEwAACmMAAAqTAAAPMwAACoMAAAuTAAAK8wAAD8MAAAyDAAAJkwAACoMAAA/DAAAKsw\ +AAD8MAAAqjAAAPMwAAC5MAAAqjAAAPwwAADgMAAAqzAAAKQwAADqMAAAqzAAAOkwAADDMAAAyDAAAK\ +swAADtMAAA6jAAAPwwAACrMAAAmTAAAO0wAADzMAAAqzAAAJkwAADzMAAA3jAAAK0wAACZMAAAqzAA\ +AJkwAACtMAAAmTAAAMswAAD8MAAArTAAAOUwAADqMAAA/DAAAK0wAACZMAAA6zAAAL8wAACZMAAA/D\ +AAAK0wAADtMAAArTAAAO0wAACvMAAAmTAAAOkwAADgMAAArTAAAO0wAADhMAAA/DAAAMgwAADrMAAA\ +rTAAAO0wAADvMAAAwzAAAMgwAACvMAAAmTAAAOkwAADgMAAArzAAAJkwAADpMAAA4DAAAMgwAADzMA\ +AArzAAAOswAAC7MAAAmTAAAKQwAADtMAAArzAAAO0wAAD8MAAAzTAAALEwAAD8MAAAuTAAALMwAADr\ +MAAAyjAAALMwAAD8MAAA2zAAAJowAAC1MAAApDAAAK8wAADrMAAAtTAAAPMwAADBMAAA/DAAAOAwAA\ +C3MAAA6jAAAPMwAACvMAAAmTAAALswAADzMAAAwTAAALswAADzMAAAyDAAAL8wAACZMAAA/DAAALkw\ +AADGMAAAmTAAALcwAADIMAAAmTAAAOswAADIMAAA8zAAAMowAADOMAAAzjAAAMMwAADIMAAAzzAAAK\ +QwAADEMAAAzzAAAJowAAD8MAAAuzAAAPMwAADIMAAAzzAAAJowAAD8MAAAxDAAAM8wAACZMAAA/DAA\ +AOwwAADrMAAA0jAAAJowAACiMAAAuTAAAMgwAADrMAAA0jAAAJowAACvMAAA6zAAANIwAACaMAAAsz\ +AAANIwAACZMAAA6zAAANUwAAChMAAA6TAAAMMwAADIMAAAmTAAANUwAACjMAAA/DAAAMgwAADVMAAA\ +mTAAAMMwAAC3MAAApzAAAOswAADVMAAA6TAAAPMwAADYMAAArzAAAL8wAAD8MAAA6zAAANgwAACaMA\ +AAvTAAANgwAACaMAAAyzAAANIwAADYMAAA6zAAAMQwAADYMAAAmjAAAPMwAAC5MAAA2DAAAJowAAD8\ +MAAAtzAAAJkwAADYMAAAmTAAAPwwAAC/MAAA2zAAAJowAACkMAAA8zAAAMgwAADbMAAAmTAAAOswAA\ +DIMAAA2zAAAPMwAADbMAAAmjAAAPMwAADIMAAAmTAAANswAAD8MAAA6zAAANswAAD8MAAA8zAAAN4w\ +AACkMAAArzAAAO0wAADeMAAApDAAAOswAADeMAAAwzAAAM8wAADeMAAA6zAAAK8wAADeMAAA8zAAAL\ +cwAADnMAAA8zAAAN8wAACvMAAA7TAAAPMwAADfMAAA6jAAAN8wAADqMAAAzzAAAJkwAAD8MAAA6zAA\ +AOEwAACrMAAAmTAAAOEwAACrMAAAmTAAAMgwAADzMAAA4TAAAPwwAADIMAAA6zAAAOQwAAD8MAAAyD\ +AAAJkwAADkMAAA/DAAAOswAADmMAAAojAAAPMwAADqMAAAwzAAAMgwAADrMAAA6jAAAOkwAADrMAAA\ +0jAAAJowAAD8MAAA6zAAAPwwAADVMAAAmTAAAOswAADsMAAA4DAAAOwwAADzMAAAyDAAALEwAACZMA\ +AA8zAAAO8wAADDMAAAyDAAADAAAAC5cAAAMQAAALlwAAAyAAAAuXAAADMAAAC5cAAANAAAALlwAAA1\ +AAAAuXAAADYAAAC5cAAANwAAALlwAAA4AAAAuXAAADkAAAC5cAAAMQAAADAAAAC5cAAAMQAAADEAAA\ +C5cAAAMQAAADIAAAC5cAAAMQAAADMAAAC5cAAAMQAAADQAAAC5cAAAMQAAADUAAAC5cAAAMQAAADYA\ +AAC5cAAAMQAAADcAAAC5cAAAMQAAADgAAAC5cAAAMQAAADkAAAC5cAAAMgAAADAAAAC5cAAAMgAAAD\ +EAAAC5cAAAMgAAADIAAAC5cAAAMgAAADMAAAC5cAAAMgAAADQAAAC5cAAAaAAAAFAAAABhAAAAZAAA\ +AGEAAABBAAAAVQAAAGIAAABhAAAAcgAAAG8AAABWAAAAcAAAAGMAAABkAAAAbQAAAGQAAABtAAAAMg\ +AAAGQAAABtAAAAMwAAAEkAAABVAAAAc14AABBiAAAtZgAAjFQAACdZAABjawAADmYAALtsAAAqaAAA\ +D18AABpPAAA+eQAAcAAAAEEAAABuAAAAQQAAALwDAABBAAAAbQAAAEEAAABrAAAAQQAAAEsAAABCAA\ +AATQAAAEIAAABHAAAAQgAAAGMAAABhAAAAbAAAAGsAAABjAAAAYQAAAGwAAABwAAAARgAAAG4AAABG\ +AAAAvAMAAEYAAAC8AwAAZwAAAG0AAABnAAAAawAAAGcAAABIAAAAegAAAGsAAABIAAAAegAAAE0AAA\ +BIAAAAegAAAEcAAABIAAAAegAAAFQAAABIAAAAegAAALwDAABsAAAAbQAAAGwAAABkAAAAbAAAAGsA\ +AABsAAAAZgAAAG0AAABuAAAAbQAAALwDAABtAAAAbQAAAG0AAABjAAAAbQAAAGsAAABtAAAAbQAAAG\ +0AAAAyAAAAYwAAAG0AAAAyAAAAbQAAADIAAABrAAAAbQAAADIAAABtAAAAbQAAADMAAABjAAAAbQAA\ +ADMAAABtAAAAMwAAAGsAAABtAAAAMwAAAG0AAAAVIgAAcwAAAG0AAAAVIgAAcwAAADIAAABQAAAAYQ\ +AAAGsAAABQAAAAYQAAAE0AAABQAAAAYQAAAEcAAABQAAAAYQAAAHIAAABhAAAAZAAAAHIAAABhAAAA\ +ZAAAABUiAABzAAAAcgAAAGEAAABkAAAAFSIAAHMAAAAyAAAAcAAAAHMAAABuAAAAcwAAALwDAABzAA\ +AAbQAAAHMAAABwAAAAVgAAAG4AAABWAAAAvAMAAFYAAABtAAAAVgAAAGsAAABWAAAATQAAAFYAAABw\ +AAAAVwAAAG4AAABXAAAAvAMAAFcAAABtAAAAVwAAAGsAAABXAAAATQAAAFcAAABrAAAAqQMAAE0AAA\ +CpAwAAYQAAAC4AAABtAAAALgAAAEIAAABxAAAAYwAAAGMAAABjAAAAZAAAAEMAAAAVIgAAawAAAGcA\ +AABDAAAAbwAAAC4AAABkAAAAQgAAAEcAAAB5AAAAaAAAAGEAAABIAAAAUAAAAGkAAABuAAAASwAAAE\ +sAAABLAAAATQAAAGsAAAB0AAAAbAAAAG0AAABsAAAAbgAAAGwAAABvAAAAZwAAAGwAAAB4AAAAbQAA\ +AGIAAABtAAAAaQAAAGwAAABtAAAAbwAAAGwAAABQAAAASAAAAHAAAAAuAAAAbQAAAC4AAABQAAAAUA\ +AAAE0AAABQAAAAUgAAAHMAAAByAAAAUwAAAHYAAABXAAAAYgAAAFYAAAAVIgAAbQAAAEEAAAAVIgAA\ +bQAAADEAAADlZQAAMgAAAOVlAAAzAAAA5WUAADQAAADlZQAANQAAAOVlAAA2AAAA5WUAADcAAADlZQ\ +AAOAAAAOVlAAA5AAAA5WUAADEAAAAwAAAA5WUAADEAAAAxAAAA5WUAADEAAAAyAAAA5WUAADEAAAAz\ +AAAA5WUAADEAAAA0AAAA5WUAADEAAAA1AAAA5WUAADEAAAA2AAAA5WUAADEAAAA3AAAA5WUAADEAAA\ +A4AAAA5WUAADEAAAA5AAAA5WUAADIAAAAwAAAA5WUAADIAAAAxAAAA5WUAADIAAAAyAAAA5WUAADIA\ +AAAzAAAA5WUAADIAAAA0AAAA5WUAADIAAAA1AAAA5WUAADIAAAA2AAAA5WUAADIAAAA3AAAA5WUAAD\ +IAAAA4AAAA5WUAADIAAAA5AAAA5WUAADMAAAAwAAAA5WUAADMAAAAxAAAA5WUAAGcAAABhAAAAbAAA\ +AEoEAABMBAAAb6cAAEMAAABGAAAAUQAAACYBAABTAQAAJ6cAADerAABrAgAAUqsAAI0CAABmAAAAZg\ +AAAGYAAABpAAAAZgAAAGwAAABmAAAAZgAAAGkAAABmAAAAZgAAAGwAAABzAAAAdAAAAHMAAAB0AAAA\ +dAUAAHYFAAB0BQAAZQUAAHQFAABrBQAAfgUAAHYFAAB0BQAAbQUAAOIFAADQBQAA0wUAANQFAADbBQ\ +AA3AUAAN0FAADoBQAA6gUAACsAAADQBQAA3AUAAHEGAABxBgAAewYAAHsGAAB7BgAAewYAAH4GAAB+\ +BgAAfgYAAH4GAACABgAAgAYAAIAGAACABgAAegYAAHoGAAB6BgAAegYAAH8GAAB/BgAAfwYAAH8GAA\ +B5BgAAeQYAAHkGAAB5BgAApAYAAKQGAACkBgAApAYAAKYGAACmBgAApgYAAKYGAACEBgAAhAYAAIQG\ +AACEBgAAgwYAAIMGAACDBgAAgwYAAIYGAACGBgAAhgYAAIYGAACHBgAAhwYAAIcGAACHBgAAjQYAAI\ +0GAACMBgAAjAYAAI4GAACOBgAAiAYAAIgGAACYBgAAmAYAAJEGAACRBgAAqQYAAKkGAACpBgAAqQYA\ +AK8GAACvBgAArwYAAK8GAACzBgAAswYAALMGAACzBgAAsQYAALEGAACxBgAAsQYAALoGAAC6BgAAuw\ +YAALsGAAC7BgAAuwYAANUGAABUBgAA1QYAAFQGAADBBgAAwQYAAMEGAADBBgAAvgYAAL4GAAC+BgAA\ +vgYAANIGAADSBgAA0gYAAFQGAADSBgAAVAYAAK0GAACtBgAArQYAAK0GAADHBgAAxwYAAMYGAADGBg\ +AAyAYAAMgGAADHBgAAdAYAAMsGAADLBgAAxQYAAMUGAADJBgAAyQYAANAGAADQBgAA0AYAANAGAABJ\ +BgAASQYAAEoGAABUBgAAJwYAAEoGAABUBgAAJwYAAEoGAABUBgAA1QYAAEoGAABUBgAA1QYAAEoGAA\ +BUBgAASAYAAEoGAABUBgAASAYAAEoGAABUBgAAxwYAAEoGAABUBgAAxwYAAEoGAABUBgAAxgYAAEoG\ +AABUBgAAxgYAAEoGAABUBgAAyAYAAEoGAABUBgAAyAYAAEoGAABUBgAA0AYAAEoGAABUBgAA0AYAAE\ +oGAABUBgAA0AYAAEoGAABUBgAASQYAAEoGAABUBgAASQYAAEoGAABUBgAASQYAAMwGAADMBgAAzAYA\ +AMwGAABKBgAAVAYAACwGAABKBgAAVAYAAC0GAABKBgAAVAYAAEUGAABKBgAAVAYAAEkGAABKBgAAVA\ +YAAEoGAAAoBgAALAYAACgGAAAtBgAAKAYAAC4GAAAoBgAARQYAACgGAABJBgAAKAYAAEoGAAAqBgAA\ +LAYAACoGAAAtBgAAKgYAAC4GAAAqBgAARQYAACoGAABJBgAAKgYAAEoGAAArBgAALAYAACsGAABFBg\ +AAKwYAAEkGAAArBgAASgYAACwGAAAtBgAALAYAAEUGAAAtBgAALAYAAC0GAABFBgAALgYAACwGAAAu\ +BgAALQYAAC4GAABFBgAAMwYAACwGAAAzBgAALQYAADMGAAAuBgAAMwYAAEUGAAA1BgAALQYAADUGAA\ +BFBgAANgYAACwGAAA2BgAALQYAADYGAAAuBgAANgYAAEUGAAA3BgAALQYAADcGAABFBgAAOAYAAEUG\ +AAA5BgAALAYAADkGAABFBgAAOgYAACwGAAA6BgAARQYAAEEGAAAsBgAAQQYAAC0GAABBBgAALgYAAE\ +EGAABFBgAAQQYAAEkGAABBBgAASgYAAEIGAAAtBgAAQgYAAEUGAABCBgAASQYAAEIGAABKBgAAQwYA\ +ACcGAABDBgAALAYAAEMGAAAtBgAAQwYAAC4GAABDBgAARAYAAEMGAABFBgAAQwYAAEkGAABDBgAASg\ +YAAEQGAAAsBgAARAYAAC0GAABEBgAALgYAAEQGAABFBgAARAYAAEkGAABEBgAASgYAAEUGAAAsBgAA\ +RQYAAC0GAABFBgAALgYAAEUGAABFBgAARQYAAEkGAABFBgAASgYAAEYGAAAsBgAARgYAAC0GAABGBg\ +AALgYAAEYGAABFBgAARgYAAEkGAABGBgAASgYAAEcGAAAsBgAARwYAAEUGAABHBgAASQYAAEcGAABK\ +BgAASgYAACwGAABKBgAALQYAAEoGAAAuBgAASgYAAEUGAABKBgAASQYAAEoGAABKBgAAMAYAAHAGAA\ +AxBgAAcAYAAEkGAABwBgAAIAAAAEwGAABRBgAAIAAAAE0GAABRBgAAIAAAAE4GAABRBgAAIAAAAE8G\ +AABRBgAAIAAAAFAGAABRBgAAIAAAAFEGAABwBgAASgYAAFQGAAAxBgAASgYAAFQGAAAyBgAASgYAAF\ +QGAABFBgAASgYAAFQGAABGBgAASgYAAFQGAABJBgAASgYAAFQGAABKBgAAKAYAADEGAAAoBgAAMgYA\ +ACgGAABFBgAAKAYAAEYGAAAoBgAASQYAACgGAABKBgAAKgYAADEGAAAqBgAAMgYAACoGAABFBgAAKg\ +YAAEYGAAAqBgAASQYAACoGAABKBgAAKwYAADEGAAArBgAAMgYAACsGAABFBgAAKwYAAEYGAAArBgAA\ +SQYAACsGAABKBgAAQQYAAEkGAABBBgAASgYAAEIGAABJBgAAQgYAAEoGAABDBgAAJwYAAEMGAABEBg\ +AAQwYAAEUGAABDBgAASQYAAEMGAABKBgAARAYAAEUGAABEBgAASQYAAEQGAABKBgAARQYAACcGAABF\ +BgAARQYAAEYGAAAxBgAARgYAADIGAABGBgAARQYAAEYGAABGBgAARgYAAEkGAABGBgAASgYAAEkGAA\ +BwBgAASgYAADEGAABKBgAAMgYAAEoGAABFBgAASgYAAEYGAABKBgAASQYAAEoGAABKBgAASgYAAFQG\ +AAAsBgAASgYAAFQGAAAtBgAASgYAAFQGAAAuBgAASgYAAFQGAABFBgAASgYAAFQGAABHBgAAKAYAAC\ +wGAAAoBgAALQYAACgGAAAuBgAAKAYAAEUGAAAoBgAARwYAACoGAAAsBgAAKgYAAC0GAAAqBgAALgYA\ +ACoGAABFBgAAKgYAAEcGAAArBgAARQYAACwGAAAtBgAALAYAAEUGAAAtBgAALAYAAC0GAABFBgAALg\ +YAACwGAAAuBgAARQYAADMGAAAsBgAAMwYAAC0GAAAzBgAALgYAADMGAABFBgAANQYAAC0GAAA1BgAA\ +LgYAADUGAABFBgAANgYAACwGAAA2BgAALQYAADYGAAAuBgAANgYAAEUGAAA3BgAALQYAADgGAABFBg\ +AAOQYAACwGAAA5BgAARQYAADoGAAAsBgAAOgYAAEUGAABBBgAALAYAAEEGAAAtBgAAQQYAAC4GAABB\ +BgAARQYAAEIGAAAtBgAAQgYAAEUGAABDBgAALAYAAEMGAAAtBgAAQwYAAC4GAABDBgAARAYAAEMGAA\ +BFBgAARAYAACwGAABEBgAALQYAAEQGAAAuBgAARAYAAEUGAABEBgAARwYAAEUGAAAsBgAARQYAAC0G\ +AABFBgAALgYAAEUGAABFBgAARgYAACwGAABGBgAALQYAAEYGAAAuBgAARgYAAEUGAABGBgAARwYAAE\ +cGAAAsBgAARwYAAEUGAABHBgAAcAYAAEoGAAAsBgAASgYAAC0GAABKBgAALgYAAEoGAABFBgAASgYA\ +AEcGAABKBgAAVAYAAEUGAABKBgAAVAYAAEcGAAAoBgAARQYAACgGAABHBgAAKgYAAEUGAAAqBgAARw\ +YAACsGAABFBgAAKwYAAEcGAAAzBgAARQYAADMGAABHBgAANAYAAEUGAAA0BgAARwYAAEMGAABEBgAA\ +QwYAAEUGAABEBgAARQYAAEYGAABFBgAARgYAAEcGAABKBgAARQYAAEoGAABHBgAAQAYAAE4GAABRBg\ +AAQAYAAE8GAABRBgAAQAYAAFAGAABRBgAANwYAAEkGAAA3BgAASgYAADkGAABJBgAAOQYAAEoGAAA6\ +BgAASQYAADoGAABKBgAAMwYAAEkGAAAzBgAASgYAADQGAABJBgAANAYAAEoGAAAtBgAASQYAAC0GAA\ +BKBgAALAYAAEkGAAAsBgAASgYAAC4GAABJBgAALgYAAEoGAAA1BgAASQYAADUGAABKBgAANgYAAEkG\ +AAA2BgAASgYAADQGAAAsBgAANAYAAC0GAAA0BgAALgYAADQGAABFBgAANAYAADEGAAAzBgAAMQYAAD\ +UGAAAxBgAANgYAADEGAAA3BgAASQYAADcGAABKBgAAOQYAAEkGAAA5BgAASgYAADoGAABJBgAAOgYA\ +AEoGAAAzBgAASQYAADMGAABKBgAANAYAAEkGAAA0BgAASgYAAC0GAABJBgAALQYAAEoGAAAsBgAASQ\ +YAACwGAABKBgAALgYAAEkGAAAuBgAASgYAADUGAABJBgAANQYAAEoGAAA2BgAASQYAADYGAABKBgAA\ +NAYAACwGAAA0BgAALQYAADQGAAAuBgAANAYAAEUGAAA0BgAAMQYAADMGAAAxBgAANQYAADEGAAA2Bg\ +AAMQYAADQGAAAsBgAANAYAAC0GAAA0BgAALgYAADQGAABFBgAAMwYAAEcGAAA0BgAARwYAADcGAABF\ +BgAAMwYAACwGAAAzBgAALQYAADMGAAAuBgAANAYAACwGAAA0BgAALQYAADQGAAAuBgAANwYAAEUGAA\ +A4BgAARQYAACcGAABLBgAAJwYAAEsGAAAqBgAALAYAAEUGAAAqBgAALQYAACwGAAAqBgAALQYAACwG\ +AAAqBgAALQYAAEUGAAAqBgAALgYAAEUGAAAqBgAARQYAACwGAAAqBgAARQYAAC0GAAAqBgAARQYAAC\ +4GAAAsBgAARQYAAC0GAAAsBgAARQYAAC0GAAAtBgAARQYAAEoGAAAtBgAARQYAAEkGAAAzBgAALQYA\ +ACwGAAAzBgAALAYAAC0GAAAzBgAALAYAAEkGAAAzBgAARQYAAC0GAAAzBgAARQYAAC0GAAAzBgAARQ\ +YAACwGAAAzBgAARQYAAEUGAAAzBgAARQYAAEUGAAA1BgAALQYAAC0GAAA1BgAALQYAAC0GAAA1BgAA\ +RQYAAEUGAAA0BgAALQYAAEUGAAA0BgAALQYAAEUGAAA0BgAALAYAAEoGAAA0BgAARQYAAC4GAAA0Bg\ +AARQYAAC4GAAA0BgAARQYAAEUGAAA0BgAARQYAAEUGAAA2BgAALQYAAEkGAAA2BgAALgYAAEUGAAA2\ +BgAALgYAAEUGAAA3BgAARQYAAC0GAAA3BgAARQYAAC0GAAA3BgAARQYAAEUGAAA3BgAARQYAAEoGAA\ +A5BgAALAYAAEUGAAA5BgAARQYAAEUGAAA5BgAARQYAAEUGAAA5BgAARQYAAEkGAAA6BgAARQYAAEUG\ +AAA6BgAARQYAAEoGAAA6BgAARQYAAEkGAABBBgAALgYAAEUGAABBBgAALgYAAEUGAABCBgAARQYAAC\ +0GAABCBgAARQYAAEUGAABEBgAALQYAAEUGAABEBgAALQYAAEoGAABEBgAALQYAAEkGAABEBgAALAYA\ +ACwGAABEBgAALAYAACwGAABEBgAALgYAAEUGAABEBgAALgYAAEUGAABEBgAARQYAAC0GAABEBgAARQ\ +YAAC0GAABFBgAALQYAACwGAABFBgAALQYAAEUGAABFBgAALQYAAEoGAABFBgAALAYAAC0GAABFBgAA\ +LAYAAEUGAABFBgAALgYAACwGAABFBgAALgYAAEUGAABFBgAALAYAAC4GAABHBgAARQYAACwGAABHBg\ +AARQYAAEUGAABGBgAALQYAAEUGAABGBgAALQYAAEkGAABGBgAALAYAAEUGAABGBgAALAYAAEUGAABG\ +BgAALAYAAEkGAABGBgAARQYAAEoGAABGBgAARQYAAEkGAABKBgAARQYAAEUGAABKBgAARQYAAEUGAA\ +AoBgAALgYAAEoGAAAqBgAALAYAAEoGAAAqBgAALAYAAEkGAAAqBgAALgYAAEoGAAAqBgAALgYAAEkG\ +AAAqBgAARQYAAEoGAAAqBgAARQYAAEkGAAAsBgAARQYAAEoGAAAsBgAALQYAAEkGAAAsBgAARQYAAE\ +kGAAAzBgAALgYAAEkGAAA1BgAALQYAAEoGAAA0BgAALQYAAEoGAAA2BgAALQYAAEoGAABEBgAALAYA\ +AEoGAABEBgAARQYAAEoGAABKBgAALQYAAEoGAABKBgAALAYAAEoGAABKBgAARQYAAEoGAABFBgAARQ\ +YAAEoGAABCBgAARQYAAEoGAABGBgAALQYAAEoGAABCBgAARQYAAC0GAABEBgAALQYAAEUGAAA5BgAA\ +RQYAAEoGAABDBgAARQYAAEoGAABGBgAALAYAAC0GAABFBgAALgYAAEoGAABEBgAALAYAAEUGAABDBg\ +AARQYAAEUGAABEBgAALAYAAEUGAABGBgAALAYAAC0GAAAsBgAALQYAAEoGAAAtBgAALAYAAEoGAABF\ +BgAALAYAAEoGAABBBgAARQYAAEoGAAAoBgAALQYAAEoGAABDBgAARQYAAEUGAAA5BgAALAYAAEUGAA\ +A1BgAARQYAAEUGAAAzBgAALgYAAEoGAABGBgAALAYAAEoGAAA1BgAARAYAANIGAABCBgAARAYAANIG\ +AAAnBgAARAYAAEQGAABHBgAAJwYAAEMGAAAoBgAAMQYAAEUGAAAtBgAARQYAAC8GAAA1BgAARAYAAD\ +kGAABFBgAAMQYAADMGAABIBgAARAYAADkGAABEBgAASgYAAEcGAABIBgAAMwYAAEQGAABFBgAANQYA\ +AEQGAABJBgAANQYAAEQGAABJBgAAIAAAACcGAABEBgAARAYAAEcGAAAgAAAAOQYAAEQGAABKBgAARw\ +YAACAAAABIBgAAMwYAAEQGAABFBgAALAYAAEQGAAAgAAAALAYAAEQGAAAnBgAARAYAAEcGAAAxBgAA\ +zAYAACcGAABEBgAALAAAAAEwAAACMAAAOgAAADsAAAAhAAAAPwAAABYwAAAXMAAALgAAAC4AAAAuAA\ +AALgAAAC4AAAAUIAAAEyAAAF8AAABfAAAAKAAAACkAAAB7AAAAfQAAABQwAAAVMAAAEDAAABEwAAAK\ +MAAACzAAAAgwAAAJMAAADDAAAA0wAAAOMAAADzAAAFsAAABdAAAAIAAAAAUDAAAgAAAABQMAACAAAA\ +AFAwAAIAAAAAUDAABfAAAAXwAAAF8AAAAsAAAAATAAAC4AAAA7AAAAOgAAAD8AAAAhAAAAFCAAACgA\ +AAApAAAAewAAAH0AAAAUMAAAFTAAACMAAAAmAAAAKgAAACsAAAAtAAAAPAAAAD4AAAA9AAAAXAAAAC\ +QAAAAlAAAAQAAAACAAAABLBgAAQAYAAEsGAAAgAAAATAYAACAAAABNBgAAIAAAAE4GAABABgAATgYA\ +ACAAAABPBgAAQAYAAE8GAAAgAAAAUAYAAEAGAABQBgAAIAAAAFEGAABABgAAUQYAACAAAABSBgAAQA\ +YAAFIGAAAhBgAAJwYAAFMGAAAnBgAAUwYAACcGAABUBgAAJwYAAFQGAABIBgAAVAYAAEgGAABUBgAA\ +JwYAAFUGAAAnBgAAVQYAAEoGAABUBgAASgYAAFQGAABKBgAAVAYAAEoGAABUBgAAJwYAACcGAAAoBg\ +AAKAYAACgGAAAoBgAAKQYAACkGAAAqBgAAKgYAACoGAAAqBgAAKwYAACsGAAArBgAAKwYAACwGAAAs\ +BgAALAYAACwGAAAtBgAALQYAAC0GAAAtBgAALgYAAC4GAAAuBgAALgYAAC8GAAAvBgAAMAYAADAGAA\ +AxBgAAMQYAADIGAAAyBgAAMwYAADMGAAAzBgAAMwYAADQGAAA0BgAANAYAADQGAAA1BgAANQYAADUG\ +AAA1BgAANgYAADYGAAA2BgAANgYAADcGAAA3BgAANwYAADcGAAA4BgAAOAYAADgGAAA4BgAAOQYAAD\ +kGAAA5BgAAOQYAADoGAAA6BgAAOgYAADoGAABBBgAAQQYAAEEGAABBBgAAQgYAAEIGAABCBgAAQgYA\ +AEMGAABDBgAAQwYAAEMGAABEBgAARAYAAEQGAABEBgAARQYAAEUGAABFBgAARQYAAEYGAABGBgAARg\ +YAAEYGAABHBgAARwYAAEcGAABHBgAASAYAAEgGAABJBgAASQYAAEoGAABKBgAASgYAAEoGAABEBgAA\ +JwYAAFMGAABEBgAAJwYAAFMGAABEBgAAJwYAAFQGAABEBgAAJwYAAFQGAABEBgAAJwYAAFUGAABEBg\ +AAJwYAAFUGAABEBgAAJwYAAEQGAAAnBgAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAAp\ +AAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAA\ +A4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYA\ +AABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAF\ +UAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAA\ +AGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcg\ +AAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAIUpAACGKQAA\ +AjAAAAwwAAANMAAAATAAAPswAADyMAAAoTAAAKMwAAClMAAApzAAAKkwAADjMAAA5TAAAOcwAADDMA\ +AA/DAAAKIwAACkMAAApjAAAKgwAACqMAAAqzAAAK0wAACvMAAAsTAAALMwAAC1MAAAtzAAALkwAAC7\ +MAAAvTAAAL8wAADBMAAAxDAAAMYwAADIMAAAyjAAAMswAADMMAAAzTAAAM4wAADPMAAA0jAAANUwAA\ +DYMAAA2zAAAN4wAADfMAAA4DAAAOEwAADiMAAA5DAAAOYwAADoMAAA6TAAAOowAADrMAAA7DAAAO0w\ +AADvMAAA8zAAAJkwAACaMAAAYBEAAAARAAABEQAAqhEAAAIRAACsEQAArREAAAMRAAAEEQAABREAAL\ +ARAACxEQAAshEAALMRAAC0EQAAtREAABoRAAAGEQAABxEAAAgRAAAhEQAACREAAAoRAAALEQAADBEA\ +AA0RAAAOEQAADxEAABARAAAREQAAEhEAAGERAABiEQAAYxEAAGQRAABlEQAAZhEAAGcRAABoEQAAaR\ +EAAGoRAABrEQAAbBEAAG0RAABuEQAAbxEAAHARAABxEQAAchEAAHMRAAB0EQAAdREAAKIAAACjAAAA\ +rAAAACAAAAAEAwAApgAAAKUAAACpIAAAAiUAAJAhAACRIQAAkiEAAJMhAACgJQAAyyUAANACAADRAg\ +AA5gAAAJkCAABTAgAAowIAAGarAAClAgAApAIAAFYCAABXAgAAkR0AAFgCAABeAgAAqQIAAGQCAABi\ +AgAAYAIAAJsCAAAnAQAAnAIAAGcCAACEAgAAqgIAAKsCAABsAgAABN8BAI6nAABuAgAABd8BAI4CAA\ +AG3wEA+AAAAHYCAAB3AgAAcQAAAHoCAAAI3wEAfQIAAH4CAACAAgAAqAIAAKYCAABnqwAApwIAAIgC\ +AABxLAAAjwIAAKECAACiAgAAmAIAAMABAADBAQAAwgEAAArfAQAe3wEAQQAAAEIAAABDAAAARAAAAE\ +UAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAA\ +AFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AAAANw\ +AAADgAAAA5AAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAAAA\ +TQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABhAA\ +AAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABw\ +AAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAEEAAABCAAAAQwAAAEQAAA\ +BFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMA\ +AABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAG\ +kAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAA\ +AHgAAAB5AAAAegAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATA\ +AAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAA\ +YQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAA\ +AAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABBAAAAQwAAAEQAAABH\ +AAAASgAAAEsAAABOAAAATwAAAFAAAABRAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAA\ +BhAAAAYgAAAGMAAABkAAAAZgAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABwAAAAcQAAAHIA\ +AABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAE\ +cAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAA\ +AFYAAABXAAAAWAAAAFkAAABaAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAag\ +AAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAA\ +eQAAAHoAAABBAAAAQgAAAEQAAABFAAAARgAAAEcAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAA\ +AAUQAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABn\ +AAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAA\ +B2AAAAdwAAAHgAAAB5AAAAegAAAEEAAABCAAAARAAAAEUAAABGAAAARwAAAEkAAABKAAAASwAAAEwA\ +AABNAAAATwAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABhAAAAYgAAAGMAAABkAAAAZQAAAG\ +YAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAA\ +AHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQ\ +AAAEoAAABLAAAATAAAAE0AAABOAAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAA\ +WAAAAFkAAABaAAAAYQAAAGIAAABjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAA\ +AAbQAAAG4AAABvAAAAcAAAAHEAAAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABB\ +AAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAA\ +BQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAGEAAABiAAAAYwAAAGQA\ +AABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAH\ +MAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAA\ +AEgAAABJAAAASgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVg\ +AAAFcAAABYAAAAWQAAAFoAAABhAAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAA\ +awAAAGwAAABtAAAAbgAAAG8AAABwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AA\ +AAegAAAEEAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATAAAAE0AAABO\ +AAAATwAAAFAAAABRAAAAUgAAAFMAAABUAAAAVQAAAFYAAABXAAAAWAAAAFkAAABaAAAAYQAAAGIAAA\ +BjAAAAZAAAAGUAAABmAAAAZwAAAGgAAABpAAAAagAAAGsAAABsAAAAbQAAAG4AAABvAAAAcAAAAHEA\ +AAByAAAAcwAAAHQAAAB1AAAAdgAAAHcAAAB4AAAAeQAAAHoAAABBAAAAQgAAAEMAAABEAAAARQAAAE\ +YAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAA\ +AFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQ\ +AAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAA\ +eAAAAHkAAAB6AAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAABJAAAASgAAAEsAAABMAA\ +AATQAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAAAFQAAABVAAAAVgAAAFcAAABYAAAAWQAAAFoAAABh\ +AAAAYgAAAGMAAABkAAAAZQAAAGYAAABnAAAAaAAAAGkAAABqAAAAawAAAGwAAABtAAAAbgAAAG8AAA\ +BwAAAAcQAAAHIAAABzAAAAdAAAAHUAAAB2AAAAdwAAAHgAAAB5AAAAegAAADEBAAA3AgAAkQMAAJID\ +AACTAwAAlAMAAJUDAACWAwAAlwMAAJgDAACZAwAAmgMAAJsDAACcAwAAnQMAAJ4DAACfAwAAoAMAAK\ +EDAACYAwAAowMAAKQDAAClAwAApgMAAKcDAACoAwAAqQMAAAciAACxAwAAsgMAALMDAAC0AwAAtQMA\ +ALYDAAC3AwAAuAMAALkDAAC6AwAAuwMAALwDAAC9AwAAvgMAAL8DAADAAwAAwQMAAMIDAADDAwAAxA\ +MAAMUDAADGAwAAxwMAAMgDAADJAwAAAiIAALUDAAC4AwAAugMAAMYDAADBAwAAwAMAAJEDAACSAwAA\ +kwMAAJQDAACVAwAAlgMAAJcDAACYAwAAmQMAAJoDAACbAwAAnAMAAJ0DAACeAwAAnwMAAKADAAChAw\ +AAmAMAAKMDAACkAwAApQMAAKYDAACnAwAAqAMAAKkDAAAHIgAAsQMAALIDAACzAwAAtAMAALUDAAC2\ +AwAAtwMAALgDAAC5AwAAugMAALsDAAC8AwAAvQMAAL4DAAC/AwAAwAMAAMEDAADCAwAAwwMAAMQDAA\ +DFAwAAxgMAAMcDAADIAwAAyQMAAAIiAAC1AwAAuAMAALoDAADGAwAAwQMAAMADAACRAwAAkgMAAJMD\ +AACUAwAAlQMAAJYDAACXAwAAmAMAAJkDAACaAwAAmwMAAJwDAACdAwAAngMAAJ8DAACgAwAAoQMAAJ\ +gDAACjAwAApAMAAKUDAACmAwAApwMAAKgDAACpAwAAByIAALEDAACyAwAAswMAALQDAAC1AwAAtgMA\ +ALcDAAC4AwAAuQMAALoDAAC7AwAAvAMAAL0DAAC+AwAAvwMAAMADAADBAwAAwgMAAMMDAADEAwAAxQ\ +MAAMYDAADHAwAAyAMAAMkDAAACIgAAtQMAALgDAAC6AwAAxgMAAMEDAADAAwAAkQMAAJIDAACTAwAA\ +lAMAAJUDAACWAwAAlwMAAJgDAACZAwAAmgMAAJsDAACcAwAAnQMAAJ4DAACfAwAAoAMAAKEDAACYAw\ +AAowMAAKQDAAClAwAApgMAAKcDAACoAwAAqQMAAAciAACxAwAAsgMAALMDAAC0AwAAtQMAALYDAAC3\ +AwAAuAMAALkDAAC6AwAAuwMAALwDAAC9AwAAvgMAAL8DAADAAwAAwQMAAMIDAADDAwAAxAMAAMUDAA\ +DGAwAAxwMAAMgDAADJAwAAAiIAALUDAAC4AwAAugMAAMYDAADBAwAAwAMAAJEDAACSAwAAkwMAAJQD\ +AACVAwAAlgMAAJcDAACYAwAAmQMAAJoDAACbAwAAnAMAAJ0DAACeAwAAnwMAAKADAAChAwAAmAMAAK\ +MDAACkAwAApQMAAKYDAACnAwAAqAMAAKkDAAAHIgAAsQMAALIDAACzAwAAtAMAALUDAAC2AwAAtwMA\ +ALgDAAC5AwAAugMAALsDAAC8AwAAvQMAAL4DAAC/AwAAwAMAAMEDAADCAwAAwwMAAMQDAADFAwAAxg\ +MAAMcDAADIAwAAyQMAAAIiAAC1AwAAuAMAALoDAADGAwAAwQMAAMADAADcAwAA3QMAADAAAAAxAAAA\ +MgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAAA2AA\ +AANwAAADgAAAA5AAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADAAAAAx\ +AAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAAwAAAAMQAAADIAAAAzAAAANAAAADUAAA\ +A2AAAANwAAADgAAAA5AAAAMAQAADEEAAAyBAAAMwQAADQEAAA1BAAANgQAADcEAAA4BAAAOgQAADsE\ +AAA8BAAAPgQAAD8EAABABAAAQQQAAEIEAABDBAAARAQAAEUEAABGBAAARwQAAEgEAABLBAAATQQAAE\ +4EAACJpgAA2QQAAFYEAABYBAAA6QQAAK8EAADPBAAAMAQAADEEAAAyBAAAMwQAADQEAAA1BAAANgQA\ +ADcEAAA4BAAAOgQAADsEAAA+BAAAPwQAAEEEAABDBAAARAQAAEUEAABGBAAARwQAAEgEAABKBAAASw\ +QAAJEEAABWBAAAVQQAAF8EAACrBAAAUaYAALEEAAAnBgAAKAYAACwGAAAvBgAASAYAADIGAAAtBgAA\ +NwYAAEoGAABDBgAARAYAAEUGAABGBgAAMwYAADkGAABBBgAANQYAAEIGAAAxBgAANAYAACoGAAArBg\ +AALgYAADAGAAA2BgAAOAYAADoGAABuBgAAugYAAKEGAABvBgAAKAYAACwGAABHBgAALQYAAEoGAABD\ +BgAARAYAAEUGAABGBgAAMwYAADkGAABBBgAANQYAAEIGAAA0BgAAKgYAACsGAAAuBgAANgYAADoGAA\ +AsBgAALQYAAEoGAABEBgAARgYAADMGAAA5BgAANQYAAEIGAAA0BgAALgYAADYGAAA6BgAAugYAAG8G\ +AAAoBgAALAYAAEcGAAAtBgAANwYAAEoGAABDBgAARQYAAEYGAAAzBgAAOQYAAEEGAAA1BgAAQgYAAD\ +QGAAAqBgAAKwYAAC4GAAA2BgAAOAYAADoGAABuBgAAoQYAACcGAAAoBgAALAYAAC8GAABHBgAASAYA\ +ADIGAAAtBgAANwYAAEoGAABEBgAARQYAAEYGAAAzBgAAOQYAAEEGAAA1BgAAQgYAADEGAAA0BgAAKg\ +YAACsGAAAuBgAAMAYAADYGAAA4BgAAOgYAACgGAAAsBgAALwYAAEgGAAAyBgAALQYAADcGAABKBgAA\ +RAYAAEUGAABGBgAAMwYAADkGAABBBgAANQYAAEIGAAAxBgAANAYAACoGAAArBgAALgYAADAGAAA2Bg\ +AAOAYAADoGAAAwAAAALgAAADAAAAAsAAAAMQAAACwAAAAyAAAALAAAADMAAAAsAAAANAAAACwAAAA1\ +AAAALAAAADYAAAAsAAAANwAAACwAAAA4AAAALAAAADkAAAAsAAAAKAAAAEEAAAApAAAAKAAAAEIAAA\ +ApAAAAKAAAAEMAAAApAAAAKAAAAEQAAAApAAAAKAAAAEUAAAApAAAAKAAAAEYAAAApAAAAKAAAAEcA\ +AAApAAAAKAAAAEgAAAApAAAAKAAAAEkAAAApAAAAKAAAAEoAAAApAAAAKAAAAEsAAAApAAAAKAAAAE\ +wAAAApAAAAKAAAAE0AAAApAAAAKAAAAE4AAAApAAAAKAAAAE8AAAApAAAAKAAAAFAAAAApAAAAKAAA\ +AFEAAAApAAAAKAAAAFIAAAApAAAAKAAAAFMAAAApAAAAKAAAAFQAAAApAAAAKAAAAFUAAAApAAAAKA\ +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\ +IAAAADAAAACAAAABsAAAAAAAsAEwACAAEAAAACAAgAAAABAAkAAAANAAAABAAbAAAAAAAAAAMAAgAA\ +AAEACAALABUABgABAAsAAAAIAAoAAAAAACsAAAACAAAAAwAFAAsAAAAMAAAABAAEAAAAAAABAAAAAA\ +AAAAcACgAIAAIAAAABAAYAFAAAAAAAAwAAAAAAAQAAAAAAAAADAAAAAAAGAAMAAAADAAAAAgAAAAAA\ +AAAGAAAAAAAEAAEABAAAAAMAAQABAAQAAQAAAAAAAwAAAAAAAQACAAEAAwACAAIAAAAEAAoACAAeAA\ +AAAAAAAAAAAQAGAAQAAAAAAAQAAAAAAAIADwALABQAAAACAAEAAAAAAAAABAAAAAQAAgAAAAYACwAA\ +AAkAGAAGAAYABQABAAIAAAAAAAAAAAAGAAAAAAAOAAEAAQAAAAMAAAAWAAMAFQAAAAAABgAGAAIAAA\ +ADAAEAAAALAAUABQABAAAAAAADAAAABAAAABAAAAAAAAAAAAABAAMAAAAAAAIAAgAAAAsAAAABAAUA\ +AgAAAAAAEQAPAAAAAQANAAwAAQALAAIAEAAIAAEAAQAEAAUAEQABAAsAEAAAAAEABgAAAAwAAAAOAA\ +sAAQAAAAMAIgAEAAAAAQAAAAcAAQAEAAYAAQABAAAAAQAHAAMABAAHAAYAAQAQAA0AAAAAAAAABwAD\ +AAAACAABAAcAAwADAAAAAAAQAAMAAgAAAAAAAAAAAAUAAQAAAAIAAAADAAAAAQAQAAEAAAAVAAMABw\ +ABAA0ABQACABUAAAABAAkAAAAGAAAAAwABAAAAAAACAAAAAgAAAAAADwAAAAEAFQAEAAIAAgABAAgA\ +AAAAAAAADAAAAAQAAAAFAAcADwABAAMABgABAAAABAAAAAwABAASAAIAAgAAAAEAGAAEAAAAAAABAA\ +wAAAAAAA4AAQAAAAcAAgAAAAAAAQAXAAIAAgAAAAAABAABAAAAAgAGAAIAAwAKAAAABQAAAAMAAQAC\ +AAIAAAABAAUAAwAAAA0ADAABAAAAAQAEAAAAAgAAAAEAAAAAAAEABQAAAAAAAAAAAAEAHQADAAIADA\ +AAAAAAAwAJAAAAAAAFAAMAAAABAAIABgABAAgAAQABAA0ABAAGAAgAAQALAAcACgAGAAIADwAFAAAA\ +CwAGAAEAAQABAAQACQAAAAEAAAADAAAACQAJAAQAAQABAAkABgACAAgABwADAAAACAAHAAAAFAABAA\ +EAEwADAAQAAAAAAAMAAQAAAAEAAAAAAAAAAAAAAAAAAAAFAAoAAAAAAAAAEgAAAAAAAAACAAAACAAA\ +ABYAEQAHAAMAAAAJAAEAAgAAAAAAAAAAAAAAAAABAAAAAAAJAAwABAAAAAIAAAAAAAIAAQAHAAAAAA\ +ABAAAAAwAAAAAAAAAAAAkAAwACAAgAAgAAAAEAAQAKABMAAgADAAEAAwAGAAAAAwABAAQAAgAAAAAA\ +BAAEAAAAAAAAAA0AAgAJAAIAAAAHAAcAAQAAAAIABgACAAAAAQACAAMAAAAAAAkAAwAHAAEAAAAAAA\ +8AAQAMAAAAAwAAAAIAAAAAAAkAAgACAAAAAQAAAAYAAAACAAIAAwACAAEADwABAAgAAgACAAkACQAL\ +AAcAAgAAAAAABQAOAAEABAAHAAIAAQAAAAMACgAAAAAADgAAAAkAAwADAAEAAAAAAAAABwAAAAgADg\ +AAAAAAAAAAAAIAEAACAAEAAgAAAAkAAAAAAAIABgAAAAEAAAACAAAADQADAAEACwABAAEAAAAHAAAA\ +AAADAAIABAAGAAQAAAABAAgAAQAFAAUACwARAAQAAgAAACoAAAABAAQACAAEAAAAAQABAAAAAAABAA\ +cACwADAAAAAgAAAAUABAACAAAAAQAKAAkAAQACAAAABgADAAEABgADAAAAAQADAAAAAAAFAAIABgAC\ +AAEAAAAAAAAAAAADAAEAAAAEAAAABwABAAAAAAACAAgAAAAEAAEAFQAAAAQAAAAAAAUAAAAJAAIACA\ +AGAAEAAAABAAEAAgAAAAEAAwAAAAAAAwAAAAMAAQAAAAAAAAAAAAEAAQABAAgAAAABAAEAAQAJAAMA\ +AgAAAAAAAQAMAAcAAwACAAoAAAAFAAgACgAGAAUABgABAAAAAwAAAAYAAwAAAAIAAgAEAAUAAwACAA\ +EAAAABAAUAAQAAAAMAAQAHAAEAAQAAAAAAAwADAAcAAQAAAAEAAQADAAoAAwAKAAAAAAAAAAEAAwAB\ +AAAABAAAAAIAAwAGAAAAAAAFAAEAAAAAAAMABQADAAEAAQADAAAAAAAAAAEAAQABAAEAAAAAAAEAAA\ +ABAAMAAQADAAQAAQAJAAIAAgACAAMABgABAAAAAAABAAcAAAAEAAAAAQAAAAsAAAACAAEABAAAAAcA\ +AgAEAAgABQABAAMAAQAAAAIAAAADAAAABgADAAIAAAAAAAgADQABAAEAAAAHAAEABQAIAAEACQADAA\ +AAAAADAAAAAAAAAAAAAAAAAAEABAAAAAAABAADAAEABAAAAAAAAAADAAMACQADAAEAAAAKAAAAAQAE\ +AAAAAQAAAAAADAACAAAAAAAHAAUAAAAFAAAAAAAEAAAAAwAAAAEABgAEAAQAAAACAAAAAwABAAAABQ\ +AAAAIABAAAAAEAAAASAAEAAAAIAAMAAAACAAAABQABAAEAAgABAAgAAwAAAAYAAQAGAAEAAQACAAEA\ +AAAAAAAAAQADAAEABAAAAAMACAAAAAUAAAAAAAIAAAAAAAEAAAAAAA4AAQAAAAAAAQADAAUAAAAAAA\ +EAAQADAAIAAAACAAAABwAAAAAABwABAAEAAAADAAAABAABAAIAAAAAAAIAAwADAAAAEQAAAAEAAQAC\ +AAYAAwAAAAIABAACAAUAAAAAAAAABgAAAAMAAQAHAAIAAAAAAAAACAAAAAAAAQACAAAAAwABAAEAAw\ +AAAAEAAQAOAAEAAAABAAgAAQABAAEABQAIAAIAAwABAAAAAQADAAAAAQAAAAMAAQADAAAAAAAAAAIA\ +AAAAAAEAAAAAAAAAAQABAAIAAAAEAAIAAQAAAAcAAAADAAEAAAAAAAAACAABAAEAAAADAAEAAAAAAA\ +EAAQAAAAAAAQAFAAAAAQADAAIAAwABAAAADQABAAAAAwACAAEABAADAAEAAgACAAEAAgABAAMACAAA\ +AAMAAQAAAAAAAAABAAAAAwACAAYAAgAIAAAAAAAAAAAAAwAAAAEAAAABAAUAAgAFAAAAAQAAAAAAAA\ +ACAAAAAQAGAAAAAQADAAAAAAACAAAAAAABAAMACgAEAAkAAAACAAAAAwADAAEAAQAKAAAABgAEAAMA\ +AwACAAEABAACAAIAAwAFAAMAAAACAAAAAQABAAAAAgACAAEAAAAEAAIABAAAAAAAAAABAAcAAAAAAA\ +IAAwACAAMAAAACAAEAAgAAAAAAAAAAAAMAAAAEAAMACAAIAAAAAQAAAAAAAQAAAAQAAAAAAAEADAAB\ +AAMAAAAFAAEACgAEAAEAAwABAAAAAQABAAAAAwADAAMAAAAAAAAABwAAAAUAAQAAAAIAAAADAAAAAg\ +ACAAEAAQABAAEABAABAAUAAQAAAAEAAgABAAIAAgAAAAAAAgABAAEAAwAAAAAABAAAAA4ABAABAAIA\ +AwABAAAAAgADAAAAAAAAAAAAAAAAAAEAAAAAAAEAAAABAAAAAAAKAAIAAAAAAAAAAAASAAAAAAAEAA\ +MAAAADAAMAAQABAAAAAAAGAAUAAAABAAMAAgAAAAEABgAAAAAAAAABAAMAAgAAAAIAAAAAAAEAAAAA\ +AAAAAwAAAAUAAQACAAAAAAAEAAAABgAAAAAAAwAEAAIAAAACAAIAAQAIAAAAAQABAAEAAAAAAAEAAw\ +AAAAEAAwABAAAAAgAAAAEAAAADAAUAAAAEAAEABQAAAAAAAQAEAAIAAAAAAAAAAAAEAAAAAAAAAAEA\ +AAAQAAAAAQABAAAAAAAAAAEAAAABAAEABgADAAUAAQAAAAEAAQACAA4ABQADAAEAAQABAAIAAAABAA\ +AABAAFAAIAAwAFAAMABAAAAAUAAQACAAEAAQACAAAABQABAAEAAQAAAAIAAAAGAAAAAQAAAAIAAwAC\ +AAMAAQAAAAcAAQACAAMAAgABAAMAAAAAAAAAAQABAAUAAQAAAAIAAQABAAEAAAAAAAYAAAABAAIAAQ\ +ACAAEAAAAAAAIAAQAAAAIAAgABAAIAAQADAAAAAgAAAAAAAgAAAAAAAgABAAEABQAEAAQAAQADAAcA\ +AQAAAAAAAQACAAIAAwABAAQABQABAAEABAABAAAACAACAAAAAAADAAIAAAABAAEAAQAGAAIAAAAEAA\ +QAAQAAAAQAAgAAAAAAAgAAAAAAAAABAAAABAABAAkAAQAEAAAAAQAAAAEABQAAAAAAAAAFAAMAAgAD\ +AAQACAACAAIAAAAGAAEAAQACAAEAAAAAAAIAAAACAAIAAAACAAAAAgADAAAABAACAAEAAgADAAUAAQ\ +ACAAEAAAAAAAAAAAAAAAIAAgALAAAAAAAAAAEABgAFAAAAAAAAAAIAAgAAAAMAAwACAAEAAAABAAAA\ +AAABAAEAAAAAAAEAAQAEAAEAAAACAAIAAwADAAAAAAACAAQAAQACAAUAAQABAAAAAQABAAEAAAAEAA\ +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\ +0AAAB84RQAZwAAACwAAAATAAAA0wEAAAwAAAAEAAAAXwEAAAACAABhAQAAAAAAAAAAAAABAAAAYgEA\ +AGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkvcn\ +VzdGMvZWViOTBjZGExOTY5MzgzZjU2YTI2MzdjYmQzMDM3YmRmNTk4ODQxYy9saWJyYXJ5L2FsbG9j\ +L3NyYy9zdHJpbmcucnMAAGPiFABLAAAABgoAAA4AAAAvcnVzdGMvZWViOTBjZGExOTY5MzgzZjU2YT\ +I2MzdjYmQzMDM3YmRmNTk4ODQxYy9saWJyYXJ5L2NvcmUvc3JjL3N0ci9tb2QucnMAwOIUAEsAAACT\ +AgAAFQAAAGNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAAAAAAAQAAA\ +AEAAAAJAEAAC9ydXN0Yy9lZWI5MGNkYTE5NjkzODNmNTZhMjYzN2NiZDMwMzdiZGY1OTg4NDFjL2xp\ +YnJhcnkvY29yZS9zcmMvc3RyL3BhdHRlcm4ucnNFcnJvci9ydXN0Yy9lZWI5MGNkYTE5NjkzODNmNT\ +ZhMjYzN2NiZDMwMzdiZGY1OTg4NDFjL2xpYnJhcnkvYWxsb2Mvc3JjL3ZlYy9tb2QucnOs4xQATAAA\ +AJkIAAAkAAAArOMUAEwAAAAPCQAADQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuaXNfY2hhcl9ib3\ +VuZGFyeShpZHgpY+IUAEsAAACoBgAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuaXNfY2hhcl9i\ +b3VuZGFyeShuKQAAY+IUAEsAAACFBwAAHQAAAGPiFABLAAAAjQcAAB0AAABj4hQASwAAAFcHAAAkAA\ +AAYXNzZXJ0aW9uIGZhaWxlZDogc2VsZi5pc19jaGFyX2JvdW5kYXJ5KHN0YXJ0KQAAY+IUAEsAAABY\ +BwAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuaXNfY2hhcl9ib3VuZGFyeShlbmQpY+IUAEsAAA\ +BZBwAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNlbGYuaXNfY2hhcl9ib3VuZGFyeShuZXdfbGVuKWPi\ +FABLAAAAggUAAA0AAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmlzX2NoYXJfYm91bmRhcnkoYXQpAG\ +PiFABLAAAAEAcAAAkAAABY4xQATwAAAL8BAAA3AAAAWOMUAE8AAAD7AQAANwAAAH4vLmNhcmdvL3Jl\ +Z2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tNmYxN2QyMmJiYTE1MDAxZi91cmwtMi41LjIvc3JjL2\ +hvc3QucnPI5RQATAAAAFIAAAApAAAA/////wAAAAAAAAAAAAAAgMjlFABMAAAAggAAACkAAABbXToA\ +yOUUAEwAAADWAAAAGwAAAAEAAAAAAAAAyOUUAEwAAAAGAQAAHQAAADB4MFjI5RQATAAAACMBAAAXAA\ +AAyOUUAEwAAAAgAQAAFwAAAGEgbm9uLWVtcHR5IGxpc3Qgb2YgbnVtYmVycwDI5RQATAAAAE0BAAAi\ +AAAAyOUUAEwAAACjAQAACQAAAMjlFABMAAAA4gEAABgAAADI5RQATAAAAMkBAAARAAAAZnRwaHR0cG\ +h0dHBzd3N3c3NmaWxlOi8vfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3\ +ZDIyYmJhMTUwMDFmL3VybC0yLjUuMi9zcmMvcGFyc2VyLnJzAAAI5xQATgAAABgBAAAuAAAACOcUAE\ +4AAAC4AQAARAAAAC8vZmlsZTovLwAAAAjnFABOAAAAMQIAAEYAAAAI5xQATgAAADECAABWAAAACOcU\ +AE4AAABjAgAAOwAAAGZpbGU6Ly8vCOcUAE4AAADTAgAANwAAAAjnFABOAAAAkAMAADEAAAD/////DY\ +AA/AEAAHgBAAC4COcUAE4AAAC0AwAANQAAAEbmFAABAAAACOcUAE4AAADJAwAAOgAAAAjnFABOAAAA\ +wwMAAD0AAAAI5xQATgAAAPkDAAAmAAAAbG9jYWxob3N0AAAACOcUAE4AAAAgBAAAQQAAAAjnFABOAA\ +AAQgQAACYAAAAI5xQATgAAALoEAAA0AAAA/////w0AANAAAAAAAQAAqP////8tgADQAAAAAAEAAKj/\ +////LYAA0AAAABABAACoCOcUAE4AAADRBAAAJAAAAAjnFABOAAAAzwQAACQAAAAuLiUyZSUyZSUyZS\ +UyRSUyRSUyZSUyRSUyRSUyZS4lMkUuLiUyZS4lMkUuJTJlJTJFAAAACOcUAE4AAAAXBQAAMAAAAAjn\ +FABOAAAAHAUAAEkAAAAI5xQATgAAACoFAABGAAAACOcUAE4AAAA1BQAANAAAAAjnFABOAAAANQUAAE\ +4AAAAI5xQATgAAADoFAABKAAAACOcUAE4AAABzBQAAIwAAADovLgAI5xQATgAAAHcFAAAYAAAACOcU\ +AE4AAACFBQAAKAAAAGFzc2VydGlvbiBmYWlsZWQ6ICFzZWxmLnNlcmlhbGl6YXRpb25bc2NoZW1lX2\ +VuZF9hc191c2l6ZS4uXS5zdGFydHNfd2l0aCgiOi8vIikACOcUAE4AAACFBQAADQAAAC8AAAAI5xQA\ +TgAAAHcFAAANAAAACOcUAE4AAABrBQAAIgAAAAjnFABOAAAAcQUAACgAAAAI5xQATgAAAHEFAAANAA\ +AAUHJvZ3JhbW1pbmcgZXJyb3IuIHBhcnNlX3F1ZXJ5X2FuZF9mcmFnbWVudCgpIGNhbGxlZCB3aXRo\ +b3V0ID8gb3IgIwAI5xQATgAAAK0FAAASAAAACOcUAE4AAADJBQAAMQAAAP////8NAABQAAAAAAAAAI\ +D/////jQAAUAAAAAAAAACA/////wUAAFAAAAAAAQAAgAjnFABOAAAAQQYAACkAAAAI5xQATgAAAE8G\ +AABXAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMD\ +FmL3VybC0yLjUuMi9zcmMvcGF0aF9zZWdtZW50cy5ycwAAAODqFABVAAAAgQAAACIAAADg6hQAVQAA\ +AJAAAAAwAAAAfi8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMT\ +UwMDFmL3VybC0yLjUuMi9zcmMvbGliLnJzAFjrFABLAAAA7AEAACEAAAAlMkYAWOsUAEsAAACyBgAA\ +IQAAAFjrFABLAAAAswcAACwAAABY6xQASwAAAO8HAAA1AAAAWOsUAEsAAABcCgAACQAAAFjrFABLAA\ +AAyQoAAAsAAABY6xQASwAAANAKAAALAAAAWOsUAEsAAADXCgAACwAAAGVtcHR5IGhvc3RpbnZhbGlk\ +IGludGVybmF0aW9uYWwgZG9tYWluIG5hbWVpbnZhbGlkIHBvcnQgbnVtYmVyaW52YWxpZCBJUHY0IG\ +FkZHJlc3NpbnZhbGlkIElQdjYgYWRkcmVzc2ludmFsaWQgZG9tYWluIGNoYXJhY3RlcnJlbGF0aXZl\ +IFVSTCB3aXRob3V0IGEgYmFzZXJlbGF0aXZlIFVSTCB3aXRoIGEgY2Fubm90LWJlLWEtYmFzZSBiYX\ +NlYSBjYW5ub3QtYmUtYS1iYXNlIFVSTCBkb2VzbuKAmXQgaGF2ZSBhIGhvc3QgdG8gc2V0VVJMcyBt\ +b3JlIHRoYW4gNCBHQiBhcmUgbm90IHN1cHBvcnRlZEpzVmFsdWUoKQBC7RQACAAAAErtFAABAAAAbn\ +VsbCBwb2ludGVyIHBhc3NlZCB0byBydXN0cmVjdXJzaXZlIHVzZSBvZiBhbiBvYmplY3QgZGV0ZWN0\ +ZWQgd2hpY2ggd291bGQgbGVhZCB0byB1bnNhZmUgYWxpYXNpbmcgaW4gcnVzdGFycmF5IGNvbnRhaW\ +5zIGEgdmFsdWUgb2YgdGhlIHdyb25nIHR5cGUAAAgAAAANAAAADwAAAETpEQBM6REAWekRAAAAAAAB\ +AAAAAQAAAAkAAAAJAAAACwAAABIAAAASAAAAFgAAABYAAAAgAAAAGQAAAAgAAACsyxEAtcsRAL7LEQ\ +DJyxEA28sRAO3LEQADzBEAGcwRADnMEQBSzBEACQAAAAkAAAALAAAAEgAAABIAAAAWAAAAFgAAACAA\ +AAAZAAAACAAAAKzLEQC1yxEAvssRAMnLEQDbyxEA7csRAAPMEQAZzBEAOcwRAFLMEQAJAAAACQAAAA\ +sAAAASAAAAEgAAABYAAAAWAAAAIAAAABkAAAAIAAAArMsRALXLEQC+yxEAycsRANvLEQDtyxEAA8wR\ +ABnMEQA5zBEAUswRAAkAAAAJAAAACwAAABIAAAASAAAAFgAAABYAAAAgAAAAGQAAAAgAAACsyxEAtc\ +sRAL7LEQDJyxEA28sRAO3LEQADzBEAGcwRADnMEQBSzBEAAAAAAAIAAAAAAAAAAAAAAAAAAAABAAAA\ +AAAAAAgAAAAIAAAADAAAAAgAAAAIAAAACAAAAAoAAAAIAAAADQAAAAkAAAAIAAAADQAAAA8AAABE6R\ +EATOkRAFnpEQALAAAACAAAAAQAAAAGAAAABgAAABQAAAA0LxIAPy8SAEcvEgBLLxIAUS8SAFcvEgAF\ +AAAAAwAAAAcAAAAFAAAACQAAAAcAAAAJAAAADwAAAAsAAAARAAAADgAAAAwAAAAQAAAADgAAABIAAA\ +AQAAAAFAAAABIAAACkVBIAqVQSAKxUEgCzVBIAuFQSAMFUEgDIVBIA0VQSAOBUEgDrVBIA/FQSAApV\ +EgAWVRIAJlUSADRVEgBGVRIAVlUSAGpVEgBBAAAAegAAAF4AAAAkAAAAcgAAAFIAAABiAAAAQgAAAM\ +PWAQCp1gEAPAAAAD4AAAAIMAAACTAAAMElAAC3JQAAwCUAALYlAAADAAAACAAAAAQAAAA1LBIAOCwS\ +ANc0EgABAAAAAgAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAAABAAAAAgAAAAQAAAAIAAAAEAAAAC\ +AAAABAAAAAgAAAAAABAAAAAgACAAAAAQAAAAgAAAAEAAAAIAAAABAAAABAAAAAgAAAAAABAAAAAgAA\ +AAgAAAAEAAAAIAAAABAAAACAAAAAQAAAAAACAAAAAQAFAAAAAwAAAAcAAAAFAAAACQAAAAcAAAAJAA\ +AADwAAAAsAAAARAAAADgAAAAwAAAAQAAAADgAAABIAAAAQAAAAFAAAABIAAACkVBIAqVQSAKxUEgCz\ +VBIAuFQSAMFUEgDIVBIA0VQSAOBUEgDrVBIA/FQSAApVEgAWVRIAJlUSADRVEgBGVRIAVlUSAGpVEg\ +AFAAAADAAAAAsAAAALAAAABAAAAJRWEgCZVhIApVYSALBWEgC7VhIAFAAAABAAAAAQAAAAEAAAABwA\ +AAACAAAABAAAAAgAAABcTxIA5KoSAF1PEgADAAAAAgAAAAEAAAACAAAAAgAAAAEAAAABAAAAAQAAAA\ +EAAAAEAAAABgAAAAEAAAAEAAAAAwAAAJhPEgCeTxIAok8SAKRPEgCoTxIArE8SAK5PEgCwTxIAsk8S\ +ALRPEgC8TxIAyE8SAMpPEgDSTxIAQQAAAHoAAABeAAAAJAAAAHIAAABSAAAAYgAAAEIAAADD1gEAqd\ +YBADwAAAA+AAAACDAAAAkwAADBJQAAtyUAAMAlAAC2JQAAfwAAAP8HAAD//wAAAEGI5tMACygAAAAA\ +AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkCAAADAAAAAPS5EARuYW1lAAwLbG9hZGVyLndhc2\ +0B3bkQ0RoAR2pzX3N5czo6QXJyYXk6Omxlbmd0aDo6X193YmdfbGVuZ3RoX2NkN2FmODExNzY3MmI4\ +Yjg6OmgxN2M5MmQxMmJiMTFkODhkAUxqc19zeXM6OlN5bWJvbDo6aXRlcmF0b3I6Ol9fd2JnX2l0ZX\ +JhdG9yXzJjZWU2ZGFkZmQ5NTZkZmE6OmhhMzNmZjU2MGY2NzQwYzM1Ajh3YXNtX2JpbmRnZW46Ol9f\ +d2JpbmRnZW5faXNfdW5kZWZpbmVkOjpoZjAxZGRlODc0ZjI2NjE4YgMud2FzbV9iaW5kZ2VuOjpfX3\ +diaW5kZ2VuX2luOjpoOGI2OWM1ZTI2YzUxOGY5ZAQ2d2FzbV9iaW5kZ2VuOjpfX3diaW5kZ2VuX251\ +bWJlcl9nZXQ6Omg1ZWVhYjVkMjk3ZDYxYjI5BTd3YXNtX2JpbmRnZW46Ol9fd2JpbmRnZW5fYm9vbG\ +Vhbl9nZXQ6OmhiYWFjMjFiNWNlYmJiZThhBjZ3YXNtX2JpbmRnZW46Ol9fd2JpbmRnZW5fc3RyaW5n\ +X2dldDo6aDllMTk3YzU2YjgyYmNlYzAHNXdhc21fYmluZGdlbjo6X193YmluZGdlbl9pc19iaWdpbn\ +Q6OmgyZTQzNTJlNDlkYmQwNjE0CDV3YXNtX2JpbmRnZW46Ol9fd2JpbmRnZW5faXNfb2JqZWN0Ojpo\ +ZDMyZWMzNGMxMmZjNzU2ZAk7d2FzbV9iaW5kZ2VuOjpfX3diaW5kZ2VuX2JpZ2ludF9mcm9tX2k2ND\ +o6aDgzYTVlZGUyM2NhZTg4ODYKO3dhc21fYmluZGdlbjo6X193YmluZGdlbl9iaWdpbnRfZnJvbV91\ +NjQ6OmhjNDEzZDAwNTU5NzdkYzZhCzR3YXNtX2JpbmRnZW46Ol9fd2JpbmRnZW5fanN2YWxfZXE6Om\ +gzYWQwYTcwOWQ4MjhmNDI3DGhzZXJkZV93YXNtX2JpbmRnZW46Ok9iamVjdEV4dDo6Z2V0X3dpdGhf\ +cmVmX2tleTo6X193YmdfZ2V0d2l0aHJlZmtleV9lZGMyYzg5NjBmMGYxMTkxOjpoZTA4OTIzNDU0MT\ +VmNWE3Yg01d2FzbV9iaW5kZ2VuOjpfX3diaW5kZ2VuX2Vycm9yX25ldzo6aDJkMTM2NDY5MGI4NTM1\ +OWEORWxvYWRlcjo6c3RhdF9zeW5jOjpfX3diZ19zdGF0c3luY19iYTRiYzRlMDAyMzRhZjkyOjpoZT\ +c3NWUxMzRiOWM2ZDkzMw9ZbG9hZGVyOjpyZWFkX3RvX3N0cmluZ19sb3NzeTo6X193YmdfcmVhZHRv\ +c3RyaW5nbG9zc3lfZTIxMWVhOTMwOWVhNmRiNzo6aDU5MjRhNjQxODdkYTY0MGIQQ2xvYWRlcjo6cm\ +VhZF9kaXI6Ol9fd2JnX3JlYWRkaXJfNWFiOWZjNzA5MGEzZWVhZjo6aDA5MWNmNzcyN2RiMzFlMTcR\ +ejxzZXJkZV93YXNtX2JpbmRnZW46OmVycm9yOjpFcnJvciBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+Oj\ +pmbXQ6OnRvX3N0cmluZzo6X193YmdfU3RyaW5nX2I5NDEyZjg3OTlmYWFiM2U6OmgwMzY2NWUxNzYy\ +MDFiZjhhEjd3YXNtX2JpbmRnZW46Ol9fd2JpbmRnZW5faXNfZnVuY3Rpb246OmhlNmJhMGU0YTA3ND\ +Q1MDI5Ezt3YXNtX2JpbmRnZW46Ol9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmOjpoOGNiODk3OTBh\ +NTQ5YWZkZRRBanNfc3lzOjpBcnJheTo6Z2V0OjpfX3diZ19nZXRfYmQ4ZTMzOGZiZDVmNWNjODo6aD\ +BmNjY0NWRjNGRkODQxZDkVRmpzX3N5czo6SXRlcmF0b3I6Om5leHQ6Ol9fd2JnX25leHRfMTk2Yzg0\ +NDUwYjM2NDI1NDo6aGMzODVlZWZkN2IyNjBiMGIWSmpzX3N5czo6SXRlcmF0b3JOZXh0Ojpkb25lOj\ +pfX3diZ19kb25lXzI5OGI1N2QyM2MwZmM4MGM6Omg4ZDA4NTg4YTYzZTlkNDc4F0xqc19zeXM6Okl0\ +ZXJhdG9yTmV4dDo6dmFsdWU6Ol9fd2JnX3ZhbHVlX2Q5M2M2NTAxMWY1MWE0NTY6OmhlOWQ5MTBlMG\ +JiYzk4YWI1GENqc19zeXM6OlJlZmxlY3Q6OmdldDo6X193YmdfZ2V0X2UzYzI1NDA3NjU1N2UzNDg6\ +OmhmZjg5ZmRjOTIyZDRlNzcxGUdqc19zeXM6OkZ1bmN0aW9uOjpjYWxsMDo6X193YmdfY2FsbF8yN2\ +MwZjg3ODAxZGVkZjkzOjpoMTAzNjRmY2E3MTgzZDg0NBpqanNfc3lzOjpJdGVyYXRvcjo6bG9va3Nf\ +bGlrZV9pdGVyYXRvcjo6TWF5YmVJdGVyYXRvcjo6bmV4dDo6X193YmdfbmV4dF80MGZjMzI3YmZjOD\ +c3MGU2OjpoZTVjYjY4NDAyMzA5M2M2NBtKanNfc3lzOjpBcnJheTo6aXNfYXJyYXk6Ol9fd2JnX2lz\ +QXJyYXlfMmFiNjRkOTVlMDllYTBhZTo6aDczOTkxYWY3NGE5NjkyOWUcggFqc19zeXM6Ol86OjxpbX\ +BsIHdhc21fYmluZGdlbjo6Y2FzdDo6SnNDYXN0IGZvciBqc19zeXM6Ok1hcD46Omluc3RhbmNlb2Y6\ +Ol9fd2JnX2luc3RhbmNlb2ZfTWFwXzg3OTE3ZTBhN2FhZjQwMTI6OmhhYjBmZGYzZDk1ZTM0ZmEwHV\ +hqc19zeXM6Ok51bWJlcjo6aXNfc2FmZV9pbnRlZ2VyOjpfX3diZ19pc1NhZmVJbnRlZ2VyX2Y3YjA0\ +ZWYwMjI5NmM0ZDI6OmhlZjEyYTlhZGYzZjk1MTc2Hkxqc19zeXM6OlVpbnQ4QXJyYXk6Omxlbmd0aD\ +o6X193YmdfbGVuZ3RoX2MyMGE0MGYxNTAyMGQ2OGE6OmhiZTIxYzlhZTUzMzQ5MjQ5HzJ3YXNtX2Jp\ +bmRnZW46Ol9fd2JpbmRnZW5fbWVtb3J5OjpoNDFmOTg2OTA0ZDVlMzJiMyBVanNfc3lzOjpXZWJBc3\ +NlbWJseTo6TWVtb3J5OjpidWZmZXI6Ol9fd2JnX2J1ZmZlcl8xMmQwNzljYzIxZTE0YmRiOjpoMWEy\ +NjI4NTZjMzQ1YmVkMCFGanNfc3lzOjpVaW50OEFycmF5OjpuZXc6Ol9fd2JnX25ld182M2I5MmJjOD\ +Y3MWVkNDY0OjpoMWVmNGIwMmU3NjQ4OTAzNyJGanNfc3lzOjpVaW50OEFycmF5OjpzZXQ6Ol9fd2Jn\ +X3NldF9hNDdiYWM3MDMwNmExOWE3OjpoNTUxOWMxMDI4YTVmNjE0NiM6d2FzbV9iaW5kZ2VuOjpfX3\ +diaW5kZ2VuX2pzdmFsX2xvb3NlX2VxOjpoNWMzNWViZGQyYmRhNzg3MSSQAWpzX3N5czo6Xzo6PGlt\ +cGwgd2FzbV9iaW5kZ2VuOjpjYXN0OjpKc0Nhc3QgZm9yIGpzX3N5czo6VWludDhBcnJheT46Omluc3\ +RhbmNlb2Y6Ol9fd2JnX2luc3RhbmNlb2ZfVWludDhBcnJheV8yYjNiYmVjZDAzM2QxOWY2OjpoNWM5\ +Y2QzODhlMTgxY2QxZiWSAWpzX3N5czo6Xzo6PGltcGwgd2FzbV9iaW5kZ2VuOjpjYXN0OjpKc0Nhc3\ +QgZm9yIGpzX3N5czo6QXJyYXlCdWZmZXI+OjppbnN0YW5jZW9mOjpfX3diZ19pbnN0YW5jZW9mX0Fy\ +cmF5QnVmZmVyXzgzNjgyNWJlMDdkNGM5ZDI6Omg1MTEzNGE4OTI5MmYyYzZkJkpqc19zeXM6Ok9iam\ +VjdDo6ZW50cmllczo6X193YmdfZW50cmllc185NWNjMmM4MjNiMjg1YTA5OjpoY2MxM2QwOTMxZmZi\ +MWMyNSc2d2FzbV9iaW5kZ2VuOjpfX3diaW5kZ2VuX3N0cmluZ19uZXc6OmhkMmIxZjUzZDRkZmVhOG\ +M4KDx3YXNtX2JpbmRnZW46Ol9fd2JpbmRnZW5fb2JqZWN0X2Nsb25lX3JlZjo6aDRmZDgzMmIwYzVl\ +MzdmODUpPXdhc21fYmluZGdlbjo6X193YmluZGdlbl9iaWdpbnRfZ2V0X2FzX2k2NDo6aDkxMDY5Nj\ +liNDc4MTA3YWQqOHdhc21fYmluZGdlbjo6X193YmluZGdlbl9kZWJ1Z19zdHJpbmc6OmhiZThlM2Vh\ +ZjJlYjBiNDVmKzF3YXNtX2JpbmRnZW46Ol9fd2JpbmRnZW5fdGhyb3c6OmhkZjIyN2U4ZTRiNmFiM2\ +RiLDZyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6Om5ldzo6aGNjZWFkZmY1MGE4MzAxNmEt\ +PGRlbm9fbG9ja2ZpbGU6OkxvY2tmaWxlQ29udGVudDo6ZnJvbV9qc29uOjpoNjFmNTlhOWI3OWM0Y2\ +U3MS46ZGVub19jb25maWc6OmRlbm9fanNvbjo6Q29uZmlnRmlsZTo6bmV3OjpoOGRhZjY4YTczNTBl\ +Yzc0OS8Wd2FzbXdvcmtzcGFjZV9yZXNvbHZlcjA9aWdub3JlOjpnaXRpZ25vcmU6OkdpdGlnbm9yZU\ +J1aWxkZXI6OmJ1aWxkOjpoMTYyMDFjZjcwZGM1MjA0NDFHcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhv\ +bXBzb246OmNvbXBpbGVyOjpDb21waWxlcjo6Yzo6aGVhYWY0MjM1NTZhZGNhYTcyKXVybDo6aG9zdD\ +o6SG9zdDo6cGFyc2U6OmhjZDI2MWU1OTI5NjUyZTRlM0Vjb3JlOjpmbXQ6OmZsb2F0OjpmbG9hdF90\ +b19kZWNpbWFsX2NvbW1vbl9zaG9ydGVzdDo6aDAyOGY0MTQ4Yjk3MjA0NmM0O3JlZ2V4X2F1dG9tYX\ +RhOjpoeWJyaWQ6OnNlYXJjaDo6ZmluZF9md2Q6OmgwNmM1YzJjMDY1YjgyOTk0NR13YXNtd29ya3Nw\ +YWNlcmVzb2x2ZXJfcmVzb2x2ZTZCY29yZTo6Zm10OjpmbG9hdDo6ZmxvYXRfdG9fZGVjaW1hbF9jb2\ +1tb25fZXhhY3Q6OmgwZDE1ZDY4NGY0NDc2Y2JjN3E8cmVnZXhfc3ludGF4OjpoaXI6OnRyYW5zbGF0\ +ZTo6VHJhbnNsYXRvckkgYXMgcmVnZXhfc3ludGF4Ojphc3Q6OnZpc2l0b3I6OlZpc2l0b3I+Ojp2aX\ +NpdF9wb3N0OjpoN2YyN2QyNzMxMmIwYTliZDg4YWhvX2NvcmFzaWNrOjphdXRvbWF0b246OnRyeV9m\ +aW5kX2Z3ZDo6aDA0ZmMxOTE3YWNjMTZlNmY5TXJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOj\ +pjb21waWxlcjo6Q29tcGlsZXI6OmNvbXBpbGU6OmhlNmIxODEwMjdmNjA3ZTNiOlpkZW5vX2NvbmZp\ +Zzo6d29ya3NwYWNlOjpkaXNjb3Zlcnk6OmhhbmRsZV93b3Jrc3BhY2VfZm9sZGVyX3dpdGhfbWVtYm\ +Vyczo6aDA0Yzk3MmRiMjU1Y2NlZGU7OmRlbm9fc2VtdmVyOjpucG06OnBhcnNlX25wbV92ZXJzaW9u\ +X3JlcTo6aGQyOWRhYmZmYjQ3YmZhNjA8THJlZ2V4X3N5bnRheDo6YXN0Ojp2aXNpdG9yOjpIZWFwVm\ +lzaXRvcjo6dmlzaXRfY2xhc3NfcG9zdDo6aDI1ZDc5MmQxNTkyN2I3NWY9RmFueWhvdzo6Zm10Ojo8\ +aW1wbCBhbnlob3c6OmVycm9yOjpFcnJvckltcGw+OjpkZWJ1Zzo6aDY5OTZiODFhZGM1ZDdjOTg+QW\ +Rlbm9fY29uZmlnOjpnbG9iOjpGaWxlUGF0dGVybnM6OnNwbGl0X2J5X2Jhc2U6Omg1YjgwZjVkZTk2\ +YzY4OWM0P0BpZ25vcmU6OmdpdGlnbm9yZTo6R2l0aWdub3JlQnVpbGRlcjo6YWRkX2xpbmU6OmhhND\ +VlNGMxY2Y3ZTMwZWUyQGRkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpkaXNjb3Zlcnk6OmRpc2NvdmVy\ +X3dvcmtzcGFjZV9jb25maWdfZmlsZXNfZm9yX3NpbmdsZV9kaXI6Omg0MDVlMmY5Mzg0OTRhMzdjQV\ +lkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpkaXNjb3Zlcnk6OnJlc29sdmVfd29ya3NwYWNlX2Zvcl9j\ +b25maWdfZm9sZGVyOjpoODRlMmRjYzgyMGIxMmY5ZkJZZGVub19jb25maWc6OndvcmtzcGFjZTo6ZG\ +lzY292ZXJ5OjpyZXNvbHZlX3dvcmtzcGFjZV9mb3JfY29uZmlnX2ZvbGRlcjo6aDcyNGY2NGU0YzMz\ +Mjc1MjlDTHJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpwaWtldm06OlBpa2VWTTo6c2Vhcm\ +NoX2ltcDo6aGRhMmEzZWIwMmI1YjFjNDBERGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjp0cnlfZmlu\ +ZF9vdmVybGFwcGluZ19md2Q6OmhmY2UyYmRkZjFmZTlmMzgwRVdyZWdleF9hdXRvbWF0YTo6bmZhOj\ +p0aG9tcHNvbjo6cGlrZXZtOjpQaWtlVk06OndoaWNoX292ZXJsYXBwaW5nX2ltcDo6aGU2ZGI0MjEw\ +MjNlN2JmYmRGNnJlZ2V4X3N5bnRheDo6aGlyOjpIaXI6OmFsdGVybmF0aW9uOjpoNTkwMDc4YTU3Nm\ +FiYjg1ZkdxZGVub19jb25maWc6OndvcmtzcGFjZTo6ZGlzY292ZXJ5OjpkaXNjb3Zlcl93b3Jrc3Bh\ +Y2VfY29uZmlnX2ZpbGVzX2Zvcl9zaW5nbGVfZGlyOjp7e2Nsb3N1cmV9fTo6aDU4YTJhZTAxODc2Ym\ +VkZmZIEHdhc21sb2NrZmlsZV9uZXdJOmRsbWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M8QT46Om1h\ +bGxvYzo6aGE5OWUzZWZiMmQ5OGIxOTNKPWRlbm9fbG9ja2ZpbGU6OnRyYW5zZm9ybXM6OnRyYW5zZm\ +9ybTNfdG9fNDo6aGY5MDk3MDYxMzkxOGM4YzFLSmRlbm9fY29uZmlnOjpnbG9iOjpnaXRpZ25vcmU6\ +OkRpckdpdElnbm9yZXM6OmlzX2lnbm9yZWQ6OmhkMjQ2Y2MyZjI1NGZjZTI4TDhhaG9fY29yYXNpY2\ +s6OmF1dG9tYXRvbjo6dHJ5X2ZpbmRfZndkOjpoMWFjYjY1Mzk0YmNmMjExN006cmVnZXhfc3ludGF4\ +Ojphc3Q6OnBhcnNlOjpQYXJzZXI6OnBhcnNlOjpoZjI4NzdkNzZiNjZiNzY5OU5FcmVnZXhfc3ludG\ +F4Ojphc3Q6OnBhcnNlOjpQYXJzZXJJPFA+OjpwYXJzZV9lc2NhcGU6OmhiMWE1OWY0NGQ0ZTBkNWI0\ +TzJ1cmw6OnBhcnNlcjo6UGFyc2VyOjpwYXJzZV9maWxlOjpoNDUxNzMzYWZhODc5NzY4OFBQPGFob1\ +9jb3Jhc2ljazo6bmZhOjpjb250aWd1b3VzOjpORkEgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6\ +aGIwYjc4MTNiM2UzMDdjZDNRF3dhc213b3Jrc3BhY2VfbG9ja19wYXRoUhZ3YXNtd29ya3NwYWNlX2\ +Rpc2NvdmVyUztyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpzZWFyY2g6OmZpbmRfcmV2OjpoNWVlMThl\ +YWM5N2M4NzdmNVR7PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZUlubmVyIG\ +FzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpzZWFyY2hfc2xvdHM6\ +Omg0YTMzNTU2MDkxZDk3NmYyVTxqc29uY19wYXJzZXI6OnBhcnNlX3RvX2FzdDo6Q29udGV4dDo6c2\ +Nhbjo6aDZlYWM0ZjJkNzZhZjY1YmZWcXNlcmRlX2pzb246OnZhbHVlOjpkZTo6PGltcGwgc2VyZGU6\ +OmRlOjpEZXNlcmlhbGl6ZSBmb3Igc2VyZGVfanNvbjo6dmFsdWU6OlZhbHVlPjo6ZGVzZXJpYWxpem\ +U6OmgwYzlkZDQ3YWI4MDQxZGRkV0BhaG9fY29yYXNpY2s6OnV0aWw6OnByZWZpbHRlcjo6QnVpbGRl\ +cjo6YnVpbGQ6OmgyNjQ4YzE2YjkzNGJmMjVlWD5haG9fY29yYXNpY2s6OmFob2NvcmFzaWNrOjpBaG\ +9Db3Jhc2ljazo6bmV3OjpoMGQ5YzFhNTU2MzFkNTJlYVk0aW1wb3J0X21hcDo6cmVzb2x2ZV9pbXBv\ +cnRzX21hdGNoOjpoYmY2MjAwNzhkNmRjYTdiN1o4YWhvX2NvcmFzaWNrOjphdXRvbWF0b246OnRyeV\ +9maW5kX2Z3ZDo6aDE4NWU2MWU5OTQzNzlmYjVbR3JlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OnNlYXJj\ +aDo6ZmluZF9vdmVybGFwcGluZ19md2Q6Omg0YTBjMWJmNTM1MDI4Y2IwXFJkZW5vX2NvbmZpZzo6d2\ +9ya3NwYWNlOjpkaXNjb3Zlcnk6OnJlc29sdmVfcGF0Y2hfY29uZmlnX2ZvbGRlcnM6Omg4OTYyNDUy\ +ZGYwOWI5ZDRhXUdhaG9fY29yYXNpY2s6OmRmYTo6QnVpbGRlcjo6YnVpbGRfZnJvbV9ub25jb250aW\ +d1b3VzOjpoYjg2MDhlYWRhNDJiMzc3NV5bcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmJh\ +Y2t0cmFjazo6Qm91bmRlZEJhY2t0cmFja2VyOjpzZWFyY2hfaW1wOjpoZDVmMmQxNTE5YmYyOWQ0M1\ +9SZGVub19jb25maWc6OndvcmtzcGFjZTo6ZGlzY292ZXJ5OjpyZXNvbHZlX3BhdGNoX2NvbmZpZ19m\ +b2xkZXJzOjpoYjUzMWI0MzRhM2UxNzk1OWAyPCZUIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdD\ +o6aGQ5MDNkNzk2NmVjNDA4Y2VhRnJlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6TGF6eTo6Y2Fj\ +aGVfbmV4dF9zdGF0ZTo6aDYxYmIxYjMzODgyZTIwZDRifDxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3\ +RyYXRlZ3k6OlJldmVyc2VTdWZmaXggYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpT\ +dHJhdGVneT46OnNlYXJjaF9zbG90czo6aDY0NjMxMGNiMmRjN2NmMzdjZTwmbXV0IHNlcmRlX2pzb2\ +46OmRlOjpEZXNlcmlhbGl6ZXI8Uj4gYXMgc2VyZGU6OmRlOjpEZXNlcmlhbGl6ZXI+OjpkZXNlcmlh\ +bGl6ZV9hbnk6OmhjNDUyZDQ4MTkzODhmZDA3ZFdjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOj\ +pJdGVyYXRvcjo6ZmluZF9tYXA6OmNoZWNrOjp7e2Nsb3N1cmV9fTo6aDVlMjZhYWRhNmY2MDYwNDJl\ +OWRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6OldvcmtzcGFjZTo6bmV3OjpoMzczYzgxMTg3ZGUzZmNhY2\ +ZTYWhvX2NvcmFzaWNrOjpuZmE6OmNvbnRpZ3VvdXM6OkJ1aWxkZXI6OmJ1aWxkX2Zyb21fbm9uY29u\ +dGlndW91czo6aGUxMWI4OGQwY2UyNzA2MTRnRDxhaG9fY29yYXNpY2s6OmRmYTo6REZBIGFzIGNvcm\ +U6OmZtdDo6RGVidWc+OjpmbXQ6OmhkYjIxZDgzOThkYTNhNGQ1aERhaG9fY29yYXNpY2s6OmF1dG9t\ +YXRvbjo6dHJ5X2ZpbmRfb3ZlcmxhcHBpbmdfZndkOjpoZThhODM3MDcwMTg3YWM2MGlGcmVnZXhfc3\ +ludGF4OjpoaXI6OnRyYW5zbGF0ZTo6VHJhbnNsYXRvcjo6dHJhbnNsYXRlOjpoMWI5MjdkZWM4OTY4\ +YmMxOWo/cmVnZXhfYXV0b21hdGE6OnV0aWw6OnByZWZpbHRlcjo6Q2hvaWNlOjpuZXc6OmgyYTI3MG\ +E3Y2FjM2NlYmY2azp1cmw6OnBhcnNlcjo6UGFyc2VyOjphZnRlcl9kb3VibGVfc2xhc2g6OmgzYTZi\ +ZDUyZWRjM2JmZTgwbDpqc29uY19wYXJzZXI6OnBhcnNlX3RvX2FzdDo6cGFyc2VfdmFsdWU6Omg4Nj\ +dlMDlhZjQ0YjVhZjZjbUJjb3JlOjpzbGljZTo6c29ydDo6c3RhYmxlOjpxdWlja3NvcnQ6OnF1aWNr\ +c29ydDo6aDlhYWRkZGIyZmY3NzllMDBuUzxhaG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91cz\ +o6TkZBIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhlNDJkZDhkOTc3MjYyMDQxbzpydXN0Y19k\ +ZW1hbmdsZTo6djA6OlByaW50ZXI6OnByaW50X3BhdGg6OmhhMDA5MmM4M2ZhZmU4M2M1cEFyZWdleF\ +9zeW50YXg6Omhpcjo6bGl0ZXJhbDo6RXh0cmFjdG9yOjpleHRyYWN0OjpoMTU2ZWVkMzI0ZTI4Yjc1\ +MXFMPGNvcmU6Om5ldDo6aXBfYWRkcjo6SXB2NkFkZHIgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm\ +10OjpoODZiNzE3NGFlNTY5YzAzM3JKYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bWFwOjpCVHJl\ +ZU1hcDxLLFYsQT46Omluc2VydDo6aGZjYWU2ZDZlMTEyZWUzMWFzQmNvcmU6OnNsaWNlOjpzb3J0Oj\ +pzdGFibGU6OnF1aWNrc29ydDo6cXVpY2tzb3J0OjpoMzViY2E5OTQyOWE2OTRlMnRCY29yZTo6c2xp\ +Y2U6OnNvcnQ6OnN0YWJsZTo6cXVpY2tzb3J0OjpxdWlja3NvcnQ6Omg2NWEyNTRlM2NkZjA1MzlhdV\ +1kZW5vX2NvbmZpZzo6Z2xvYjo6Z2l0aWdub3JlOjpHaXRJZ25vcmVUcmVlOjpnZXRfcmVzb2x2ZWRf\ +Z2l0X2lnbm9yZV9pbm5lcjo6aDBiMDM1ODVlYWRmNTRhZTh2QmNvcmU6OnNsaWNlOjpzb3J0OjpzdG\ +FibGU6OnF1aWNrc29ydDo6cXVpY2tzb3J0OjpoYmEzZTU4NjAxNzFkMTk0OHdlPHNlcmRlX3dhc21f\ +YmluZGdlbjo6ZGU6OkRlc2VyaWFsaXplciBhcyBzZXJkZTo6ZGU6OkRlc2VyaWFsaXplcj46OmRlc2\ +VyaWFsaXplX2FueTo6aDY5OTc2NzlkNGMwZjBkODh4MXJlZ2V4X3N5bnRheDo6aGlyOjpIaXI6OmNv\ +bmNhdDo6aDNmNzgyNDFiZGU5NDdjNWJ5RGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjp0cnlfZmluZF\ +9vdmVybGFwcGluZ19md2Q6OmgwZTBjNTdmNTFlMjgzZjA0ejZkZW5vX2NvbmZpZzo6Z2xvYjo6R2xv\ +YlBhdHRlcm46Om5ldzo6aDg0NGI5OTU0ZmY0NmEyNmV7QHJlZ2V4X2F1dG9tYXRhOjpkZmE6Om9uZX\ +Bhc3M6OkRGQTo6c2VhcmNoX2ltcDo6aDVhMjJhMGFkODBkMmM0MTR8QmNvcmU6OnNsaWNlOjpzb3J0\ +OjpzdGFibGU6OnF1aWNrc29ydDo6cXVpY2tzb3J0OjpoOTRiYWM3NDZmZTk0ZDVlMH0rdXJsOjpQYX\ +JzZU9wdGlvbnM6OnBhcnNlOjpoNzE4NDJmOGU1ZjU2ZjI5Nn5McmVnZXhfc3ludGF4Ojphc3Q6OnBh\ +cnNlOjpQYXJzZXJJPFA+OjpwYXJzZV91bmljb2RlX2NsYXNzOjpoZDBlYTVlMWVlMDQ5ZmExOH8wPC\ +ZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg5NzMwYTJiNWZhMjVmYzhkgAFMcmVnZXhfYXV0\ +b21hdGE6Om1ldGE6OnJlZ2V4OjpCdWlsZGVyOjpidWlsZF9tYW55X2Zyb21faGlyOjpoNWRmNTA1ZD\ +NjMjE4ZTQ0MYEBR3JlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6TGF6eTo6Y2FjaGVfc3RhcnRf\ +Z3JvdXA6OmhkNzJhOTk3YWU5ZDU0YTA1ggFmPGFueWhvdzo6Y29udGV4dDo6UXVvdGVkPCZtdXQgY2\ +9yZTo6Zm10OjpGb3JtYXR0ZXI+IGFzIGNvcmU6OmZtdDo6V3JpdGU+Ojp3cml0ZV9zdHI6Omg0ZTFl\ +ZmRjZjliODAwZDQ0gwFOcmVnZXhfc3ludGF4Ojphc3Q6OnBhcnNlOjpQYXJzZXJJPFA+OjpwYXJzZV\ +9zZXRfY2xhc3NfcmFuZ2U6OmhkNWE1NTE2YmQxOTY2MjkxhAFDYWhvX2NvcmFzaWNrOjpuZmE6Om5v\ +bmNvbnRpZ3VvdXM6OkJ1aWxkZXI6OmJ1aWxkOjpoOTgyZmExNmIxNzIxZTc5OYUBRHJlZ2V4X3N5bn\ +RheDo6YXN0OjpwYXJzZTo6UGFyc2VySTxQPjo6cGFyc2VfZ3JvdXA6Omg1NWJkZWY2YjRkMjA2MjQw\ +hgFDYWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6OkJ1aWxkZXI6OmJ1aWxkOjpoYmYyNm\ +UxNmJjMDIwZDEzZocBQmNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OnF1aWNrc29ydDo6cXVpY2tz\ +b3J0OjpoOWEzN2VjMzliYjgyYjAwYogBQmNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OnF1aWNrc2\ +9ydDo6cXVpY2tzb3J0OjpoMmQ1NmM0YjUwOWQ4OGY2MokBQmNvcmU6OnNsaWNlOjpzb3J0OjpzdGFi\ +bGU6OnF1aWNrc29ydDo6cXVpY2tzb3J0OjpoMmI4MDdmNGU5Y2M5NDdlY4oBO3J1c3RjX2RlbWFuZ2\ +xlOjp2MDo6UHJpbnRlcjo6cHJpbnRfY29uc3Q6OmhiNmI2YWZjMjhjN2UzMTAyiwFCY29yZTo6c2xp\ +Y2U6OnNvcnQ6OnN0YWJsZTo6cXVpY2tzb3J0OjpxdWlja3NvcnQ6OmgxNTFmMWJlNGQ1ODcwODU5jA\ +FCY29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6cXVpY2tzb3J0OjpxdWlja3NvcnQ6Omg2NDg0YTIw\ +Y2YwMmM5NWUxjQEocnl1OjpwcmV0dHk6OmZvcm1hdDY0OjpoNWM0MmE2MmE5NzVmZDFkN44BX2Rlbm\ +9fcGFja2FnZV9qc29uOjpQYWNrYWdlSnNvbjo6cmVzb2x2ZV9sb2NhbF9wYWNrYWdlX2pzb25fZGVw\ +czo6aW5zZXJ0X2RlcHM6OmgyOWMyODNlOTU5OTQ3MGNijwFRcmVnZXhfc3ludGF4Ojphc3Q6OnBhcn\ +NlOjpQYXJzZXJJPFA+OjpwYXJzZV9jb3VudGVkX3JlcGV0aXRpb246OmhiZjgwZmIyNmM2YTY2ZDEw\ +kAFCY29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6cXVpY2tzb3J0OjpxdWlja3NvcnQ6Omg4NjFkYT\ +BjNTE4ODg0MTc3kQFCY29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6cXVpY2tzb3J0OjpxdWlja3Nv\ +cnQ6Omg2NDM0NmFjYjI5YWY3ZmQwkgFCY29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6cXVpY2tzb3\ +J0OjpxdWlja3NvcnQ6OmhmOWYyZDgzOThjNzQ3ZjdlkwFAZGVub19zZW12ZXI6OlZlcnNpb25SZXE6\ +OnBhcnNlX2Zyb21fc3BlY2lmaWVyOjpoYjcyYTA5MjMyOTI2ZmZiZZQBMDwmVCBhcyBjb3JlOjpmbX\ +Q6OkRlYnVnPjo6Zm10OjpoY2JiMjYxOWYzZjRiOGIzZZUBQnJlZ2V4X3N5bnRheDo6YXN0OjpwYXJz\ +ZTo6TmVzdExpbWl0ZXI8UD46OmNoZWNrOjpoODQ3NjI3MGNjMTU5Y2VkYZYBN2FsbG9jOjpzdHI6Oj\ +xpbXBsIHN0cj46OnRvX2xvd2VyY2FzZTo6aDM2ZGZjNTQ4OTkzNmZmYTSXAVVzdGQ6OmJhY2t0cmFj\ +ZV9yczo6cHJpbnQ6OkJhY2t0cmFjZUZyYW1lRm10OjpwcmludF9yYXdfd2l0aF9jb2x1bW46OmgzMm\ +I5NTEyYWUxOWExNzIwmAFQcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmNvbXBpbGVyOjpD\ +b21waWxlcjo6Y19hdF9sZWFzdDo6aGNiMTNmYTdiNjgzNjA2MzaZAVw8Y29yZTo6bWFya2VyOjpQaG\ +FudG9tRGF0YTxUPiBhcyBzZXJkZTo6ZGU6OkRlc2VyaWFsaXplU2VlZD46OmRlc2VyaWFsaXplOjpo\ +ZjExMzQwNGMwNjIzMTI5N5oBN2NvcmU6OnN0cjo6cGF0dGVybjo6U3RyU2VhcmNoZXI6Om5ldzo6aD\ +g4Zjk5NmI4ZjNkNzdiOTGbAXZzZXJkZV9qc29uOjp2YWx1ZTo6ZGU6OjxpbXBsIHNlcmRlOjpkZTo6\ +RGVzZXJpYWxpemVyIGZvciBzZXJkZV9qc29uOjp2YWx1ZTo6VmFsdWU+OjpkZXNlcmlhbGl6ZV9hbn\ +k6OmhlNWE1NzE2YTI1MmFhOTU4nAE5Y29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnQ6OnNv\ +cnQ6OmhiMTRjYmI0YzEwMGE3ZDY3nQE5Y29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnQ6On\ +NvcnQ6OmhmNmNhOTlhMzI2NTBmYjNhngE5Y29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnQ6\ +OnNvcnQ6Omg4YzdjOTJiYWY5NWRjZGU1nwE5Y29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZn\ +Q6OnNvcnQ6OmgwZmJjNTY2MmFjNDIwOTZkoAExc3RkOjpwYXRoOjpDb21wb25lbnRzOjphc19wYXRo\ +OjpoM2VmODlhNDkwMWUyNTcwZKEBOWNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0Ojpzb3\ +J0OjpoMzVjNWViMzQzOTY2YTM2ZaIBOWNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0Ojpz\ +b3J0OjpoOWQ4YWFjMzhmYTg0OWIyMKMBNnVybDo6cGFyc2VyOjpQYXJzZXI6OnBhcnNlX3JlbGF0aX\ +ZlOjpoZjhhOTU0YzhhY2M3MTE5N6QBdnNlcmRlX2pzb246OnZhbHVlOjpkZTo6PGltcGwgc2VyZGU6\ +OmRlOjpEZXNlcmlhbGl6ZXIgZm9yIHNlcmRlX2pzb246OnZhbHVlOjpWYWx1ZT46OmRlc2VyaWFsaX\ +plX2FueTo6aDE1NGQzYWJjMmI2NDZhNDSlAUJjb3JlOjpzbGljZTo6c29ydDo6c3RhYmxlOjpxdWlj\ +a3NvcnQ6OnF1aWNrc29ydDo6aGE1MWVmOGNlMmZhOTQ4MjKmAX1qc29uY19wYXJzZXI6OmFzdDo6PG\ +ltcGwgY29yZTo6Y29udmVydDo6RnJvbTxqc29uY19wYXJzZXI6OmFzdDo6VmFsdWU+IGZvciBzZXJk\ +ZV9qc29uOjp2YWx1ZTo6VmFsdWU+Ojpmcm9tOjpoYzM2ZTQwMDM2ZGRhY2MxYacBOWNvcmU6OnNsaW\ +NlOjpzb3J0OjpzdGFibGU6OmRyaWZ0Ojpzb3J0OjpoZDUzNDg4OWJjMGRhMTgzMKgBdnNlcmRlX2pz\ +b246OnZhbHVlOjpkZTo6PGltcGwgc2VyZGU6OmRlOjpEZXNlcmlhbGl6ZXIgZm9yIHNlcmRlX2pzb2\ +46OnZhbHVlOjpWYWx1ZT46OmRlc2VyaWFsaXplX2FueTo6aDc2NDljNGMxZjUyNzI3OGSpAUk8cnVz\ +dGNfZGVtYW5nbGU6OnYwOjpJZGVudCBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6Omg1MGE3Nj\ +dmMjVkY2FjYWM0qgE6ZGVub19wYXRoX3V0aWw6OnVybF9mcm9tX2ZpbGVfcGF0aF93YXNtOjpoZDYz\ +MTU2YTYxMGQ3Y2UzNasBYWRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6OnJlc29sdmVyOjpXb3Jrc3BhY2\ +VSZXNvbHZlcjo6cmVzb2x2ZV93b3Jrc3BhY2VfanNyX3BrZzo6aDljODFmYzAyZWQxNGMxZDasATlj\ +b3JlOjpzbGljZTo6c29ydDo6c3RhYmxlOjpkcmlmdDo6c29ydDo6aDYzNzhiNmYxNmY3ZTJjZWKtAU\ +phbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjptYXA6OkJUcmVlTWFwPEssVixBPjo6aW5zZXJ0Ojpo\ +NDQ4NzYwZjdmYjg3ZmNjMq4BOWNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0Ojpzb3J0Oj\ +poMDI0MThlNDEyOGJjMWEwNa8BOWNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0Ojpzb3J0\ +OjpoMDQ5NGMwMGVjYjZjZGJkYrABMHNlcmRlX2pzb246OmVycm9yOjptYWtlX2Vycm9yOjpoOWQyZm\ +IyNWE1Yzg4ZDA0NbEBQ2Rlbm9fc2VtdmVyOjpwYWNrYWdlOjpQYWNrYWdlUmVxOjpmcm9tX3N0cl9s\ +b29zZTo6aDRmZWJiMTdlZDhhNjNlYWGyAV9hbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjptYXA6Ok\ +JUcmVlTWFwPEssVixBPjo6YnVsa19idWlsZF9mcm9tX3NvcnRlZF9pdGVyOjpoNTFmZTcwM2FjMTVh\ +MjljN7MBMnVybDo6cGFyc2VyOjpQYXJzZXI6OnBhcnNlX3BhdGg6OmhjMDdlODc3MTkxY2E5Mzk3tA\ +FsPGNvcmU6Oml0ZXI6OnNvdXJjZXM6OmZyb21fZm46OkZyb21GbjxGPiBhcyBjb3JlOjppdGVyOjp0\ +cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6Omg2MmM0OTlmY2RjOTNiODUztQE/cmVnZX\ +hfc3ludGF4OjpoaXI6OmxpdGVyYWw6OkV4dHJhY3Rvcjo6Y3Jvc3M6Omg1MWVhZTRiY2U0YTdhYmQ0\ +tgFHcmVnZXhfYXV0b21hdGE6Omh5YnJpZDo6ZGZhOjpCdWlsZGVyOjpidWlsZF9mcm9tX25mYTo6aD\ +RkNjFkNWI1ZTcxYjdkZTW3AUdydXN0Y19kZW1hbmdsZTo6djA6OlByaW50ZXI6OnByaW50X3R5cGU6\ +Ont7Y2xvc3VyZX19OjpoMGM4NDZjZTEwZGMyZDE3OLgBQGhhc2hicm93bjo6cmF3OjpSYXdUYWJsZT\ +xULEE+OjpyZXNlcnZlX3JlaGFzaDo6aDVkMGNkM2E3OWZhZGZjNWK5ATpydXN0Y19kZW1hbmdsZTo6\ +djA6OlByaW50ZXI6OnByaW50X3R5cGU6OmhmZGI3MTZjM2ZjOWE1OGVkugFLcmVnZXhfc3ludGF4Oj\ +phc3Q6OnBhcnNlOjpQYXJzZXJJPFA+OjpwYXJzZV9jYXB0dXJlX25hbWU6OmgzMmVkZTllM2Y1MzQ2\ +OTVkuwF2PHNlcmRlOjpfX3ByaXZhdGU6OmRlOjpjb250ZW50OjpDb250ZW50RGVzZXJpYWxpemVyPE\ +U+IGFzIHNlcmRlOjpkZTo6RGVzZXJpYWxpemVyPjo6ZGVzZXJpYWxpemVfc2VxOjpoZDI4ZDJkZjUz\ +MDQxZjgzYbwBP3JlZ2V4X2F1dG9tYXRhOjptZXRhOjpyZXZlcnNlX2lubmVyOjpmbGF0dGVuOjpoOT\ +M4M2RjNTViMGE2ZjI3Ob0BP3VybDo6cGFyc2VyOjpQYXJzZXI6OndpdGhfcXVlcnlfYW5kX2ZyYWdt\ +ZW50OjpoMmQ0ODBlOTMyOWZkMjViOb4BPGFob19jb3Jhc2ljazo6cGFja2VkOjphcGk6OkJ1aWxkZX\ +I6OmJ1aWxkOjpoZDkwZWRhZWZkMGVmMjU0Ob8BQGhhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+\ +OjpyZXNlcnZlX3JlaGFzaDo6aDhkODNmMmFkNWI4OWQzYTHAATdpbXBvcnRfbWFwOjpwYXJzZV9zcG\ +VjaWZpZXJfbWFwX2pzb246Omg2ZWYzODk1MTQ4Y2Q5MGI3wQFAcmVnZXhfYXV0b21hdGE6Omh5YnJp\ +ZDo6ZGZhOjpMYXp5Ojppbml0X2NhY2hlOjpoMmQ3YmIyYmEwNjg5MTEzNMIBMmltcG9ydF9tYXA6On\ +BhcnNlX3NwZWNpZmllcl9tYXA6OmhlYTg5ZmUzNDgwZmU2MGQwwwFZPHJlZ2V4X2F1dG9tYXRhOjp1\ +dGlsOjphbHBoYWJldDo6Qnl0ZUNsYXNzZXMgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGQ4Yz\ +RiOWIyMDY1MDMyNWHEATxkZW5vX3BhY2thZ2VfanNvbjo6UGFja2FnZUpzb246OnNwZWNpZmllcjo6\ +aGNkZjllMzYyM2M4YzVlNzPFAUhyZWdleF9zeW50YXg6OmFzdDo6cGFyc2U6OlBhcnNlckk8UD46On\ +BhcnNlX3NldF9jbGFzczo6aDM2NjAwNjcwYjNkNjEzZDfGATFjb3JlOjpzdHI6OnNsaWNlX2Vycm9y\ +X2ZhaWxfcnQ6OmgwZmNhZTNhMDRkMDNlYmQ4xwFCcmVnZXhfc3ludGF4Ojphc3Q6OnBhcnNlOjpQYX\ +JzZXJJPFA+Ojpwb3BfZ3JvdXA6OmhlOTMxZjFiZjNhNmRmZDQ1yAE5Y29yZTo6c2xpY2U6OnNvcnQ6\ +OnN0YWJsZTo6ZHJpZnQ6OnNvcnQ6Omg0OWFjNDNiMTQyNjRiZmFkyQE5Y29yZTo6c2xpY2U6OnNvcn\ +Q6OnN0YWJsZTo6ZHJpZnQ6OnNvcnQ6OmgzMjQzZmMwOGQ2YTJiY2JkygE5Y29yZTo6c2xpY2U6OnNv\ +cnQ6OnN0YWJsZTo6ZHJpZnQ6OnNvcnQ6Omg1NzcxOWU1NjY0NmJmMjJmywFTPHNlcmRlX2pzb246On\ +JlYWQ6OlN0clJlYWQgYXMgc2VyZGVfanNvbjo6cmVhZDo6UmVhZD46OnBhcnNlX3N0cjo6aDk4ZDQw\ +YTI0ZTNmNWEwZDLMAX48cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpSZXZlcnNlQW5jaG\ +9yZWQgYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OnNlYXJjaF9z\ +bG90czo6aGUwMDA0MjBkYWYyMTM3MzDNATljb3JlOjpzbGljZTo6c29ydDo6c3RhYmxlOjpkcmlmdD\ +o6c29ydDo6aGUyMTg5OTBmZmNmNTNlNWXOAUZhaG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91\ +czo6UXVldWVkU2V0OjppbnNlcnQ6OmgxOWVkNGZiOWQ5NDFjYWRhzwFKcmVnZXhfc3ludGF4OjpoaX\ +I6OmxpdGVyYWw6OlNlcTo6b3B0aW1pemVfYnlfcHJlZmVyZW5jZTo6aDIxNDZhMzA4YTkzMWMyMTbQ\ +AUJkZW5vX2NvbmZpZzo6Z2xvYjo6UGF0aE9yUGF0dGVybjo6ZnJvbV9yZWxhdGl2ZTo6aDUzYzMxZW\ +RmYjAxOTZmZDfRAVA8aW5kZXhtYXA6Om1hcDo6SW5kZXhNYXA8SyxWLFM+IGFzIGNvcmU6OmNsb25l\ +OjpDbG9uZT46OmNsb25lOjpoOTA2NjUxNjA3OGI0ZTg2NNIBQ2luZGV4bWFwOjptYXA6OkluZGV4TW\ +FwPEssVixTPjo6c3dhcF9yZW1vdmVfZnVsbDo6aGI5MzJiNmRmNTU4ZmFmNDHTAVdhaG9fY29yYXNp\ +Y2s6Om5mYTo6bm9uY29udGlndW91czo6Q29tcGlsZXI6OmZpbGxfZmFpbHVyZV90cmFuc2l0aW9ucz\ +o6aDI0ODUzOGI5NGEwMjYyY2HUASx1cmw6Omhvc3Q6OnBhcnNlX2lwdjZhZGRyOjpoOGYyOGFhMmU2\ +MGY5YmQ2M9UBQGhhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6aD\ +BmNTJlZjhiMzMzNDFjOTHWAVFtZW1jaHI6Om1lbW1lbTo6c2VhcmNoZXI6OnNlYXJjaGVyX2tpbmRf\ +dHdvX3dheV93aXRoX3ByZWZpbHRlcjo6aDE5MmUyNDY4MDRhNjU4YWTXAUA8c3RkOjpwYXRoOjpQYX\ +RoQnVmIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgyODgwYThiNTA3ZDY0NjRk2AFGYWhvX2Nv\ +cmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6OkNvbXBpbGVyOjpzaHVmZmxlOjpoZDJiZjQ2YTNjMm\ +E4YWE4OdkBTHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpsaW1pdGVkOjpoeWJyaWRfdHJ5X3NlYXJjaF9o\ +YWxmX3Jldjo6aDI3YmNmZTE2NzFiMTA0MzjaAX1kZW5vX2xvY2tmaWxlOjpfOjo8aW1wbCBzZXJkZT\ +o6ZGU6OkRlc2VyaWFsaXplIGZvciBkZW5vX2xvY2tmaWxlOjpMb2NrZmlsZVBhY2thZ2VKc29uQ29u\ +dGVudD46OmRlc2VyaWFsaXplOjpoOTE5YThiMTNkNzBlMDI0Y9sBUDxpbmRleG1hcDo6bWFwOjpJbm\ +RleE1hcDxLLFYsUz4gYXMgY29yZTo6Y2xvbmU6OkNsb25lPjo6Y2xvbmU6OmhmODI0Y2U5MDVkMTlh\ +MjM03AFvc2VyZGVfanNvbjo6dmFsdWU6OnNlcjo6PGltcGwgc2VyZGU6OnNlcjo6U2VyaWFsaXplIG\ +ZvciBzZXJkZV9qc29uOjp2YWx1ZTo6VmFsdWU+OjpzZXJpYWxpemU6Omg0OTI3MWQ4YzNmYTg1OGUy\ +3QFaPGNvcmU6OnN0cjo6cGF0dGVybjo6U3RyU2VhcmNoZXIgYXMgY29yZTo6c3RyOjpwYXR0ZXJuOj\ +pTZWFyY2hlcj46Om5leHQ6Omg2MDNiYTlkZDAyOTUxYWU23gE+aW5kZXhtYXA6Om1hcDo6SW5kZXhN\ +YXA8SyxWLFM+Ojpzd2FwX3JlbW92ZTo6aDFmNmQwYzFkMDA5NTA4MjHfAWY8cmVnZXhfc3ludGF4Oj\ +p1dGY4OjpVdGY4U2VxdWVuY2VzIGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJh\ +dG9yPjo6bmV4dDo6aDY1MjFiZjg4YTcxYTIwYjXgAXRkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpyZX\ +NvbHZlcjo6V29ya3NwYWNlUmVzb2x2ZXI6Om1heWJlX3Jlc29sdmVfc3BlY2lmaWVyX3RvX3dvcmtz\ +cGFjZV9qc3JfcGtnOjpoODUwMDFmMjczNjk2ZWNhNOEBRWRlbm9fc2VtdmVyOjpqc3I6OkpzclBhY2\ +thZ2VSZXFSZWZlcmVuY2U6OmZyb21fc3RyOjpoNzZkOGRmZDc2M2QzMWI5N+IBMDwmVCBhcyBjb3Jl\ +OjpmbXQ6OkRlYnVnPjo6Zm10OjpoZjYwNTRiMTc3M2E3NGNlMuMBTXJlZ2V4X3N5bnRheDo6YXN0Oj\ +pwYXJzZTo6UGFyc2VySTxQPjo6cGFyc2Vfc2V0X2NsYXNzX29wZW46Omg5NTIzZmVkNTU0NjJiZTM2\ +5AFIY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X3N5bnRheDo6YXN0OjpDbGFzc1NldD46Om\ +g0NWRlNjkyMmJhYmZmMzNm5QFLcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmNvbXBpbGVy\ +OjpDb21waWxlcjo6Y19jYXA6OmhmZmJjNDdhYzhlOTg4Mjk05gF1PHJlZ2V4X2F1dG9tYXRhOjptZX\ +RhOjpzdHJhdGVneTo6UmV2ZXJzZUlubmVyIGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVn\ +eTo6U3RyYXRlZ3k+OjpzZWFyY2g6OmhiOTY3NDE0MGQ0Mjg1MmQ45wFHaGFzaGJyb3duOjpyYXc6Om\ +lubmVyOjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6aGIzNDY3YTExYTI0NWY2M2LoASlt\ +b25jaDo6b3I6Ont7Y2xvc3VyZX19OjpoODQ3NGQzOGMzODg0MDA2Y+kBejxyZWdleF9hdXRvbWF0YT\ +o6bWV0YTo6c3RyYXRlZ3k6OlJldmVyc2VJbm5lciBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3Ry\ +YXRlZ3k6OlN0cmF0ZWd5Pjo6c2VhcmNoX2hhbGY6OmgxZmFhNjg3MzdkN2ExNDg46gFuPHN0ZDo6cG\ +F0aDo6Q29tcG9uZW50cyBhcyBjb3JlOjppdGVyOjp0cmFpdHM6OmRvdWJsZV9lbmRlZDo6RG91Ymxl\ +RW5kZWRJdGVyYXRvcj46Om5leHRfYmFjazo6aDc5YjhkNTAzYWUxZjE4ZDLrASp1cmw6OlVybDo6bW\ +FrZV9yZWxhdGl2ZTo6aDg5N2RiNzk4MmFkMmJlNDfsAUFyZWdleF9hdXRvbWF0YTo6dXRpbDo6Y2Fw\ +dHVyZXM6Okdyb3VwSW5mbzo6bmV3OjpoMTk4YjYyNjNmYjBiMmY3N+0BSnJlZ2V4X3N5bnRheDo6aG\ +lyOjppbnRlcnZhbDo6SW50ZXJ2YWxTZXQ8ST46OmRpZmZlcmVuY2U6Omg3Y2NiZmE3OTI2YmU5ZDE0\ +7gFOPGxvYWRlcjo6V2FzbUZzIGFzIGRlbm9fY29uZmlnOjpmczo6RGVub0NvbmZpZ0ZzPjo6cmVhZF\ +9kaXI6Omg3MmIzYTM2NGJmODcwODI47wEwY29yZTo6b3BzOjpmdW5jdGlvbjo6Rm46OmNhbGw6Omgy\ +NWM5NmJiZWVkNjM4MTJh8AFvc2VyZGVfanNvbjo6dmFsdWU6OnNlcjo6PGltcGwgc2VyZGU6OnNlcj\ +o6U2VyaWFsaXplIGZvciBzZXJkZV9qc29uOjp2YWx1ZTo6VmFsdWU+OjpzZXJpYWxpemU6OmgxMjEy\ +N2Q0Yzc5Mzg5NmYx8QF2c2VyZGVfanNvbjo6dmFsdWU6OmRlOjo8aW1wbCBzZXJkZTo6ZGU6OkRlc2\ +VyaWFsaXplciBmb3Igc2VyZGVfanNvbjo6dmFsdWU6OlZhbHVlPjo6ZGVzZXJpYWxpemVfc2VxOjpo\ +MzQzMjIzZDg2ZDkxNDY3Y/IBQm1lbWNocjo6bWVtbWVtOjpzZWFyY2hlcjo6c2VhcmNoZXJfa2luZF\ +90d29fd2F5OjpoNjRjYWEwNjA2MmY3MTM1OfMBSmRlbm9fY29uZmlnOjpkZW5vX2pzb246OkNvbmZp\ +Z0ZpbGU6OnRvX3dvcmtzcGFjZV9jb25maWc6OmhmY2JlY2M2OGNiYWY1N2M39AFLcmVnZXhfYXV0b2\ +1hdGE6Om1ldGE6OnN0b3BhdDo6aHlicmlkX3RyeV9zZWFyY2hfaGFsZl9md2Q6OmhmODU0NWQ1N2Q4\ +MmU5Mjhj9QFCZGVub19jb25maWc6OndvcmtzcGFjZTo6V29ya3NwYWNlRGlyZWN0b3J5OjpuZXc6Om\ +g5NzljNWI1NWFkM2I3NzY29gFGPHN0ZDo6cGF0aDo6Q29tcG9uZW50cyBhcyBjb3JlOjpjbXA6OlBh\ +cnRpYWxFcT46OmVxOjpoZmI0NzExZGI2OWNlZDk4M/cBDl9fcnVzdF9yZWFsbG9j+AE5cnVzdGNfZG\ +VtYW5nbGU6OnYwOjpQcmludGVyOjppbl9iaW5kZXI6OmhkYzY5YmRkOWU1YTRjY2M3+QExPHN0ciBh\ +cyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoYjQ4NDIyYTM1NGM4ODZiM/oBHndhc213b3Jrc3BhY2\ +Vfbm9kZV9tb2R1bGVzX2RpcvsBWjxzdGQ6OnBhdGg6OkNvbXBvbmVudHMgYXMgY29yZTo6aXRlcjo6\ +dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoNzM2MDBjMjA4MTlmMjRhNvwBTzxsb2\ +FkZXI6Oldhc21GcyBhcyBkZW5vX2NvbmZpZzo6ZnM6OkRlbm9Db25maWdGcz46OnN0YXRfc3luYzo6\ +aGEyZTJiOWY4YjZhZmM3Y2L9AT1kZW5vX2xvY2tmaWxlOjp0cmFuc2Zvcm1zOjp0cmFuc2Zvcm0yX3\ +RvXzM6OmgxYjkzOTQ2NTc3ZjQwZTIz/gExc3RkOjpwYXRoOjpQYXRoOjpfc3RyaXBfcHJlZml4Ojpo\ +ODE3MTAwZmU0Yzc2OTg1Yf8BNmRlbm9fc2VtdmVyOjpucG06OnBhcnNlX25wbV92ZXJzaW9uOjpoMz\ +llNzJkNjJmY2EyZDRmYYACQmNvcmU6Om51bTo6Zmx0MmRlYzo6c3RyYXRlZ3k6OmRyYWdvbjo6bXVs\ +X3BvdzEwOjpoZjBiOTdmNmE2MDU3ZjFmNoECQzxhbGxvYzo6c3luYzo6QXJjPFQsQT4gYXMgY29yZT\ +o6Zm10OjpEZWJ1Zz46OmZtdDo6aDhkYWVhNmQxYTUxODkyNzOCAiBfX3diZ193YXNtd29ya3NwYWNl\ +cmVzb2x2ZXJfZnJlZYMCPHVuaWNvZGVfbm9ybWFsaXphdGlvbjo6bm9ybWFsaXplOjpjb21wb3NlOj\ +poMzhkY2I5YzUxZWY4ZjlhYYQCY2xvYWRlcjo6Xzo6PGltcGwgc2VyZGU6OmRlOjpEZXNlcmlhbGl6\ +ZSBmb3IgbG9hZGVyOjpXYXNtRnNNZXRhZGF0YT46OmRlc2VyaWFsaXplOjpoOThlMTg4Yjk3OTc1ZG\ +I3OYUCS2Rlbm9fc2VtdmVyOjpwYWNrYWdlOjpQYWNrYWdlUmVxOjpwYXJzZV93aXRoX3BhdGhfc3Ry\ +aWN0OjpoN2ZlYjI5MTNjODRhNDk0NIYCSjxyZWdleF9zeW50YXg6Omhpcjo6SGlyIGFzIGNvcmU6Om\ +9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhiODhmNWM3ZjIxY2M5MzBmhwJ2PHJlZ2V4X2F1dG9tYXRh\ +OjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZVN1ZmZpeCBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3\ +RyYXRlZ3k6OlN0cmF0ZWd5Pjo6c2VhcmNoOjpoMTE0OTY2OGUxNTA3M2FhYYgCMmltcG9ydF9tYXA6\ +OmV4dDo6ZXhwYW5kX2ltcG9ydHM6OmgxMTg0YzQzZDAwNTZlNDBiiQJ7PHJlZ2V4X2F1dG9tYXRhOj\ +ptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZVN1ZmZpeCBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3Ry\ +YXRlZ3k6OlN0cmF0ZWd5Pjo6c2VhcmNoX2hhbGY6Omg0OWRkMDhlNDFmZTdkNTY4igIubWVtY2hyOj\ +ptZW1tZW06OkZpbmRlcjo6bmV3OjpoMmFhNzM1MDljNzU5OWI1YYsCRHJlZ2V4X3N5bnRheDo6YXN0\ +OjpwYXJzZTo6UGFyc2VySTxQPjo6cGFyc2VfZmxhZ3M6Omg0OTQ0Mjg2M2NjNmQ2MzRljAJKcmVnZX\ +hfc3ludGF4OjpoaXI6OmludGVydmFsOjpJbnRlcnZhbFNldDxJPjo6ZGlmZmVyZW5jZTo6aDA3NGYw\ +ZDRmOWIzNGMzODONAlByZWdleF9zeW50YXg6OmFzdDo6cGFyc2U6OlBhcnNlckk8UD46Om1heWJlX3\ +BhcnNlX2FzY2lpX2NsYXNzOjpoYjk0ZjY3ZTk4NWEyZmIwN44CSHJlZ2V4X3N5bnRheDo6YXN0Ojpw\ +YXJzZTo6UGFyc2VySTxQPjo6cGFyc2VfaGV4X2JyYWNlOjpoYjZjNGI1Y2E0NjBjMmE5Yo8CMDwmVC\ +BhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoOTVjZTcxYTBkODdmNGQ0MJACR3J1c3RjX2RlbWFu\ +Z2xlOjp2MDo6UHJpbnRlcjo6cHJpbnRfY29uc3Rfc3RyX2xpdGVyYWw6Omg5YzRlZjM4ODcxZjY0Y2\ +Y2kQIsY29yZTo6Zm10OjpGb3JtYXR0ZXI6OnBhZDo6aGRhZDNlMjViYTA1MzI4YjCSAnc8cmVnZXhf\ +YXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpSZXZlcnNlSW5uZXIgYXMgcmVnZXhfYXV0b21hdGE6Om\ +1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OmlzX21hdGNoOjpoYjY0OThmNjg0MGE4NmJkNJMCb3Nl\ +cmRlX2pzb246OnZhbHVlOjpzZXI6OjxpbXBsIHNlcmRlOjpzZXI6OlNlcmlhbGl6ZSBmb3Igc2VyZG\ +VfanNvbjo6dmFsdWU6OlZhbHVlPjo6c2VyaWFsaXplOjpoYjA1NGIwZTcwMzQ1MmQ3NpQCVzxhaG9f\ +Y29yYXNpY2s6OnV0aWw6OmFscGhhYmV0OjpCeXRlQ2xhc3NlcyBhcyBjb3JlOjpmbXQ6OkRlYnVnPj\ +o6Zm10OjpoMDFjN2JiNWJmZjk3YTE5NpUCRXJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpkZXRlcm1pbml6\ +ZTo6ZXBzaWxvbl9jbG9zdXJlOjpoMmQzNTFkZmMyODVjOTg5MJYCWGRlbm9fY29uZmlnOjpkZW5vX2\ +pzb246OkNvbmZpZ0ZpbGU6OnRvX2V4cG9ydHNfY29uZmlnOjp2YWxpZGF0ZV92YWx1ZTo6aDhlMTc5\ +NjdkZmI4YTY4ODCXAkVjb3JlOjpjaGFyOjptZXRob2RzOjo8aW1wbCBjaGFyPjo6ZXNjYXBlX2RlYn\ +VnX2V4dDo6aDY2MTc1Y2QwNTZiOThhMWaYAixkZW5vX3NlbXZlcjo6bnBtOjpwYXJ0aWFsOjpoZmYy\ +YjE1YzdiMzg2YmQwY5kCSmNvcmU6OmNoYXI6Om1ldGhvZHM6OjxpbXBsIGNoYXI+Ojplc2NhcGVfZG\ +VidWdfZXh0OjpoNjYxNzVjZDA1NmI5OGExZi4xNjY4mgJOcnVzdGNfZGVtYW5nbGU6OnYwOjpQcmlu\ +dGVyOjpwcmludF9wYXRoX21heWJlX29wZW5fZ2VuZXJpY3M6OmgwYjZhZjRmZGU0MTkyOWU3mwJFPH\ +NlcmRlOjpkZTo6VW5leHBlY3RlZCBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6OmhlMTQwZWM5\ +NGI0YTJiZjY4nAI4ZGVub19wYXRoX3V0aWw6Om5vcm1hbGl6ZV9wYXRoOjppbm5lcjo6aGM4NGRhNz\ +NjMzAxMzFlZGOdAjRydXN0Y19kZW1hbmdsZTo6djA6OlBhcnNlcjo6aWRlbnQ6OmhmMGRkMzAwNWI5\ +YmM0ZGIyngJDY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X3N5bnRheDo6YXN0OjpBc3Q+Oj\ +poNmFhMjA3MGRiMjQ3MTYxNJ8CMmNvbXBpbGVyX2J1aWx0aW5zOjptZW06Om1lbW1vdmU6OmhiMzA3\ +OWYyMDg2NThjNDlloAJPcmVnZXhfc3ludGF4OjpoaXI6OnRyYW5zbGF0ZTo6VHJhbnNsYXRvckk6Om\ +hpcl91bmljb2RlX2NsYXNzOjpoOGE4NDdlMjg2NDUxZDc1OKECeXNlcmRlX2pzb246OnZhbHVlOjpp\ +bmRleDo6PGltcGwgY29yZTo6b3BzOjppbmRleDo6SW5kZXhNdXQ8ST4gZm9yIHNlcmRlX2pzb246On\ +ZhbHVlOjpWYWx1ZT46OmluZGV4X211dDo6aDcwZTZlOWE2ZTA3MDkyY2aiAjpjb3JlOjpudW06OmJp\ +Z251bTo6QmlnMzJ4NDA6Om11bF9kaWdpdHM6Omg5NmM0MjdjOGEzZjAxOTMzowI+cnVzdGNfZGVtYW\ +5nbGU6OnYwOjpQcmludGVyOjpwcmludF9zZXBfbGlzdDo6aDM0MzRmM2UzY2QzY2NkZWGkAjljb3Jl\ +OjpvcHM6OmZ1bmN0aW9uOjpGbk9uY2U6OmNhbGxfb25jZTo6aGYzMWI5NzQzOThiYTJmNDClAkI8dX\ +JsOjpob3N0OjpIb3N0PFM+IGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aGZjMDAxZmEzYmIy\ +MzdmNmKmAjFjb3JlOjpzdHI6OmNvbnZlcnRzOjpmcm9tX3V0Zjg6Omg2MWQ4MmYzNmE0ZDRkNTNipw\ +JzPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6Q29yZSBhcyByZWdleF9hdXRvbWF0YTo6\ +bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6c2VhcmNoX3Nsb3RzOjpoYTYzYjkwNDQ4OWM2MTNkOa\ +gCQnJlZ2V4X2F1dG9tYXRhOjptZXRhOjpyZWdleDo6QnVpbGRlcjo6Y29uZmlndXJlOjpoYzMyZDEy\ +NjFiOTIxYzU2Y6kCM2NvcmU6OnN0cjo6Y291bnQ6OmRvX2NvdW50X2NoYXJzOjpoNTYxMmY1Y2VhMT\ +VlOGYzZqoCOWluZGV4bWFwOjptYXA6OkluZGV4TWFwPEssVixTPjo6aW5zZXJ0OjpoM2NmZGIyMDFh\ +MjE5MjlmNasCOWluZGV4bWFwOjptYXA6OkluZGV4TWFwPEssVixTPjo6aW5zZXJ0OjpoNjlkMjA3Mj\ +E4Yjg2NzdiZqwCOGRsbWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M8QT46OmZyZWU6OmgwMGNlNjc3\ +ZTM2YjRlMjA5rQI5Z2xvYnNldDo6Z2xvYjo6VG9rZW5zOjp0b2tlbnNfdG9fcmVnZXg6Omg4MzEzZG\ +FlMzUxODNiYmQ0rgI5aW5kZXhtYXA6Om1hcDo6SW5kZXhNYXA8SyxWLFM+OjppbnNlcnQ6OmhiOWQ2\ +MDJiMWVlZTk1MDg4rwJEanNvbmNfcGFyc2VyOjpwYXJzZV90b19hc3Q6OnBhcnNlX29iamVjdF9wcm\ +9wZXJ0eTo6aDQxYzZjMDBmZDBlODM2NmGwAjNkZW5vX3NlbXZlcjo6bnBtOjpwcmltaXRpdmVfa2lu\ +ZDo6aDhkMzE5N2RiODQzZTllNDGxAlNyZWdleF9zeW50YXg6OmFzdDo6cGFyc2U6OlBhcnNlckk8UD\ +46OnBhcnNlX3VuY291bnRlZF9yZXBldGl0aW9uOjpoZmI1ZjYzZTUyYTczYTc0ZLICbmNvcmU6OnB0\ +cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9wdGlvbjxhbGxvYzo6cmM6OlJjPGlnbm9yZT\ +o6Z2l0aWdub3JlOjpHaXRpZ25vcmU+Pj46OmgzMjk1MDJkNjNhMjc5NjhhswJFYWhvX2NvcmFzaWNr\ +OjpkZmE6OkJ1aWxkZXI6OmZpbmlzaF9idWlsZF9vbmVfc3RhcnQ6OmhiYjZjYmVmMTk4OWQ3N2MxtA\ +I5aW5kZXhtYXA6Om1hcDo6SW5kZXhNYXA8SyxWLFM+OjppbnNlcnQ6OmhiZWZiMDMxNjgzOTRjYmVk\ +tQIzZGVub19wYXRoX3V0aWw6OnVybF90b19maWxlX3BhdGg6OmhiYmQwNDQ4Mjk4NTBmMDE2tgJHPH\ +JlZ2V4X3N5bnRheDo6aGlyOjpIaXIgYXMgY29yZTo6Y21wOjpQYXJ0aWFsRXE+OjplcTo6aDFkNmRi\ +OTdmYjA1MmE3YWK3Amw8Y29yZTo6aXRlcjo6YWRhcHRlcnM6OkdlbmVyaWNTaHVudDxJLFI+IGFzIG\ +NvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aGEyMGUzM2I5Mzdl\ +NGJlZTi4Ahx3YXNtbG9ja2ZpbGVfcGFja2FnZV92ZXJzaW9uuQI9ZGVub19zZW12ZXI6OnBhY2thZ2\ +U6OlBhY2thZ2VSZXE6OmZyb21fc3RyOjpoNjRhOTc4MzVhYzNmNDdlNboCaDxjb3JlOjppdGVyOjph\ +ZGFwdGVyczo6bWFwOjpNYXA8SSxGPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdG\ +VyYXRvcj46Om5leHQ6OmgyZGY1MzIxOTFjYjk2N2QzuwIxYWxsb2M6OnNsaWNlOjo8aW1wbCBbVF0+\ +Ojpqb2luOjpoZDFmY2Y1NDhmZWE5YTgyNLwCSGFob19jb3Jhc2ljazo6bmZhOjpub25jb250aWd1b3\ +VzOjpORkE6OmFkZF90cmFuc2l0aW9uOjpoOWMzNTc0NTUyMDgzZTNmZL0COXJ1c3RjX2RlbWFuZ2xl\ +Ojp2MDo6UHJpbnRlcjo6aW5fYmluZGVyOjpoMTIzZjg2ZDFlNWMxZWMzOL4CRnJlZ2V4X3N5bnRheD\ +o6YXN0OjpwYXJzZTo6UGFyc2VySTxQPjo6cG9wX2dyb3VwX2VuZDo6aDRlOWE0YTU2OGIyMGRkOGa/\ +AkZhaG9fY29yYXNpY2s6OnBhY2tlZDo6cmFiaW5rYXJwOjpSYWJpbkthcnA6OmZpbmRfYXQ6Omg5ZD\ +VjYzBmOWRlYmZiMDJkwAIwc3RkOjpwYXRoOjpQYXRoOjpfc3RhcnRzX3dpdGg6Omg5NzViODI5NDM4\ +NWQ0OTM5wQJbY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6Ol\ +dvcmtzcGFjZURpc2NvdmVyRXJyb3I+OjpoNmQzMDMyMmVmNTkxZWJiZcICVHJlZ2V4X3N5bnRheDo6\ +aGlyOjpsaXRlcmFsOjpQcmVmZXJlbmNlVHJpZTo6bWluaW1pemU6Ont7Y2xvc3VyZX19OjpoMWJlZD\ +IyNWM2ZmE5MTYwOcMCNWNvcmU6OmZtdDo6Rm9ybWF0dGVyOjpwYWRfaW50ZWdyYWw6Omg3ZGFlOTFm\ +YzE0OGExYWVmxAIvY29yZTo6c2xpY2U6Om1lbWNocjo6bWVtcmNocjo6aGUxZTAzZjhmZjRjM2ZkZD\ +bFAj9ydXN0Y19kZW1hbmdsZTo6djA6OlByaW50ZXI6OnByaW50X2R5bl90cmFpdDo6aDQ4NzQ2ZGUw\ +OGQ3NGRhNmXGAiNjb3JlOjpmbXQ6OndyaXRlOjpoYmJjZDRiMzI4ZjkyZDNjNccCQXJlZ2V4X3N5bn\ +RheDo6dW5pY29kZTo6c3ltYm9saWNfbmFtZV9ub3JtYWxpemU6Omg4OGZjZWIwYWEzNzhlODkzyAIw\ +Y29yZTo6b3BzOjpmdW5jdGlvbjo6Rm46OmNhbGw6OmgxODFjZTk4OWFlM2FkMWZhyQI+YWhvX2Nvcm\ +FzaWNrOjp1dGlsOjpwcmVmaWx0ZXI6OkJ1aWxkZXI6OmFkZDo6aDAzMjk4MDkwYTk4YWFkZmTKAkY8\ +YWxsb2M6OnJjOjpSYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhjMzRiZD\ +VjN2NmNjJmMDk0ywJBcmVnZXhfYXV0b21hdGE6Omh5YnJpZDo6ZGZhOjpMYXp5OjpjbGVhcl9jYWNo\ +ZTo6aGU3ZWRmY2E0OWMxNzQ0MjLMAiptb25jaDo6bWFwOjp7e2Nsb3N1cmV9fTo6aDE1ZWIwNWE2YW\ +M0ODNhMmPNAkNyZWdleF9zeW50YXg6OmFzdDo6cGFyc2U6OlBhcnNlckk8UD46OnB1c2hfZ3JvdXA6\ +OmhmYWE2ODEwMWMzOGM2OWI3zgIyPCZUIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aDVhNj\ +FiNTkxNDkwMTM2MjDPAlM8Y29yZTo6Zm10OjpidWlsZGVyczo6UGFkQWRhcHRlciBhcyBjb3JlOjpm\ +bXQ6OldyaXRlPjo6d3JpdGVfc3RyOjpoZjQ2YjU5MWFjZmQxYmUwZNACdnNlcmRlX2pzb246OnZhbH\ +VlOjpkZTo6PGltcGwgc2VyZGU6OmRlOjpEZXNlcmlhbGl6ZXIgZm9yIHNlcmRlX2pzb246OnZhbHVl\ +OjpWYWx1ZT46OmRlc2VyaWFsaXplX3NlcTo6aGRlNTRjYTJlODFhY2NlZmTRAkVoYXNoYnJvd246On\ +Jhdzo6UmF3VGFibGVJbm5lcjo6cmVoYXNoX2luX3BsYWNlOjpoNTMxMjBlZDZkNTFlNGYzMy43OTLS\ +Ai5nbG9iOjpQYXR0ZXJuOjptYXRjaGVzX2Zyb206Omg1OWM0Yjk1YTBhZDJhMjE00wJAdXJsOjpwYX\ +JzZXI6OlBhcnNlcjo6cGFyc2VfcXVlcnlfYW5kX2ZyYWdtZW50OjpoZDc4ODkzYjliZDVhZjBlZtQC\ +RXBlcmNlbnRfZW5jb2Rpbmc6OlBlcmNlbnREZWNvZGU6OmRlY29kZV91dGY4X2xvc3N5OjpoZTkyM2\ +RmN2Y5MDUzN2MxNdUCSXJlZ2V4X3N5bnRheDo6YXN0OjpwYXJzZTo6UGFyc2VySTxQPjo6cGFyc2Vf\ +aGV4X2RpZ2l0czo6aGY4ZjRmZmQyZDY2ODY2Y2PWAkdyZWdleF9zeW50YXg6Omhpcjo6bGl0ZXJhbD\ +o6UHJlZmVyZW5jZVRyaWU6Om1pbmltaXplOjpoMTk3NzQxYTYyZGYzZjM3ZtcCRnJlZ2V4X2F1dG9t\ +YXRhOjptZXRhOjpzdHJhdGVneTo6Q29yZTo6c2VhcmNoX25vZmFpbDo6aDczYzI2N2EwYzU1MzhkN2\ +XYAjlhbGxvYzo6c3RyaW5nOjpTdHJpbmc6OmZyb21fdXRmOF9sb3NzeTo6aGRhZmE4MjA1ZTgxZDkz\ +Y2bZAkZoYXNoYnJvd246OnJhdzo6UmF3VGFibGVJbm5lcjo6cmVoYXNoX2luX3BsYWNlOjpoNTMxMj\ +BlZDZkNTFlNGYzMy4xMzM12gI2PHVybDo6VXJsIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omgz\ +YjhiODk1MzgyYjNmNjgz2wJDZ2xvYnNldDo6UmVxdWlyZWRFeHRlbnNpb25TdHJhdGVneTo6bWF0Y2\ +hlc19pbnRvOjpoMWU4MmQ2YTA0ODM0MGIxN9wCPGNvcmU6OmZtdDo6Rm9ybWF0dGVyOjpwYWRfZm9y\ +bWF0dGVkX3BhcnRzOjpoMGVmZmU5OGNiMjljNmRhMd0CSnJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcm\ +VmaWx0ZXI6OlByZWZpbHRlcjo6ZnJvbV9jaG9pY2U6OmgzZDcxNTg1YjMxYjlmYWIy3gJYPHN0ZDo6\ +YmFja3RyYWNlX3JzOjpzeW1ib2xpemU6OlN5bWJvbE5hbWUgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pj\ +o6Zm10OjpoNzhhODYyNjI1OWQ5ZWZmNN8CRWhhc2hicm93bjo6cmF3OjpSYXdUYWJsZUlubmVyOjpy\ +ZWhhc2hfaW5fcGxhY2U6Omg1MzEyMGVkNmQ1MWU0ZjMzLjQwMuACPXJ1c3RjX2RlbWFuZ2xlOjp2MD\ +o6UHJpbnRlcjo6cHJpbnRfYmFja3JlZjo6aDg1YTE2ZTY0YzM3MDUyMmThAj1ydXN0Y19kZW1hbmds\ +ZTo6djA6OlByaW50ZXI6OnByaW50X2JhY2tyZWY6OmhmODAyMGI2YzFkZTM4NmJk4gJMPGFueWhvdz\ +o6Zm10OjpJbmRlbnRlZDxUPiBhcyBjb3JlOjpmbXQ6OldyaXRlPjo6d3JpdGVfc3RyOjpoNGEwMTQy\ +ZjY0OGYxZDJhN+MCN2luZGV4bWFwOjpzZXQ6OkluZGV4U2V0PFQsUz46Omluc2VydDo6aGFhNGY2Nj\ +RjZjkyZWRjMmXkAj5jb3JlOjpmbXQ6OkZvcm1hdHRlcjo6d3JpdGVfZm9ybWF0dGVkX3BhcnRzOjpo\ +ZjI2ZjAxZjc2NTYyNzQwZOUCPXJ1c3RjX2RlbWFuZ2xlOjp2MDo6UHJpbnRlcjo6cHJpbnRfYmFja3\ +JlZjo6aDNiYzQ5ZTU5MmQxOTA0Y2XmAjhjb3JlOjpudW06OjxpbXBsIHUzMj46OmZyb21fc3RyX3Jh\ +ZGl4OjpoMjMwY2ZjOWQ1ZWI5NWY0ZecCaTxhaG9fY29yYXNpY2s6Om5mYTo6Y29udGlndW91czo6Tk\ +ZBIGFzIGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+OjpuZXh0X3N0YXRlOjpoYjA4\ +ZmJkOTU4ZDk3ZDMyMegCbjxhaG9fY29yYXNpY2s6Om5mYTo6Y29udGlndW91czo6TkZBIGFzIGFob1\ +9jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+OjpuZXh0X3N0YXRlOjpoYjA4ZmJkOTU4ZDk3\ +ZDMyMS4xMTkz6QJ6PHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6Om1lbWNocjo6TWVtY2\ +hyMyBhcyByZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjpQcmVmaWx0ZXJJPjo6ZmluZDo6\ +aDFhNjExNmM1MTYzMGFmMTfqAlJyZWdleF9hdXRvbWF0YTo6dXRpbDo6bG9vazo6TG9va01hdGNoZX\ +I6OmlzX3dvcmRfdW5pY29kZV9uZWdhdGU6OmhjM2Y0MzEzODZiMjRmNWYw6wJjPCZtdXQgc2VyZGVf\ +anNvbjo6c2VyOjpTZXJpYWxpemVyPFcsRj4gYXMgc2VyZGU6OnNlcjo6U2VyaWFsaXplcj46OnNlcm\ +lhbGl6ZV9zdHI6Omg4ZGZmNThiN2M3NzEzNDM57AJRZGVub19sb2NrZmlsZTo6TG9ja2ZpbGVDb250\ +ZW50Ojpmcm9tX2pzb246OmRlc2VyaWFsaXplX3NlY3Rpb246OmgyMzE0OGYwMjlhOTY1MmZi7QI1b2\ +5jZV9jZWxsOjppbXA6OmluaXRpYWxpemVfb3Jfd2FpdDo6aDAwNDVhNTIxNjI3Y2E5YjTuAmE8Y29y\ +ZTo6c3RyOjpsb3NzeTo6VXRmOENodW5rcyBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOj\ +pJdGVyYXRvcj46Om5leHQ6Omg4ODJiYTAwZGRhYzkyNGRm7wJHaGFzaGJyb3duOjpyYXc6OmlubmVy\ +OjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6aDYzYWFlNmQ5NzdjOTA4NDnwAkdoYXNoYn\ +Jvd246OnJhdzo6aW5uZXI6OlJhd1RhYmxlPFQsQT46OnJlc2VydmVfcmVoYXNoOjpoMTdmMzBkNjE4\ +MTZmNzVjYvECR2hhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZW\ +hhc2g6OmhkZGFlMmE1YzZmMmJhY2I18gJHaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZTxU\ +LEE+OjpyZXNlcnZlX3JlaGFzaDo6aGU2OTRhNjc0YjAwOGY3OTfzAiptZW1jaHI6Om1lbWNocjo6bW\ +VtY2hyMzo6aDRkNGUzN2JjNjc5NjMzNzT0Ajdtb25jaDo6UGFyc2VFcnJvckZhaWx1cmU6OmludG9f\ +ZXJyb3I6Omg2YzY3MDI5NmFjNWNiZjhj9QJRcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246Om\ +NvbXBpbGVyOjpVdGY4Q29tcGlsZXI6OmNvbXBpbGU6OmhjODExMDgyYTYxODBlYmQ39gJNcmVnZXhf\ +YXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmNvbXBpbGVyOjpVdGY4Q29tcGlsZXI6OmFkZDo6aGRmZW\ +IwOTBkOGY3ZDc5NGb3AkFyZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6bmZhOjpJbm5lcjo6\ +YWRkOjpoNTVkNjg2MGIwNmRiNzEyY/gCQGhhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+OjpyZX\ +NlcnZlX3JlaGFzaDo6aDUwZTA1MjI4MzgxNzNjYTD5AkBoYXNoYnJvd246OnJhdzo6UmF3VGFibGU8\ +VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Omg3MDVmMjMzYzRjNTllYzM3+gJMPHNlcmRlX2pzb246OmVycm\ +9yOjpFcnJvckNvZGUgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoMDdkYzY5MGRkOWMwOWM2\ +OfsCR2hhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Om\ +g5OWZmNjFlYWJlMGE2NWQ1/AK2ATxkZW5vX2NvbmZpZzo6ZGVub19qc29uOjpfOjo8aW1wbCBzZXJk\ +ZTo6ZGU6OkRlc2VyaWFsaXplIGZvciBkZW5vX2NvbmZpZzo6ZGVub19qc29uOjpDb25maWdGaWxlSn\ +Nvbj46OmRlc2VyaWFsaXplOjpfX0ZpZWxkVmlzaXRvciBhcyBzZXJkZTo6ZGU6OlZpc2l0b3I+Ojp2\ +aXNpdF9zdHI6OmhmNDU5MzdkYzE5OWM5ZDM1/QJHaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYW\ +JsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6aDA1MGQ1M2RhODViOWQ3MWT+Aixtb25jaDo6bWF5YmU6\ +Ont7Y2xvc3VyZX19OjpoZTZhMDM1N2ZkZWRhY2Q4Mf8CWDxzZXJkZV9qc29uOjpkZTo6TWFwQWNjZX\ +NzPFI+IGFzIHNlcmRlOjpkZTo6TWFwQWNjZXNzPjo6bmV4dF9rZXlfc2VlZDo6aGRjODk2NTNlMmU5\ +M2I2YmSAA0doYXNoYnJvd246OnJhdzo6aW5uZXI6OlJhd1RhYmxlPFQsQT46OnJlc2VydmVfcmVoYX\ +NoOjpoOWE2NDM0NzQzNGFhMmI2YYEDR2hhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxB\ +Pjo6cmVzZXJ2ZV9yZWhhc2g6Omg1MzU1ODYyMzhmYzI1NjM3ggNAaGFzaGJyb3duOjpyYXc6OlJhd1\ +RhYmxlPFQsQT46OnJlc2VydmVfcmVoYXNoOjpoMjA2Yzk1Y2FmYjA5OTUyM4MDR2hhc2hicm93bjo6\ +cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6OmhiOGNlNTYxYWQyYTBjZj\ +A1hAN4PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZVN1ZmZpeCBhcyByZWdl\ +eF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6aXNfbWF0Y2g6Omg4ZTM5MjY0Mj\ +E5ODFkMDhlhQNHcmVnZXhfc3ludGF4Ojphc3Q6OnBhcnNlOjpQYXJzZXJJPFA+OjpwdXNoX2FsdGVy\ +bmF0ZTo6aGFlYzhmOWQ4NThmMTMzYzKGA0BoYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPjo6cm\ +VzZXJ2ZV9yZWhhc2g6Omg0MjUzOWI4ZTFjNGI5NjkyhwNAaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxl\ +PFQsQT46OnJlc2VydmVfcmVoYXNoOjpoNTE1ODA1NWI2Njc4M2E5N4gDO2ltcG9ydF9tYXA6OmV4dD\ +o6ZXhwYW5kX2ltcG9ydF9tYXBfdmFsdWU6Omg5MzFjZGZkOWFkM2I4ZGYziQNrZGVub19jb25maWc6\ +Omdsb2I6OmNvbGxlY3Rvcjo6RmlsZUNvbGxlY3RvcjxURmlsdGVyPjo6Y29sbGVjdF9maWxlX3BhdH\ +Rlcm5zOjp7e2Nsb3N1cmV9fTo6aDJiODdhZWE1M2JjZDY3Y2OKAzhjb3JlOjpudW06OmJpZ251bTo6\ +QmlnMzJ4NDA6Om11bF9wb3cyOjpoNDkwM2JmMGNjYzNkNDgwOIsDQGhhc2hicm93bjo6cmF3OjpSYX\ +dUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6aDkwNTg2MzMwZjY0ZTg0NTOMA0BoYXNoYnJvd246\ +OnJhdzo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6OmhhMzg5NDNhMWI4MjljM2JhjQNAaG\ +FzaGJyb3duOjpyYXc6OlJhd1RhYmxlPFQsQT46OnJlc2VydmVfcmVoYXNoOjpoZmZlM2M5ODcxYjlm\ +NTIyN44DQGhhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6aDQyZj\ +FlMzQ2OTRjNWQ5N2GPA0JyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpkZmE6OkJ1aWxkZXI6OmNvbmZp\ +Z3VyZTo6aDliNThmNjcwZWMyNjRlYWGQAztoYXNoYnJvd246Om1hcDo6SGFzaE1hcDxLLFYsUyxBPj\ +o6cmVtb3ZlOjpoY2MxZmQ4ZGI3NzcxNThlZJEDQnJlZ2V4X3N5bnRheDo6YXN0OjpwYXJzZTo6UGFy\ +c2VySTxQPjo6cG9wX2NsYXNzOjpoNmRlZGQ0MGJiZTA1MGIwNZIDO2hhc2hicm93bjo6bWFwOjpIYX\ +NoTWFwPEssVixTLEE+OjpyZW1vdmU6Omg0MzdkMjE1YTRlNjgzNWNjkwNBaGFzaGJyb3duOjpyYXc6\ +OlJhd1RhYmxlSW5uZXI6OnJlaGFzaF9pbl9wbGFjZTo6aDUzMTIwZWQ2ZDUxZTRmMzOUA0BydXN0Y1\ +9kZW1hbmdsZTo6djA6OlByaW50ZXI6OnByaW50X2NvbnN0X3VpbnQ6OmhkZWMyMGEzMmNkODViNGRk\ +lQNGYWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6OkNvbXBpbGVyOjpkZW5zaWZ5OjpoMD\ +QyYWQ5NGEwYjZmNmFkMpYDTGhhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGVJbm5lcjo6cmVo\ +YXNoX2luX3BsYWNlOjpoN2E0NWNiYTM0MzJhMWM3My41MDaXAzV0aW55dmVjOjp0aW55dmVjOjpUaW\ +55VmVjPEE+OjpwdXNoOjpoNzIyMDk0OTc4MDVmZmE0MJgDMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVn\ +Pjo6Zm10OjpoNjc3MDhmYzY2YzQxMGMwNpkDTHJlZ2V4X3N5bnRheDo6aGlyOjppbnRlcnZhbDo6SW\ +50ZXJ2YWxTZXQ8ST46OmNhbm9uaWNhbGl6ZTo6aDM2YmFmZjM2NmQ1ODQxMGOaAzA8JlQgYXMgY29y\ +ZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGVmMDE2YWE0MzZlZDUwMjObA0BoYXNoYnJvd246OnJhdzo6Um\ +F3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6OmhiMzQ1MTNhOThiMjUwODIznANAaGFzaGJyb3du\ +OjpyYXc6OlJhd1RhYmxlPFQsQT46OnJlc2VydmVfcmVoYXNoOjpoMmEyMmFjYmRmYmM5YmFkZZ0DQG\ +hhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6aDNlNTc4NjRjZWE3\ +ZTNhNWSeA0BoYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Omg1OT\ +NhNDg0MjQ0MWFjOTk0nwNAaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlPFQsQT46OnJlc2VydmVfcmVo\ +YXNoOjpoMGM2OWQ3NDQ4NTkwNjM2ZqADdnNlcmRlX2pzb246OnZhbHVlOjpkZTo6PGltcGwgc2VyZG\ +U6OmRlOjpEZXNlcmlhbGl6ZXIgZm9yIHNlcmRlX2pzb246OnZhbHVlOjpWYWx1ZT46OmRlc2VyaWFs\ +aXplX3NlcTo6aGQwNDg4ZmI0NTA4NmJkMWahA0xyZWdleF9zeW50YXg6Omhpcjo6aW50ZXJ2YWw6Ok\ +ludGVydmFsU2V0PEk+OjpjYW5vbmljYWxpemU6Omg1NmU3NzJkOTk5MjIzZjc3ogMwdXJsOjpob3N0\ +OjpIb3N0OjpwYXJzZV9vcGFxdWU6Omg4ZTA2MjkyZWEyNmM5NjQ4owNmPGNvcmU6OnN0cjo6cGF0dG\ +Vybjo6Q2hhclNlYXJjaGVyIGFzIGNvcmU6OnN0cjo6cGF0dGVybjo6U2VhcmNoZXI+OjpuZXh0X21h\ +dGNoOjpoY2UzMjEzM2RiNzMzOThkZS4xNjY2pANAPGRlbm9fc2VtdmVyOjpWZXJzaW9uIGFzIGNvcm\ +U6OmNtcDo6T3JkPjo6Y21wOjpoZjk5MzBhYTE2YTU0YmViNKUDQXNlcmRlX2pzb246OmRlOjpEZXNl\ +cmlhbGl6ZXI8Uj46OnBhcnNlX2ludGVnZXI6OmhkYTMwMzNkODU1NjJmYzQ3pgNIcmVnZXhfYXV0b2\ +1hdGE6Om1ldGE6OnN0cmF0ZWd5OjpDb3JlOjppc19tYXRjaF9ub2ZhaWw6OmgyY2FjZjEyODc5NDY5\ +NjI5pwNBc2VyZGVfanNvbjo6cmVhZDo6U2xpY2VSZWFkOjpwb3NpdGlvbl9vZl9pbmRleDo6aDhiYm\ +NmMjg1NWJkMjdmZjGoAztjb3JlOjpzdHI6OnBhdHRlcm46OlR3b1dheVNlYXJjaGVyOjpuZXh0Ojpo\ +ZTNkY2UyMTdjMjY5OWExYakDdTxjb3JlOjppdGVyOjphZGFwdGVyczo6ZmlsdGVyX21hcDo6RmlsdG\ +VyTWFwPEksRj4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0\ +OjpoZGI0OGQ4ZDg5NmI3NmNhMaoDJXVybDo6VXJsOjpzZXRfaG9zdDo6aGZjNzEzNzc2ZTAyNjZmOD\ +CrAydkZW5vX3NlbXZlcjo6bnBtOjpucjo6aDIxMjgxNzdkMDkzODIwMDSsA0FkbG1hbGxvYzo6ZGxt\ +YWxsb2M6OkRsbWFsbG9jPEE+OjpkaXNwb3NlX2NodW5rOjpoYWY0MzMyOTdkOGU3N2E5MK0DWDxyZW\ +dleF9hdXRvbWF0YTo6dXRpbDo6c2VhcmNoOjpNYXRjaEVycm9yIGFzIGNvcmU6OmZtdDo6RGlzcGxh\ +eT46OmZtdDo6aGYzMGM1NDJmMDU5ZDllMjauA0JzZXJkZV9qc29uOjpkZTo6RGVzZXJpYWxpemVyPF\ +I+OjpwYXJzZV9leHBvbmVudDo6aDM1ZTMzZTYzOThkMTBiNTSvA05hbGxvYzo6Y29sbGVjdGlvbnM6\ +OmJ0cmVlOjptYXA6OkludG9JdGVyPEssVixBPjo6ZHlpbmdfbmV4dDo6aGJjMWNiNTYzZWY1MWM5MW\ +awA05hbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjptYXA6OkludG9JdGVyPEssVixBPjo6ZHlpbmdf\ +bmV4dDo6aGNmZWRiOWRiYTUyMjJmNGSxA05hbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjptYXA6Ok\ +ludG9JdGVyPEssVixBPjo6ZHlpbmdfbmV4dDo6aGE0N2U5NjdiMzBiOTUzZmWyA05hbGxvYzo6Y29s\ +bGVjdGlvbnM6OmJ0cmVlOjptYXA6OkludG9JdGVyPEssVixBPjo6ZHlpbmdfbmV4dDo6aGE2MzVhZm\ +QxOWRmMWNlNzizA0NyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpyZWdleDo6UmVnZXg6OnRyeV9zZWFy\ +Y2g6OmhjMzZhNjRlYWUyZWQ0ODUztAM5Z2xvYnNldDo6Z2xvYjo6Y2hhcl90b19lc2NhcGVkX2xpdG\ +VyYWw6OmhkMTBlNjY1MGRiZmVmOTU2tQM0Y29yZTo6b3B0aW9uOjpPcHRpb248VD46OmFuZF90aGVu\ +OjpoOGJhNDdhNDc0ZTM4MTY5NrYDO2hhc2hicm93bjo6bWFwOjpIYXNoTWFwPEssVixTLEE+Ojppbn\ +NlcnQ6OmhlMDg4OGYyZDEyMjM0OWZktwMkbW9uY2g6OndoaXRlc3BhY2U6Omg5YWQ0NmIyNzBiYzgy\ +N2ZhuANRcmVnZXhfYXV0b21hdGE6OmRmYTo6b25lcGFzczo6SW50ZXJuYWxCdWlsZGVyOjphZGRfZW\ +1wdHlfc3RhdGU6Omg1MmE0NWU5YzFlZDg3YTc4uQMwYWxsb2M6OnN0cjo6am9pbl9nZW5lcmljX2Nv\ +cHk6Omg3NDViMWYwNzQ0N2JlNjRjugNScmVnZXhfYXV0b21hdGE6OnV0aWw6OmNhcHR1cmVzOjpHcm\ +91cEluZm9Jbm5lcjo6YWRkX2ZpcnN0X2dyb3VwOjpoNDRlMTMzMjJjMjNkMTBiZrsDYXJlZ2V4X2F1\ +dG9tYXRhOjpuZmE6OnRob21wc29uOjpiYWNrdHJhY2s6OkJvdW5kZWRCYWNrdHJhY2tlcjo6dHJ5X3\ +NlYXJjaF9zbG90czo6aDZkMzNlNDM4YzU3NzhlMTi8A0ZzZXJkZV93YXNtX2JpbmRnZW46OmRlOjpE\ +ZXNlcmlhbGl6ZXI6OmludmFsaWRfdHlwZV86OmhhMWM2NDU1NDlkY2UwNzI3vQN6PHJlZ2V4X2F1dG\ +9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6Om1lbWNocjo6TWVtY2hyMiBhcyByZWdleF9hdXRvbWF0YTo6\ +dXRpbDo6cHJlZmlsdGVyOjpQcmVmaWx0ZXJJPjo6ZmluZDo6aDUwNjYwZTg5YzBjYTFhZTa+AzdhbG\ +xvYzo6dmVjOjpWZWM8VCxBPjo6ZXh0ZW5kX3RydXN0ZWQ6Omg4MDA1ZjI2NmM5ZGFhNzFlvwNDPHN0\ +ZDo6aW86OmVycm9yOjpFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMGM5YTQ5NzE0Yz\ +JlZGM4MMADN3NlcmRlX3dhc21fYmluZGdlbjo6c3RhdGljX3N0cl90b19qczo6aDhkNTg5NWM1MGRl\ +ZGY4Y2XBA1FyZWdleF9zeW50YXg6Omhpcjo6dHJhbnNsYXRlOjpUcmFuc2xhdG9ySTo6aGlyX3Blcm\ +xfYnl0ZV9jbGFzczo6aGI1MmQ5MTVkNjE2YTg1YmXCA0FydXN0Y19kZW1hbmdsZTo6djA6OlByaW50\ +ZXI6OnByaW50X2dlbmVyaWNfYXJnOjpoNjhmZmU5ZTRlY2I2NWZiY8MDVTxyZWdleF9hdXRvbWF0YT\ +o6aHlicmlkOjpkZmE6OkNvbmZpZyBhcyBjb3JlOjpjbG9uZTo6Q2xvbmU+OjpjbG9uZTo6aDY0ZThh\ +OWEwNTFhMjQ2YTfEAzxkZW5vX3NlbXZlcjo6cmFuZ2U6OlBhcnRpYWw6OmFzX2xlc3NfdGhhbjo6aG\ +U2MTdhZTEzNDE3YTc2NmXFA2M8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bWFwOjpCVHJlZU1h\ +cDxLLFYsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGU5ZTc3YzM3NjFlOGI3M2\ +PGA2M8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bWFwOjpCVHJlZU1hcDxLLFYsQT4gYXMgY29y\ +ZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGZkYWE4NDgwYTkwMzViYzTHA0hoYXNoYnJvd246On\ +Jhdzo6aW5uZXI6OlJhd1RhYmxlSW5uZXI6OnJlaGFzaF9pbl9wbGFjZTo6aDdhNDVjYmEzNDMyYTFj\ +NzPIA2g8Y29yZTo6aXRlcjo6YWRhcHRlcnM6Om1hcDo6TWFwPEksRj4gYXMgY29yZTo6aXRlcjo6dH\ +JhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoODE1ZWFiNmI1MmQ0MTVkN8kDPXJ5dTo6\ +cHJldHR5OjptYW50aXNzYTo6d3JpdGVfbWFudGlzc2FfbG9uZzo6aDMzMWYxZjg5OWQ2ZDVmZGHKAy\ +51cmw6Omhvc3Q6OnBhcnNlX2lwdjRudW1iZXI6Omg3YjNmYzBiMGQwNmZiM2QzywNDcmVnZXhfc3lu\ +dGF4Ojphc3Q6OnBhcnNlOjpQYXJzZXJJPFA+OjpidW1wX3NwYWNlOjpoN2NmYjc0YmE1MWU1NDg2N8\ +wDKm1lbWNocjo6bWVtY2hyOjptZW1jaHIyOjpoMTBjZDdmODNkNWU2OTBhZs0DQXJ1c3RjX2RlbWFu\ +Z2xlOjp2MDo6SGV4TmliYmxlczo6dHJ5X3BhcnNlX3VpbnQ6OmgzZjdkMDY2YjM3ZTkzZGEyzgNjPG\ +FsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om1hcDo6QlRyZWVNYXA8SyxWLEE+IGFzIGNvcmU6Om9w\ +czo6ZHJvcDo6RHJvcD46OmRyb3A6OmgxNDIzNmMxZWM2ZDNlYmI1zwNLPGpzb25jX3BhcnNlcjo6YX\ +N0OjpPYmplY3QgYXMgY29yZTo6Y2xvbmU6OkNsb25lPjo6Y2xvbmU6Omg0YTdlMTljZjEwODVhZDJh\ +0ANePGNvcmU6OnN0cjo6aXRlcjo6U3BsaXQ8UD4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYX\ +Rvcjo6SXRlcmF0b3I+OjpuZXh0OjpoMjQ3ZTBjYzg1YTU3YjRlYdEDRXJlZ2V4X3N5bnRheDo6YXN0\ +OjpwYXJzZTo6UGFyc2VySTxQPjo6cG9wX2NsYXNzX29wOjpoOTgwMWU5ODJlYmU1ZTUyYdIDPXJ1c3\ +RjX2RlbWFuZ2xlOjp2MDo6UGFyc2VyOjpvcHRfaW50ZWdlcl82Mjo6aGNhMzZkODYwNTRhZTQxODfT\ +A0NzdGQ6OmNvbGxlY3Rpb25zOjpoYXNoOjptYXA6Okhhc2hNYXA8SyxWLFM+OjpnZXQ6Omg1NWY3Zj\ +AyYzgxNTljNzIz1AM/aW5kZXhtYXA6Om1hcDo6SW5kZXhNYXA8SyxWLFM+Ojpjb250YWluc19rZXk6\ +OmgxYzhmZWQ3YjQ0NGIxNDhl1QM/ZGVub19zZW12ZXI6OnJhbmdlOjpQYXJ0aWFsOjphc19ncmVhdG\ +VyX3RoYW46Omg2MDZjODBmNjE4MWI2YjAz1gN5PHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0\ +ZXI6Om1lbWNocjo6TWVtY2hyIGFzIHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OlByZW\ +ZpbHRlckk+OjpmaW5kOjpoZWEzZWEwOGE3OGEzMzhkYtcDPGRsbWFsbG9jOjpkbG1hbGxvYzo6RGxt\ +YWxsb2M8QT46Om1lbWFsaWduOjpoYWQ1NzAyMzNhYTBkZGQzZNgDRnJlZ2V4X3N5bnRheDo6YXN0Oj\ +pwYXJzZTo6UGFyc2VySTxQPjo6cGFyc2VfZGVjaW1hbDo6aDBhNjljODdlMmQyYmQzMTXZA0U8c3Rk\ +OjpwYXRoOjpDb21wb25lbnQgYXMgY29yZTo6Y21wOjpQYXJ0aWFsRXE+OjplcTo6aGQ2NzVkN2E2M2\ +ZhMDg5YzfaAzx1cmw6OnBhcnNlcjo6UGFyc2VyOjpjaGVja191cmxfY29kZV9wb2ludDo6aGVlY2Jh\ +NDFkN2ZkNTllOWLbA1hjb3JlOjpudW06OmZsdDJkZWM6OnN0cmF0ZWd5OjpncmlzdTo6Zm9ybWF0X2\ +V4YWN0X29wdDo6cG9zc2libHlfcm91bmQ6OmhhNWU0ZmZhMzM5MjNkZmQ43AM5YnN0cjo6ZXh0X3Ns\ +aWNlOjpCeXRlU2xpY2U6OnJmaW5kX2J5dGU6Omg4MDFlOWM3NTU3YTFjMmRj3QP7AWFsbG9jOjpjb2\ +xsZWN0aW9uczo6YnRyZWU6Om5vZGU6OkhhbmRsZTxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpu\ +b2RlOjpOb2RlUmVmPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6TXV0LE\ +ssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6OkludGVybmFsPixhbGxv\ +Yzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6OktWPjo6c3BsaXQ6OmgwOTVmZWNhZT\ +c3MGQyNzBh3gMtZGVub19wYXRoX3V0aWw6OnVybF9wYXJlbnQ6OmhkZjE4OTc2NzE4NGMzMGQy3wNY\ +Y29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFob19jb3Jhc2ljazo6bmZhOjpub25jb250aWd1b3VzOj\ +pRdWV1ZWRTZXQ+OjpoZTRiNzQ3YzUxOWFhMTc0N+ADP3JlZ2V4X3N5bnRheDo6aGlyOjpsaXRlcmFs\ +OjpFeHRyYWN0b3I6OnVuaW9uOjpoOTczNmQ5OTU1ZDM3MDhkNuEDP3JlZ2V4X2F1dG9tYXRhOjp1dG\ +lsOjplbXB0eTo6c2tpcF9zcGxpdHNfZndkOjpoYTBlMzNmYTRjYmM2ZGJjMuIDOWluZGV4bWFwOjpt\ +YXA6OkluZGV4TWFwPEssVixTPjo6aW5zZXJ0OjpoYWZmNTE5NDExNTE5MWZhN+MDcDxhaG9fY29yYX\ +NpY2s6OnV0aWw6OnByZWZpbHRlcjo6UGFja2VkIGFzIGFob19jb3Jhc2ljazo6dXRpbDo6cHJlZmls\ +dGVyOjpQcmVmaWx0ZXJJPjo6ZmluZF9pbjo6aGU4NjA2ZDU3ZDlhMjlmMDjkA0w8Y29yZTo6bmV0Oj\ +ppcF9hZGRyOjpJcHY0QWRkciBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6OmhiNTRjNmEyYjMz\ +N2E3Mzg15QNMcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpDb3JlOjpzZWFyY2hfc2xvdH\ +Nfbm9mYWlsOjpoMjQ3N2I0YTc0N2E1MjkzYuYDRzxyZWdleF9zeW50YXg6OmRlYnVnOjpCeXRlIGFz\ +IGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhjYzZkMWQ5MDFlYTQ2Mzll5wM9cmVnZXhfYXV0b21hdG\ +E6OnV0aWw6OnBvb2w6OlBvb2w8VCxGPjo6Z2V0OjpoYTJmN2Q5MDE4YTAwYjM1OegDRTxzdGQ6Omlv\ +OjplcnJvcjo6RXJyb3IgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoNTU5MzEzMDk3MTFjOW\ +RiZukDOXN0ZDo6cGF0aDo6Q29tcG9uZW50czo6bGVuX2JlZm9yZV9ib2R5OjpoNmM3ZGQzNGUwMDMw\ +OWMyM+oDKW1lbWNocjo6bWVtY2hyOjptZW1jaHI6OmhmOWYyNDA1YjI1ZDg2OThm6wN4PHJlZ2V4X2\ +F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZUFuY2hvcmVkIGFzIHJlZ2V4X2F1dG9tYXRh\ +OjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpzZWFyY2g6OmhiZmIzZjg1MGUxM2EzZjZi7AMzYW\ +xsb2M6OmZtdDo6Zm9ybWF0Ojpmb3JtYXRfaW5uZXI6OmgzNjQxNTg4YTkzMmM1NjM37QNUYWhvX2Nv\ +cmFzaWNrOjpkZmE6OkJ1aWxkZXI6OmZpbmlzaF9idWlsZF9ib3RoX3N0YXJ0czo6e3tjbG9zdXJlfX\ +06Omg5ZTAzMDQ0ZGZmMTBlNDY27gM4Y29yZTo6bnVtOjpmbHQyZGVjOjpkaWdpdHNfdG9fZGVjX3N0\ +cjo6aGIxYmZlOGFhZjk5Zjk2MDnvAz88Z2xvYjo6UGF0dGVybiBhcyBjb3JlOjpjbG9uZTo6Q2xvbm\ +U+OjpjbG9uZTo6aGQwMTRmYzdlYzhlMWQ0MmTwA0NzdGQ6OmNvbGxlY3Rpb25zOjpoYXNoOjptYXA6\ +Okhhc2hNYXA8SyxWLFM+OjpnZXQ6OmgyMmI2ZWJhZDJlZWRkYWE28QM2Y29yZTo6c3RyOjo8aW1wbC\ +BzdHI+Ojp0cmltX21hdGNoZXM6OmhjYmVmMDRmMDRjNzc2YzVi8gNKPGpzb25jX3BhcnNlcjo6YXN0\ +OjpWYWx1ZSBhcyBjb3JlOjpjbG9uZTo6Q2xvbmU+OjpjbG9uZTo6aDU4YjE3YmI3OThmNDM5MzPzAy\ +5tZW1jaHI6Om1lbWNocjo6bWVtY2hyOjpoZjlmMjQwNWIyNWQ4Njk4Zi4xMTE19ANRPHJlZ2V4X2F1\ +dG9tYXRhOjptZXRhOjpyZWdleDo6Q29uZmlnIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgwY2\ +ZlMzY5YjhkMTZhZGU09QN9PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZUFu\ +Y2hvcmVkIGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpzZWFyY2\ +hfaGFsZjo6aGM1MzI0MmNjYjc2YWY5NmT2AztoYXNoYnJvd246Om1hcDo6SGFzaE1hcDxLLFYsUyxB\ +Pjo6aW5zZXJ0OjpoYmNlNzNlNjU1MTY2NzdlOfcDLmNvcmU6OnN0cjo6PGltcGwgc3RyPjo6ZmluZD\ +o6aGEyNzUxMDFhOTNlZTkzMzj4A2ZkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpkaXNjb3Zlcnk6OnJl\ +c29sdmVfd29ya3NwYWNlX2Zvcl9jb25maWdfZm9sZGVyOjp7e2Nsb3N1cmV9fTo6aGZhNDljY2NhMz\ +M3NmJhMGb5A0I8Z2xvYnNldDo6RXJyb3JLaW5kIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6\ +aDhmODI0ZmZjZDQ4ODYxYjb6A09yZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6Y29tcGlsZX\ +I6OkNvbXBpbGVyOjpjX2V4YWN0bHk6OmgyMTY2YzMyZDA3ZmMyOGY4+wNMYWhvX2NvcmFzaWNrOjph\ +aG9jb3Jhc2ljazo6QWhvQ29yYXNpY2tCdWlsZGVyOjpidWlsZF9hdXRvOjpoZGY5ZjA5YTExMGY0ZD\ +MwZfwDTGNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6YmlkaXJlY3Rpb25hbF9t\ +ZXJnZTo6aDhhZWJlMGZlNWNjNGZlN2X9A2ZkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpkaXNjb3Zlcn\ +k6OnJlc29sdmVfd29ya3NwYWNlX2Zvcl9jb25maWdfZm9sZGVyOjp7e2Nsb3N1cmV9fTo6aGQ2Yjdl\ +ZmJhYTZlYTgxOTj+A2ZkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpkaXNjb3Zlcnk6OnJlc29sdmVfd2\ +9ya3NwYWNlX2Zvcl9jb25maWdfZm9sZGVyOjp7e2Nsb3N1cmV9fTo6aGZlZTcyZmZkZGYwODlmMmb/\ +AzlydXN0Y19kZW1hbmdsZTo6djA6OlBhcnNlcjo6aW50ZWdlcl82Mjo6aDA0MGEwZTU5OGI2OWM1Mm\ +GABEJhaG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91czo6Q29tcGlsZXI6Om5ldzo6aDE5NDQ0\ +MWUwYTkwMjI1M2OBBEA8c2VyZGU6OmRlOjpPbmVPZiBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbX\ +Q6OmgzY2E4MThkZWI0YzJmZTc1ggT7AWFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Okhh\ +bmRsZTxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpOb2RlUmVmPGFsbG9jOjpjb2xsZW\ +N0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6TXV0LEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0\ +cmVlOjpub2RlOjptYXJrZXI6OkludGVybmFsPixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2\ +RlOjptYXJrZXI6OktWPjo6c3BsaXQ6OmgxMjI1OGE3MWJkZWNlZTJjgwRNcmVnZXhfYXV0b21hdGE6\ +Om5mYTo6dGhvbXBzb246OmNvbXBpbGVyOjpVdGY4Q29tcGlsZXI6Om5ldzo6aGNhNjFlNWUxZWE5YT\ +JmZTeEBE5kZW5vX2NvbmZpZzo6Z2xvYjo6RmlsZVBhdHRlcm5zOjpzcGxpdF9ieV9iYXNlOjp7e2Ns\ +b3N1cmV9fTo6aDBmOGQyOGUyMWYxY2RjYjaFBEBkbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jPE\ +E+Ojp1bmxpbmtfY2h1bms6OmhjYWVmMThkNTdiY2MwZjkzhgRSPGFob19jb3Jhc2ljazo6dXRpbDo6\ +ZGVidWc6OkRlYnVnQnl0ZSBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNWM3MWRiYjVlYjY5OT\ +AyNocEVTxyZWdleF9hdXRvbWF0YTo6dXRpbDo6ZXNjYXBlOjpEZWJ1Z0J5dGUgYXMgY29yZTo6Zm10\ +OjpEZWJ1Zz46OmZtdDo6aGM2MjMwNDM4YzFiOThiODmIBD9yZWdleF9hdXRvbWF0YTo6dXRpbDo6ZW\ +1wdHk6OnNraXBfc3BsaXRzX2Z3ZDo6aDA0YWE4MGQ2YTY4M2FlOWGJBHc8cmVnZXhfYXV0b21hdGE6\ +OnV0aWw6OnByZWZpbHRlcjo6dGVkZHk6OlRlZGR5IGFzIHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcm\ +VmaWx0ZXI6OlByZWZpbHRlckk+OjpmaW5kOjpoZjJkYTdlYTkzMTlhZmYzM4oE+wFhbGxvYzo6Y29s\ +bGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpIYW5kbGU8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm\ +9kZTo6Tm9kZVJlZjxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6Ok11dCxL\ +LFYsYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpJbnRlcm5hbD4sYWxsb2\ +M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpLVj46OnNwbGl0OjpoMDhiMjhiNDE5\ +NzdjMTBiOYsEOmNvcmU6OmZtdDo6YnVpbGRlcnM6OkRlYnVnU3RydWN0OjpmaWVsZDo6aDE3ZGVjN2\ +ZiZDdjN2YzMGKMBDJjb3JlOjp1bmljb2RlOjpwcmludGFibGU6OmNoZWNrOjpoMzQxMGFjYmU2NGMx\ +NWMxOY0EP3JlZ2V4X2F1dG9tYXRhOjp1dGlsOjplbXB0eTo6c2tpcF9zcGxpdHNfZndkOjpoNjU1Nj\ +VhY2Y2ZmYyNmQzOY4ER3JlZ2V4X3N5bnRheDo6aGlyOjp0cmFuc2xhdGU6OlRyYW5zbGF0b3JJOjpz\ +ZXRfZmxhZ3M6Omg3ZmI2NDU2Mjg1YTUyYTExjwRKcmVnZXhfYXV0b21hdGE6OmRmYTo6b25lcGFzcz\ +o6REZBOjp0cnlfc2VhcmNoX3Nsb3RzX2ltcDo6aDEzMjY0ZDkxZGRiOWJlZDeQBENyZWdleF9zeW50\ +YXg6OmFzdDo6cGFyc2U6OlBhcnNlckk8UD46OnBlZWtfc3BhY2U6OmgxZDFkOWZjOTgyNWNjOTRkkQ\ +Q2aW5kZXhtYXA6Om1hcDo6SW5kZXhNYXA8SyxWLFM+OjpnZXQ6Omg0YWZkN2YwNmE0OTJhOTllkgQ/\ +cmVnZXhfYXV0b21hdGE6OnV0aWw6OmVtcHR5Ojpza2lwX3NwbGl0c19yZXY6OmhmMGMzOTM2YjYyMz\ +RkNTI1kwRJYWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6Ok5GQTo6aW5pdF9mdWxsX3N0\ +YXRlOjpoZjYyZmMzYWVkMmNlMTI4YpQEcDxhbGxvYzo6dmVjOjpWZWM8VD4gYXMgYWxsb2M6OnZlYz\ +o6c3BlY19mcm9tX2l0ZXJfbmVzdGVkOjpTcGVjRnJvbUl0ZXJOZXN0ZWQ8VCxJPj46OmZyb21faXRl\ +cjo6aGI3OWQ1NGUzZDIyYzZkZTmVBFByZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6Y29tcG\ +lsZXI6OlV0ZjhDb21waWxlcjo6ZmluaXNoOjpoZjdiNGY5MjI1YWFmZjM0M5YETnJlZ2V4X2F1dG9t\ +YXRhOjpuZmE6OnRob21wc29uOjpyYW5nZV90cmllOjpSYW5nZVRyaWU6OmNsZWFyOjpoOGUxMWQ2MD\ +g3NzVkZmRkYpcETGNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6YmlkaXJlY3Rp\ +b25hbF9tZXJnZTo6aGNlN2VkZmQ5YWQ3NWY0Y2aYBJgBPGxvYWRlcjo6Xzo6PGltcGwgc2VyZGU6Om\ +RlOjpEZXNlcmlhbGl6ZSBmb3IgbG9hZGVyOjpXYXNtRnNNZXRhZGF0YT46OmRlc2VyaWFsaXplOjpf\ +X0ZpZWxkVmlzaXRvciBhcyBzZXJkZTo6ZGU6OlZpc2l0b3I+Ojp2aXNpdF9ieXRlczo6aDNhNzY3Nz\ +ZhMzVmNGQ0ODWZBFZyZWdleF9hdXRvbWF0YTo6dXRpbDo6bG9vazo6TG9va01hdGNoZXI6OmlzX3dv\ +cmRfc3RhcnRfaGFsZl91bmljb2RlOjpoMzY2MDMxMmE0YTIyYzc5ZZoETGNvcmU6OnNsaWNlOjpzb3\ +J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6YmlkaXJlY3Rpb25hbF9tZXJnZTo6aDc5MjVhOWM3NTE0ODVj\ +YWObBDJpbXBvcnRfbWFwOjpleHQ6OmNvbWJpbmVfb2JqZWN0OjpoYmQ1MjlmYzRlZjdiY2YwZJwEUz\ +xzdGQ6Omhhc2g6OnJhbmRvbTo6RGVmYXVsdEhhc2hlciBhcyBjb3JlOjpoYXNoOjpIYXNoZXI+Ojpm\ +aW5pc2g6Omg5M2NhZDQwNmMzOTgwYWZknQRKPGltcG9ydF9tYXA6OkltcG9ydE1hcEVycm9yIGFzIG\ +NvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aGEyMDI0OTliMTE2MmNiNWOeBDdjb3JlOjpwYW5pY2tp\ +bmc6OmFzc2VydF9mYWlsZWRfaW5uZXI6OmhjOTViNzcyNWNiNDA3N2NinwRFY29yZTo6c2xpY2U6On\ +NvcnQ6OnNoYXJlZDo6c21hbGxzb3J0Ojpzb3J0NF9zdGFibGU6Omg2MWU2MTM1NjRmNGUxZGY5oARF\ +Y29yZTo6c2xpY2U6OnNvcnQ6OnNoYXJlZDo6c21hbGxzb3J0Ojpzb3J0NF9zdGFibGU6Omg5NmQwYm\ +ViMDlkNTU1MTEzoQQldXJsOjpVcmw6OnNldF9wYXRoOjpoZDc1MDc5Mzk1OTk1MzVjOaIENGFsbG9j\ +Ojp2ZWM6OlZlYzxULEE+OjpleHRlbmRfd2l0aDo6aGVmNGVlZjJjM2FjYTU5YjWjBC51cmw6OlVybD\ +o6c2V0X2hvc3RfaW50ZXJuYWw6OmhmZjk0MmU5Y2I3NDg0Mzk0pAQxY29tcGlsZXJfYnVpbHRpbnM6\ +Om1lbTo6bWVtY3B5OjpoNGQxYjNiZjBiOGU0M2MxM6UETTxUIGFzIGFsbG9jOjp2ZWM6OnNwZWNfZn\ +JvbV9lbGVtOjpTcGVjRnJvbUVsZW0+Ojpmcm9tX2VsZW06OmhjOGVkODQ1NjA5ZmYwNTBlpgT7AWFs\ +bG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6OkhhbmRsZTxhbGxvYzo6Y29sbGVjdGlvbnM6Om\ +J0cmVlOjpub2RlOjpOb2RlUmVmPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtl\ +cjo6TXV0LEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6OkludGVybm\ +FsPixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6OktWPjo6c3BsaXQ6Omg4\ +ZmU2ZGJjZDBkNGI4ZTA0pwRJanNvbmNfcGFyc2VyOjpzY2FubmVyOjpTY2FubmVyOjpjcmVhdGVfZX\ +Jyb3JfZm9yX3JhbmdlOjpoNTA3ZTVjYTE4NGYzY2EzZqgEWzxyZWdleF9hdXRvbWF0YTo6ZGZhOjpv\ +bmVwYXNzOjpQYXR0ZXJuRXBzaWxvbnMgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDFhMmQzZm\ +ZiNDJhYjQ2MjWpBPsBYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6SGFuZGxlPGFsbG9j\ +Ojpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8YWxsb2M6OmNvbGxlY3Rpb25zOjpidH\ +JlZTo6bm9kZTo6bWFya2VyOjpNdXQsSyxWLGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6\ +Om1hcmtlcjo6SW50ZXJuYWw+LGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcj\ +o6S1Y+OjpzcGxpdDo6aGJmNzJmMDlmZWY3NmQ1Y2WqBD9pbmRleG1hcDo6bWFwOjpJbmRleE1hcDxL\ +LFYsUz46OmdldF9pbmRleF9vZjo6aGExMDljOTNhYjU0OTY4OTGrBExzdGQ6OmNvbGxlY3Rpb25zOj\ +poYXNoOjptYXA6Okhhc2hNYXA8SyxWLFM+Ojpjb250YWluc19rZXk6OmhkYTBkODA5MTEzMDQyNDZj\ +rARGY29yZTo6dW5pY29kZTo6dW5pY29kZV9kYXRhOjpjYXNlX2lnbm9yYWJsZTo6bG9va3VwOjpoND\ +MwMGE4MjFhYjBiNGFjYa0EPWNvcmU6OnVuaWNvZGU6OnVuaWNvZGVfZGF0YTo6Y2FzZWQ6Omxvb2t1\ +cDo6aDE3NzkxNmE3NzU4ZmNiNjCuBC9jb3JlOjpmbXQ6Om51bTo6aW1wOjpmbXRfdTY0OjpoZGIwMD\ +EzZTBjZWFmYTBlNK8ETGNvcmU6OnVuaWNvZGU6OnVuaWNvZGVfZGF0YTo6Z3JhcGhlbWVfZXh0ZW5k\ +Ojpsb29rdXBfc2xvdzo6aDUwNmI1MGM1ZTBkNTM0Y2GwBEJjb3JlOjp1bmljb2RlOjp1bmljb2RlX2\ +RhdGE6OmFscGhhYmV0aWM6Omxvb2t1cDo6aDllOGU5Mjg0OTc3NGM2YTGxBDljb3JlOjp1bmljb2Rl\ +Ojp1bmljb2RlX2RhdGE6Om46Omxvb2t1cDo6aDU3ZDBjZWE4ZDVmNGE5MTOyBEVjb3JlOjpzbGljZT\ +o6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6OnNvcnQ0X3N0YWJsZTo6aDYxYzkwOTlhZjViNzk5ZmSz\ +BEVzdGQ6OmNvbGxlY3Rpb25zOjpoYXNoOjptYXA6Okhhc2hNYXA8SyxWLFM+OjplbnRyeTo6aGU3YT\ +llYmQxNDMwNjkwNDC0BEVjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6OnNvcnQ0\ +X3N0YWJsZTo6aDYzYzhmYTQzYTAyMmYxY2K1BEVjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbW\ +FsbHNvcnQ6OnNvcnQ0X3N0YWJsZTo6aGQ1ZmU5YjY1NDc5OGU2M2S2BExjb3JlOjpzbGljZTo6c29y\ +dDo6c2hhcmVkOjpzbWFsbHNvcnQ6OmJpZGlyZWN0aW9uYWxfbWVyZ2U6OmhmM2UyMzQ5OTJiYjIyNW\ +IytwRIPHJlZ2V4X3N5bnRheDo6aGlyOjpMb29rU2V0IGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6\ +Omg4ZGFlMjMxMjViNTBmNWJkuARKcnVzdGNfZGVtYW5nbGU6OnYwOjpQcmludGVyOjpwcmludF9xdW\ +90ZWRfZXNjYXBlZF9jaGFyczo6aDg1YjUxMzM1ZjQxZjA3Y2O5BD9pbmRleG1hcDo6bWFwOjpJbmRl\ +eE1hcDxLLFYsUz46OmdldF9pbmRleF9vZjo6aDk3OTE5ZmUwMzAzNGE3YWS6BC5hbGxvYzo6c3RyaW\ +5nOjpTdHJpbmc6OnB1c2g6OmgxMDg0YTI1ZDY4NmQxMjdjuwRyY29yZTo6cHRyOjpkcm9wX2luX3Bs\ +YWNlPGFsbG9jOjpib3hlZDo6Qm94PGRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6OldvcmtzcGFjZURpc2\ +NvdmVyRXJyb3JLaW5kPj46Omg5MzVkZTdkMGY5MmZkOGMyvAROcmVnZXhfYXV0b21hdGE6Om5mYTo6\ +dGhvbXBzb246OnBpa2V2bTo6UGlrZVZNOjpzZWFyY2hfc2xvdHM6Omg3OTZjMzc0Y2Q4YzNiNDEyvQ\ +RFc2VyZGU6Ol9fcHJpdmF0ZTo6ZGU6OmNvbnRlbnQ6OkNvbnRlbnQ6OnVuZXhwZWN0ZWQ6Omg0N2Fl\ +YWMyZGJiZWE2MjAwvgQnaXRvYTo6QnVmZmVyOjpmb3JtYXQ6OmhjYzllMDQyYzc2MThjMjNhvwRUPH\ +JlZ2V4X2F1dG9tYXRhOjpkZmE6Om9uZXBhc3M6OkVwc2lsb25zIGFzIGNvcmU6OmZtdDo6RGVidWc+\ +OjpmbXQ6OmgwZThkNzdjZmNjOTAzYmU4wAQwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Om\ +hhYzM1NWU0NDZhNzdiODU1wQRJcmVnZXhfc3ludGF4OjpoaXI6OmludGVydmFsOjpJbnRlcnZhbFNl\ +dDxJPjo6aW50ZXJzZWN0OjpoM2M1MWI5YTkzMmExZjAzNcIESXJlZ2V4X3N5bnRheDo6aGlyOjppbn\ +RlcnZhbDo6SW50ZXJ2YWxTZXQ8ST46OmludGVyc2VjdDo6aDg0NTQ2ZDY1ODAzMDkzZDnDBDxkZW5v\ +X2NvbmZpZzo6Z2xvYjo6R2xvYlBhdHRlcm46OmJhc2VfcGF0aDo6aDhhM2Y0ODBkYjJmMmRkODLEBD\ +xyZWdleF9zeW50YXg6Omhpcjo6UHJvcGVydGllczo6cmVwZXRpdGlvbjo6aDk4MzM0MWZjZmM2YzBk\ +MWLFBHo8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpSZXZlcnNlQW5jaG9yZWQgYXMgcm\ +VnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OmlzX21hdGNoOjpoMWMwMTdm\ +YmVjYzYyMTA3Y8YEPG1lbWNocjo6YXJjaDo6YWxsOjp0d293YXk6OlNoaWZ0Ojpmb3J3YXJkOjpoZj\ +M3YmE0MjVmOTdmNzRhY8cEdTxjb3JlOjppdGVyOjphZGFwdGVyczo6ZmlsdGVyX21hcDo6RmlsdGVy\ +TWFwPEksRj4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0Oj\ +poYTljY2YwMzc2MjVmNmIxOcgEVnJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpjb21waWxl\ +cjo6VXRmOENvbXBpbGVyOjpjb21waWxlX2Zyb206OmgxNDAxMmVhYWIyMDk5NzUxyQQ2Y29yZTo6c2\ +xpY2U6Om1lbWNocjo6bWVtY2hyX2FsaWduZWQ6OmhkY2MyYTU0ZjEzNTA5NTUwygRBc2VyZGVfanNv\ +bjo6ZGU6OkRlc2VyaWFsaXplcjxSPjo6cGFyc2VfZGVjaW1hbDo6aGE4ZGQ2MmFjNzA3ZWIzMDbLBE\ +ZyZWdleF9hdXRvbWF0YTo6ZGZhOjpvbmVwYXNzOjpERkE6OnRyeV9zZWFyY2hfc2xvdHM6OmgyMTFl\ +ZjVhYTBhNGVlZmEyzARmPGNvcmU6OnN0cjo6cGF0dGVybjo6Q2hhclNlYXJjaGVyIGFzIGNvcmU6On\ +N0cjo6cGF0dGVybjo6U2VhcmNoZXI+OjpuZXh0X21hdGNoOjpoY2UzMjEzM2RiNzMzOThkZS4yMTY2\ +zQRSYWhvX2NvcmFzaWNrOjpkZmE6OkJ1aWxkZXI6OmZpbmlzaF9idWlsZF9vbmVfc3RhcnQ6Ont7Y2\ +xvc3VyZX19OjpoZmYwZGUwZTYyMzIwNDE2Ms4EVzxzdGQ6OnN5bmM6OmxhenlfbG9jazo6TGF6eUxv\ +Y2s8VCxGPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoYzQ1ZTAxOGZkMDAxNjRkMc\ +8EMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoOTA1MTMwMDFmOGYxNzY5NtAEUWNvcmU6\ +Om51bTo6PGltcGwgY29yZTo6c3RyOjp0cmFpdHM6OkZyb21TdHIgZm9yIHU2ND46OmZyb21fc3RyOj\ +poM2MzMTJiOWE4NzM3ZmQwNNEEP2Rlbm9fc2VtdmVyOjpqc3I6OkpzckRlcFBhY2thZ2VSZXE6OmZy\ +b21fc3RyOjpoMTFjMjcxMjgzNDI3M2IxNNIERWRlbm9fc2VtdmVyOjpqc3I6OkpzckRlcFBhY2thZ2\ +VSZXE6OmZyb21fc3RyX2xvb3NlOjpoODg0YjJkMWQyZThmNzQ5NNMEMDwmVCBhcyBjb3JlOjpmbXQ6\ +OkRlYnVnPjo6Zm10OjpoMzJiMzAzMTE5NWU3OTg5YtQERWNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZW\ +Q6OnNtYWxsc29ydDo6c29ydDRfc3RhYmxlOjpoZmU3MGM4ZjkxYzgzMzBiYdUEV2Fob19jb3Jhc2lj\ +azo6bmZhOjpub25jb250aWd1b3VzOjpDb21waWxlcjo6c2V0X2FuY2hvcmVkX3N0YXJ0X3N0YXRlOj\ +poNDU3MmM1MTFhM2QzYjI5Y9YERmRlbm9fc2VtdmVyOjpyYW5nZTo6UGFydGlhbDo6YXNfY2FyZXRf\ +dmVyc2lvbl9yYW5nZTo6aDM0ZjZiNTgwNWQ4MGI1NWbXBEBkZW5vX3NlbXZlcjo6cmFuZ2U6OlBhcn\ +RpYWw6OmFzX2dyZWF0ZXJfcmFuZ2U6Omg3YTM1Nzg1MWNkMGRkYmVk2ARXPHJlZ2V4X2F1dG9tYXRh\ +Ojp1dGlsOjpzdGFydDo6U3RhcnRCeXRlTWFwIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhjNT\ +c5ZGJhZDc2ZWJlZTM42QRKY29yZTo6Zm10OjpudW06OjxpbXBsIGNvcmU6OmZtdDo6RGVidWcgZm9y\ +IHUzMj46OmZtdDo6aGI3YTNiZTUzYjUzZmFiYjMuODTaBEZkbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbW\ +FsbG9jPEE+OjppbnNlcnRfbGFyZ2VfY2h1bms6OmhlZDZiZGFhY2I4Njc3OWZh2wRuPGFsbG9jOjpj\ +b2xsZWN0aW9uczo6YnRyZWU6Om1hcDo6S2V5czxLLFY+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aX\ +RlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aGE3ZmFjNjI4MDBlYzdjOTLcBCtnbG9iOjppbl9jaGFy\ +X3NwZWNpZmllcnM6Omg4NGEwMzNmNGUwYzBmMDg03QRBY29yZTo6Y2hhcjo6bWV0aG9kczo6PGltcG\ +wgY2hhcj46OnRvX3VwcGVyY2FzZTo6aDBjYWZlZmIyZWFmNjBkNGLeBDByZWdleF9zeW50YXg6Omhp\ +cjo6SGlyOjpjbGFzczo6aDlkMDRlN2M2ZjJiZjhiYmXfBEhyZWdleF9zeW50YXg6OmFzdDo6cGFyc2\ +U6OlBhcnNlckk8UD46OnB1c2hfY2xhc3Nfb3Blbjo6aGVhMThmNjk2YzE1N2ZjYTPgBC9jb3JlOjpm\ +bXQ6OldyaXRlOjp3cml0ZV9jaGFyOjpoMWMxNWRjM2Q0ZWY0NzMwYuEETGNvcmU6OnNsaWNlOjpzb3\ +J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6YmlkaXJlY3Rpb25hbF9tZXJnZTo6aDczMjUyZTZlM2Q5ZjRl\ +MmPiBExyZWdleF9hdXRvbWF0YTo6ZGZhOjpvbmVwYXNzOjpJbnRlcm5hbEJ1aWxkZXI6OnN0YWNrX3\ +B1c2g6OmgyZmExMjlkODIzY2NlMjFh4wRoPGNvcmU6Oml0ZXI6OmFkYXB0ZXJzOjptYXA6Ok1hcDxJ\ +LEY+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aDE4ZD\ +QwZTc5NzUwN2UwZmHkBDRpbXBvcnRfbWFwOjpleHQ6OnBvcF9sYXN0X3NlZ21lbnQ6OmhiMmM5ODhk\ +N2U3YmMzYmFh5QQvZGVub19zZW12ZXI6Om5wbTo6bG9naWNhbF9vcjo6aGRlNDFjNTE5MDE5YjhiM2\ +LmBExjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6OmJpZGlyZWN0aW9uYWxfbWVy\ +Z2U6Omg5YTRkYTAxNGM1M2Y0ODg35wRMY29yZTo6c2xpY2U6OnNvcnQ6OnNoYXJlZDo6c21hbGxzb3\ +J0OjpiaWRpcmVjdGlvbmFsX21lcmdlOjpoZmZkMGVmNjUzZDcwMDk4ZegEVHJlZ2V4X2F1dG9tYXRh\ +OjpkZmE6Om9uZXBhc3M6OkludGVybmFsQnVpbGRlcjo6Y29tcGlsZV90cmFuc2l0aW9uOjpoNzIxOD\ +RjNGY0NjFhNWQ3NOkEOHVybDo6cGFyc2VyOjpQYXJzZXI6OnBhcnNlX3BhdGhfc3RhcnQ6Omg0ZDc1\ +ZWE5ZmI1MjJhYWFi6gRMY29yZTo6c2xpY2U6OnNvcnQ6OnNoYXJlZDo6c21hbGxzb3J0OjpiaWRpcm\ +VjdGlvbmFsX21lcmdlOjpoODk5NjViZmRiYmQyMDExNesE9wFhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0\ +cmVlOjpub2RlOjpIYW5kbGU8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6Tm9kZVJlZj\ +xhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6Ok11dCxLLFYsYWxsb2M6OmNv\ +bGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpMZWFmPixhbGxvYzo6Y29sbGVjdGlvbnM6Om\ +J0cmVlOjpub2RlOjptYXJrZXI6OktWPjo6c3BsaXQ6OmhjZWQxOWEzNDIyZWEwYjEy7AQ3YWxsb2M6\ +OnZlYzo6VmVjPFQsQT46OmV4dGVuZF90cnVzdGVkOjpoMDA4Zjk0YWYzYzk3NzkyYu0EKXN0ZDo6cG\ +F0aDo6UGF0aDo6X2pvaW46OmhmNTcyMjM5NTU5NmNjMDll7gQvY29yZTo6Zm10OjpXcml0ZTo6d3Jp\ +dGVfY2hhcjo6aDQyMGVkMTJlOTk3NzhjZmHvBC9jb3JlOjpmbXQ6OldyaXRlOjp3cml0ZV9jaGFyOj\ +poYTc2MzRlNzcwZjQ1Y2E3N/AEPjxzdGQ6OnBhdGg6OlBhdGggYXMgY29yZTo6aGFzaDo6SGFzaD46\ +Omhhc2g6Omg5NTZmZDIxNmQ0M2FlYzQw8QRwPGFsbG9jOjp2ZWM6OlZlYzxUPiBhcyBhbGxvYzo6dm\ +VjOjpzcGVjX2Zyb21faXRlcl9uZXN0ZWQ6OlNwZWNGcm9tSXRlck5lc3RlZDxULEk+Pjo6ZnJvbV9p\ +dGVyOjpoM2Y3N2EyYWE0ZGFhODQwNfIEN2FsbG9jOjp2ZWM6OlZlYzxULEE+OjpleHRlbmRfdHJ1c3\ +RlZDo6aDVhMjk0NWU0NWFmZGFkZWLzBENyZWdleF9zeW50YXg6Omhpcjo6aW50ZXJ2YWw6OkludGVy\ +dmFsU2V0PEk+OjpuZXc6OmhjZjM1NmM0ZDY1YjJjMjMw9ARUPHJlZ2V4X3N5bnRheDo6aGlyOjp0cm\ +Fuc2xhdGU6OkhpckZyYW1lIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg2NzUwOGE2MzFmMTc0\ +NmEx9QRFaW5kZXhtYXA6Om1hcDo6Y29yZTo6SW5kZXhNYXBDb3JlPEssVj46OnB1c2hfZW50cnk6Om\ +g5YjhiYWMzMjM5YzY2OTJl9gQ8dXJsOjpwYXRoX3NlZ21lbnRzOjpQYXRoU2VnbWVudHNNdXQ6OnB1\ +c2g6Omg0ZDUwYmQ1YTVmM2FmNDdk9wQwY29yZTo6b3BzOjpmdW5jdGlvbjo6Rm46OmNhbGw6OmhlMm\ +E3NDY0MDVkYjViNTVk+AREcmVnZXhfc3ludGF4Ojphc3Q6OnBhcnNlOjpQYXJzZXJJPFA+OjpwYXJz\ +ZV9vY3RhbDo6aDg3YjVlYTg5YWI1NGJhYjX5BD9haG9fY29yYXNpY2s6OnV0aWw6OnJlbWFwcGVyOj\ +pSZW1hcHBlcjo6c3dhcDo6aGJiNTBmMDQ5ZTM0NzM0MTD6BDA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1\ +Zz46OmZtdDo6aDM4YTAyNTlkZTYwNzM2OTj7BE48c2VyZGVfanNvbjo6dmFsdWU6OlZhbHVlIGFzIG\ +NvcmU6OmNsb25lOjpDbG9uZT46OmNsb25lOjpoNjgzMmFlYWU1MmFkMTM3MS45MDn8BDtoYXNoYnJv\ +d246Om1hcDo6SGFzaE1hcDxLLFYsUyxBPjo6aW5zZXJ0OjpoMTk1OWVmMjc2NDE0NWI5Zf0EO2hhc2\ +hicm93bjo6bWFwOjpIYXNoTWFwPEssVixTLEE+OjppbnNlcnQ6Omg2YjdjMjgzYzJhMWUzM2U0/gRF\ +c3RkOjpjb2xsZWN0aW9uczo6aGFzaDo6bWFwOjpFbnRyeTxLLFY+Ojpvcl9pbnNlcnQ6OmhjNTNlZj\ +g3NTU4YjRhN2E5/wQ1dGlueXZlYzo6dGlueXZlYzo6VGlueVZlYzxBPjo6cHVzaDo6aGZkODFmZTZj\ +ZjIwZTRjZWSABTdyZWdleF9zeW50YXg6Omhpcjo6UHJvcGVydGllczo6Y2xhc3M6Omg0NTlkMWJjNT\ +U3MDNmZjY3gQVUcmVnZXhfYXV0b21hdGE6OnV0aWw6OmNhcHR1cmVzOjpHcm91cEluZm9Jbm5lcjo6\ +Zml4dXBfc2xvdF9yYW5nZXM6OmhiZDg3MzI4NDE2ZDI2NWNjggVsPGNvcmU6Oml0ZXI6OmFkYXB0ZX\ +JzOjpjaGFpbjo6Q2hhaW48QSxCPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVy\ +YXRvcj46Om5leHQ6Omg3MTYwZmZkMWVjZmE3MmQ1gwU0PGNoYXIgYXMgY29yZTo6Zm10OjpEaXNwbG\ +F5Pjo6Zm10OjpoODJiYWQ2YmU0MTg1ZDI3MYQFM2FsbG9jOjpzeW5jOjpBcmM8VCxBPjo6ZHJvcF9z\ +bG93OjpoZWQ3YzdjNTk5NGNmYWQ5NoUFJ2l0b2E6OkJ1ZmZlcjo6Zm9ybWF0OjpoYmE5ZTk5YWQ1Yj\ +U2N2E3ZYYFMGNvcmU6Om9wczo6ZnVuY3Rpb246OkZuOjpjYWxsOjpoNzcyMWNhNjEwMWI5Y2E5N4cF\ +dTxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9hdXRvbWF0YT\ +o6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6c2VhcmNoX3Nsb3RzOjpoMDZhOWNjY2M4NjQ4MTFh\ +NIgFRmFob19jb3Jhc2ljazo6bmZhOjpub25jb250aWd1b3VzOjpORkE6OmNvcHlfbWF0Y2hlczo6aD\ +JhMDRjYTIxYTg0NTA3ZTmJBU5kZW5vX3BhY2thZ2VfanNvbjo6UGFja2FnZUpzb246OmxvYWRfZnJv\ +bV92YWx1ZTo6bWFwX3N0cmluZzo6aGQwNmJjYTI4OGM2MDNkMDKKBVRyZWdleF9zeW50YXg6Omhpcj\ +o6dHJhbnNsYXRlOjpUcmFuc2xhdG9ySTo6aGlyX3BlcmxfdW5pY29kZV9jbGFzczo6aDA4NWZkMjky\ +YWQ4NDAzYjWLBUo8YWxsb2M6OnN0cmluZzo6U3RyaW5nIGFzIGNvcmU6OmZtdDo6V3JpdGU+Ojp3cm\ +l0ZV9jaGFyOjpoNGM1YzQ4Y2U5Mzg0MWRlMowFN2NvcmU6OmZtdDo6YnVpbGRlcnM6OkRlYnVnU2V0\ +OjplbnRyeTo6aGZjOTE1ZWExZWIyMGFlZGaNBVNjb3JlOjpudW06OjxpbXBsIGNvcmU6OnN0cjo6dH\ +JhaXRzOjpGcm9tU3RyIGZvciB1c2l6ZT46OmZyb21fc3RyOjpoYzc2Y2Q5YjhhNjUzODc3MI4FRGNv\ +cmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6aW5zZXJ0X3RhaWw6Omg3ZmJkODRkNj\ +JmMDJlNzAwjwVmPHNlcmRlX2pzb246OnZhbHVlOjpkZTo6U2VxRGVzZXJpYWxpemVyIGFzIHNlcmRl\ +OjpkZTo6U2VxQWNjZXNzPjo6bmV4dF9lbGVtZW50X3NlZWQ6OmhmNmIzNzJiMTQ1YTM0Y2U4kAVtPG\ +NvcmU6OnN0cjo6cGF0dGVybjo6Q2hhclNlYXJjaGVyIGFzIGNvcmU6OnN0cjo6cGF0dGVybjo6UmV2\ +ZXJzZVNlYXJjaGVyPjo6bmV4dF9tYXRjaF9iYWNrOjpoMzgwOWFkYjczNGRkODU4MpEFXmNvcmU6On\ +B0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6Y29tcGlsZXI6\ +OkNvbXBpbGVyPjo6aDg5OThkYzNkMzQxYTViNDWSBUNyZWdleF9zeW50YXg6Omhpcjo6aW50ZXJ2YW\ +w6OkludGVydmFsU2V0PEk+OjpuZXc6OmhlYzIzYzM0ZDhjNDc2MzRmkwU7aGFzaGJyb3duOjptYXA6\ +Okhhc2hNYXA8SyxWLFMsQT46Omluc2VydDo6aGMzMWNhNDI0MzA1MjdhNmWUBbQBPGRlbm9fbG9ja2\ +ZpbGU6Ol86OjxpbXBsIHNlcmRlOjpkZTo6RGVzZXJpYWxpemUgZm9yIGRlbm9fbG9ja2ZpbGU6Oldv\ +cmtzcGFjZU1lbWJlckNvbmZpZ0NvbnRlbnQ+OjpkZXNlcmlhbGl6ZTo6X19GaWVsZFZpc2l0b3IgYX\ +Mgc2VyZGU6OmRlOjpWaXNpdG9yPjo6dmlzaXRfYnl0ZXM6OmgwN2VjNTUwMjI3YzcwMzU2lQVEPHJl\ +Z2V4X3N5bnRheDo6aGlyOjpIaXIgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDQ3MDU4ODc0ND\ +BhMjAwN2OWBS9jb3JlOjplc2NhcGU6OmVzY2FwZV91bmljb2RlOjpoYTFkYjhhZDcxOWIyZGFhY5cF\ +cjxjb3JlOjpzdHI6OnBhdHRlcm46OkNoYXJTZWFyY2hlciBhcyBjb3JlOjpzdHI6OnBhdHRlcm46Ol\ +JldmVyc2VTZWFyY2hlcj46Om5leHRfbWF0Y2hfYmFjazo6aDM4MDlhZGI3MzRkZDg1ODIuMjIwOJgF\ +NXVybDo6cGFyc2VyOjpQYXJzZXI6OmZyYWdtZW50X29ubHk6OmhmMTQxMWZjNWUxM2Q1OWE2mQU5Y2\ +9yZTo6Zm10OjpidWlsZGVyczo6RGVidWdUdXBsZTo6ZmllbGQ6OmhjY2QwOTk1MGY3YTZhMmY1mgVs\ +PGFob19jb3Jhc2ljazo6bmZhOjpjb250aWd1b3VzOjpORkEgYXMgYWhvX2NvcmFzaWNrOjphdXRvbW\ +F0b246OkF1dG9tYXRvbj46Om1hdGNoX3BhdHRlcm46OmgzYTYwMTQzNjkzZWJhMjI2mwWJAWNvcmU6\ +OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cG9vbDo6UG9vbEd1YXJkPG\ +FsbG9jOjp2ZWM6OlZlYzx1c2l6ZT4sZm4oKSAuPiBhbGxvYzo6dmVjOjpWZWM8dXNpemU+Pj46Omhi\ +ZWU1MTc4NDg0MmU0ZjdknAVDc3RkOjpjb2xsZWN0aW9uczo6aGFzaDo6bWFwOjpIYXNoTWFwPEssVi\ +xTPjo6Z2V0OjpoNDBkZTAwMWM1ODk2MWUwNZ0FcTxhaG9fY29yYXNpY2s6Om5mYTo6Y29udGlndW91\ +czo6TkZBIGFzIGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+OjptYXRjaF9wYXR0ZX\ +JuOjpoM2E2MDE0MzY5M2ViYTIyNi4xMjAwngU6Y29yZTo6c3RyOjo8aW1wbCBzdHI+Ojp0cmltX2Vu\ +ZF9tYXRjaGVzOjpoNDdkNzBhMDRhY2ViNmY4YZ8F+wFhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOj\ +pub2RlOjpIYW5kbGU8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6Tm9kZVJlZjxhbGxv\ +Yzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6Ok11dCxLLFYsYWxsb2M6OmNvbGxlY3\ +Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpJbnRlcm5hbD4sYWxsb2M6OmNvbGxlY3Rpb25zOjpi\ +dHJlZTo6bm9kZTo6bWFya2VyOjpLVj46OnNwbGl0OjpoNjlkZDdmMjI1Y2MwZTQ1M6AFL2NvcmU6On\ +N0cjo6PGltcGwgc3RyPjo6cmZpbmQ6Omg5YTI4ODM0MDU4YTVlMzhmoQVEc3RkOjpjb2xsZWN0aW9u\ +czo6aGFzaDo6c2V0OjpIYXNoU2V0PFQsUz46Omluc2VydDo6aDc3NDgzM2Q3NTA0ODk0NDOiBVE8cm\ +VnZXhfYXV0b21hdGE6Omh5YnJpZDo6ZGZhOjpDb25maWcgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZt\ +dDo6aGJmNTU1ZjMxMzM0YjExMzijBU08VCBhcyBhbGxvYzo6dmVjOjpzcGVjX2Zyb21fZWxlbTo6U3\ +BlY0Zyb21FbGVtPjo6ZnJvbV9lbGVtOjpoMWIyNjhjN2IzYWU1YjFkMaQFOmRlbm9fcGF0aF91dGls\ +Ojp1cmxfZnJvbV9kaXJlY3RvcnlfcGF0aDo6aDdhOTQzMjVhNjQ4ZDZmYTilBThyZWdleF9zeW50YX\ +g6Omhpcjo6Q2xhc3NCeXRlczo6bmVnYXRlOjpoYzZlN2FjNjM3NTRlYjBkYqYFLmlkbmE6OnV0czQ2\ +OjpjaGVja192YWxpZGl0eTo6aDU5ODc3NjE5OTI2YWFmM2anBTNhbGxvYzo6c3RyaW5nOjpTdHJpbm\ +c6OnB1c2g6OmgxMDg0YTI1ZDY4NmQxMjdjLjEwODaoBaYBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNl\ +PGFsbG9jOjp2ZWM6OlZlYzxzdGQ6OmNvbGxlY3Rpb25zOjpoYXNoOjptYXA6Okhhc2hNYXA8YWxsb2\ +M6OnN5bmM6OkFyYzxzdHI+LHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmltaXRpdmVzOjpTbWFsbElu\ +ZGV4Pj4+OjpoYWMwZTJmMjVmZTJkYWUzM6kFUGhhc2hicm93bjo6cmF3OjpSYXdUYWJsZUlubmVyOj\ +pmaW5kX29yX2ZpbmRfaW5zZXJ0X3Nsb3RfaW5uZXI6Omg2NjljZmM1OWI3MGI2N2E2qgVGPHNlcmRl\ +X2pzb246OmVycm9yOjpFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNDk0NWQ1NWY4OT\ +RmMzU2ZasFQnJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwb29sOjpQb29sR3VhcmQ8VCxGPjo6cHV0Ojpo\ +NmU4ZmQxNWJhZjkzYjYwN6wFXDxyZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6bmZhOjpUcm\ +Fuc2l0aW9uIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhkMmZjMDhiY2I2YzFlYmM3rQUzcmVn\ +ZXhfc3ludGF4OjpkZWJ1Zzo6dXRmOF9kZWNvZGU6Omg5YjNlYTZkY2ZhN2MzZDhjrgVDc3RkOjpwYX\ +RoOjpDb21wb25lbnRzOjpwYXJzZV9uZXh0X2NvbXBvbmVudF9iYWNrOjpoOTc3OGVkNTkwMzQxMTQy\ +OK8FbmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9wdGlvbjxkZW5vX2Nvbm\ +ZpZzo6Z2xvYjo6Z2l0aWdub3JlOjpHaXRJZ25vcmVUcmVlPj46OmgwZjk2OTNjNTlmM2QxNzYysAUs\ +bW9uY2g6Om1heWJlOjp7e2Nsb3N1cmV9fTo6aDk3ZWIzMWQyMGYzZTViNzGxBSltb25jaDo6b3I6On\ +t7Y2xvc3VyZX19OjpoNWMyYzE2MmIwN2JjM2I2NbIFLG1vbmNoOjptYXliZTo6e3tjbG9zdXJlfX06\ +Omg1NDQyZTJlNTgxYjczYzA5swV1PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPF\ +A+IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpzZWFyY2hfc2xv\ +dHM6Omg4MThkZDQ0ZDg2YjZjMjIytAU3YWxsb2M6OnZlYzo6VmVjPFQsQT46OmV4dGVuZF90cnVzdG\ +VkOjpoNWU2NWY5MjYyYzNlMzQwNbUFM2NvcmU6OnNsaWNlOjo8aW1wbCBbVF0+OjpyZXZlcnNlOjpo\ +MjMxNDBhMDkzMmE5ZGU4NrYFOWNvcmU6OnVuaWNvZGU6OnByaW50YWJsZTo6aXNfcHJpbnRhYmxlOj\ +poZjExNjA2YjhjYjM4NGVhMrcFdTxjb3JlOjppdGVyOjphZGFwdGVyczo6ZmlsdGVyX21hcDo6Rmls\ +dGVyTWFwPEksRj4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZX\ +h0OjpoNTkxM2FjMWEwZWI0NmZhOLgFfTxyZWdleF9hdXRvbWF0YTo6dXRpbDo6YWxwaGFiZXQ6OkJ5\ +dGVDbGFzc1JlcHJlc2VudGF0aXZlcyBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdG\ +VyYXRvcj46Om5leHQ6Omg5YzA4NDU4YzE3ZTNmOTk0uQV1PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpz\ +dHJhdGVneTo6UHJlPFA+IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3\ +k+OjpzZWFyY2hfc2xvdHM6OmhjYzc3OTMyYjcxZDZhN2RmugU6cmVnZXhfc3ludGF4OjpoaXI6OkNs\ +YXNzVW5pY29kZTo6bmVnYXRlOjpoYmRhMzgzOGExMjAyMjI5ObsFPGNvcmU6OmNoYXI6Om1ldGhvZH\ +M6OmVuY29kZV91dGY4X3Jhdzo6aDMwMTI2NjY3ZjliMGZiZGYuMTQzNrwFZmRlbm9fY29uZmlnOjp3\ +b3Jrc3BhY2U6OmRpc2NvdmVyeTo6cmVzb2x2ZV93b3Jrc3BhY2VfZm9yX2NvbmZpZ19mb2xkZXI6On\ +t7Y2xvc3VyZX19OjpoNDdiZDdhMDNlOTQ1OGQ2N70FUnJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21w\ +c29uOjpwaWtldm06OlBpa2VWTTo6c2VhcmNoX3Nsb3RzX2ltcDo6aGZhYWQyNjUxMWExNjU3MGK+BU\ +Njb3JlOjpmbXQ6OkZvcm1hdHRlcjo6ZGVidWdfc3RydWN0X2ZpZWxkc19maW5pc2g6OmhkZDBhZGQ5\ +ZDE0ZWJkODc5vwVIaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlSW5uZXI6OmZhbGxpYmxlX3dpdGhfY2\ +FwYWNpdHk6OmhiOWNiYmU3Yzk0MGM2MGQxwAUuY29yZTo6c3RyOjo8aW1wbCBzdHI+OjpmaW5kOjpo\ +NDU5ZWM0NDgyMTk3MDQ1McEFRWNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6c2\ +9ydDRfc3RhYmxlOjpoNzE1NTAwZmEyNjY4YWNjM8IFMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6\ +Zm10OjpoMTZlMzNjZmNkZGYyYmNiZcMFSXJlZ2V4X3N5bnRheDo6YXN0OjpwYXJzZTo6UGFyc2VyST\ +xQPjo6cGFyc2VfcGVybF9jbGFzczo6aGQ1ZmMxMjA4NDM1OTg2NTnEBVdoYXNoYnJvd246OnJhdzo6\ +aW5uZXI6OlJhd1RhYmxlSW5uZXI6OmZpbmRfb3JfZmluZF9pbnNlcnRfc2xvdF9pbm5lcjo6aDA5Nj\ +VjOWZhNTdkYTQzOWPFBURzdGQ6OmNvbGxlY3Rpb25zOjpoYXNoOjpzZXQ6Okhhc2hTZXQ8VCxTPjo6\ +aW5zZXJ0OjpoMzZkOTU4MmRhNzQ3YTliZMYFS3JlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOj\ +pjb21waWxlcjo6Q29tcGlsZXI6OnBhdGNoOjpoYjk1YmJkZjE4NTU5N2ZhNscFRHJlZ2V4X2F1dG9t\ +YXRhOjpoeWJyaWQ6OmRmYTo6TGF6eTo6c2V0X3RyYW5zaXRpb246Omg5Y2FlNTEzYzkzYmJlNmM0yA\ +VRPGhhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46\ +OmRyb3A6Omg0Njk5NzhjYzAxMjcwOTZiyQVGanNvbmNfcGFyc2VyOjpwYXJzZV90b19hc3Q6OkNvbn\ +RleHQ6OmhhbmRsZV9jb21tZW50OjpoYTVjMDZhZGE2MTg3MDM5ZcoFMDwmVCBhcyBjb3JlOjpmbXQ6\ +OkRlYnVnPjo6Zm10OjpoOTdlMzc5ZjJiZDllZjI1NcsFR3JlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob2\ +1wc29uOjpidWlsZGVyOjpCdWlsZGVyOjphZGQ6OmhmMzZhMzAxNTcxNzE2ZmFizAU1cmVnZXhfc3lu\ +dGF4Ojphc3Q6OkZsYWdzOjphZGRfaXRlbTo6aDMzZjkxMjU5MWZlZTRlMWPNBUw8Y29yZTo6aGFzaD\ +o6c2lwOjpIYXNoZXI8Uz4gYXMgY29yZTo6aGFzaDo6SGFzaGVyPjo6d3JpdGU6Omg1NWE2ZmMxYWNk\ +MzRjMjY5zgVgY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6Ol\ +Jlc29sdmVXb3Jrc3BhY2VNZW1iZXJFcnJvcj46OmhhZjY4NjkxZDgzODYyMDFlzwUuZ2xvYjo6cGFy\ +c2VfY2hhcl9zcGVjaWZpZXJzOjpoN2QwNTY4MTQ0NzkyZTZhZNAFYTxjb3JlOjpzdHI6OnBhdHRlcm\ +46OkNoYXJTZWFyY2hlciBhcyBjb3JlOjpzdHI6OnBhdHRlcm46OlNlYXJjaGVyPjo6bmV4dF9tYXRj\ +aDo6aGNlMzIxMzNkYjczMzk4ZGXRBUw8Y29yZTo6aGFzaDo6c2lwOjpIYXNoZXI8Uz4gYXMgY29yZT\ +o6aGFzaDo6SGFzaGVyPjo6d3JpdGU6Omg1NTRlNDA4MmNjMWVkNTBl0gU1aW1wb3J0X21hcDo6U3Bl\ +Y2lmaWVyTWFwVmFsdWU6Om5ldzo6aGY0MjU4MTg5NTViMGQ0ODDTBUlyZWdleF9hdXRvbWF0YTo6bm\ +ZhOjp0aG9tcHNvbjo6Y29tcGlsZXI6OkNvbXBpbGVyOjpuZXc6OmhhNzIxMjk2NWEzZjZjZjFk1AVD\ +cmVnZXhfc3ludGF4OjpoaXI6OmludGVydmFsOjpJbnRlcnZhbFNldDxJPjo6bmV3OjpoYjAwNzEwZm\ +NhZGQ2NmU2Y9UFPW1lbWNocjo6YXJjaDo6YWxsOjp0d293YXk6OlN1ZmZpeDo6Zm9yd2FyZDo6aGQy\ +MGQ0Nzk2MTRkYzQwODfWBS5jb3JlOjphc2NpaTo6ZXNjYXBlX2RlZmF1bHQ6Omg0YWM2ZTQ4OGY1Zm\ +JhYjZi1wVIaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlSW5uZXI6OmZhbGxpYmxlX3dpdGhfY2FwYWNp\ +dHk6OmgyYjRlMWMzMmE2ZDk1N2Ji2AVlPGNvcmU6OnN0cjo6cGF0dGVybjo6Q2hhclNlYXJjaGVyIG\ +FzIGNvcmU6OnN0cjo6cGF0dGVybjo6U2VhcmNoZXI+OjpuZXh0X21hdGNoOjpoY2UzMjEzM2RiNzMz\ +OThkZS41MTfZBVE8c2VyZGVfanNvbjo6ZXJyb3I6Okpzb25VbmV4cGVjdGVkIGFzIGNvcmU6OmZtdD\ +o6RGlzcGxheT46OmZtdDo6aDFlNDM5NDZlOWU2OTFjMzTaBVE8aGFzaGJyb3duOjpyYXc6OlJhd1Rh\ +YmxlPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDFlNGM1MjkwZTkzNmYzYj\ +TbBWw8YWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6Ok5GQSBhcyBhaG9fY29yYXNpY2s6\ +OmF1dG9tYXRvbjo6QXV0b21hdG9uPjo6bmV4dF9zdGF0ZTo6aDY0MjNlZjEzMWRmYmNiOTncBWJhaG\ +9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91czo6Q29tcGlsZXI6OmNsb3NlX3N0YXJ0X3N0YXRl\ +X2xvb3BfZm9yX2xlZnRtb3N0OjpoYWZiY2ZjZmU3NzM4ZGQzMd0FUTxoYXNoYnJvd246OnJhdzo6Um\ +F3VGFibGU8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoZWJkNzA4ZGQxODQ4\ +YzU5N94FcTxhaG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91czo6TkZBIGFzIGFob19jb3Jhc2\ +ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+OjpuZXh0X3N0YXRlOjpoNjQyM2VmMTMxZGZiY2I5OS4x\ +MjIz3wVDcmVnZXhfc3ludGF4OjpoaXI6OmludGVydmFsOjpJbnRlcnZhbFNldDxJPjo6bmV3OjpoOG\ +FiMDcxZmEyYTgyODg4MeAFPGluZGV4bWFwOjpzZXQ6OkluZGV4U2V0PFQ+Ojp3aXRoX2NhcGFjaXR5\ +OjpoOTgzNDAyYTEyYjZjMWRiMOEFUGFob19jb3Jhc2ljazo6YWhvY29yYXNpY2s6OkFob0NvcmFzaW\ +NrOjpmaW5kX292ZXJsYXBwaW5nX2l0ZXI6OmhmNWUxZTA1Yjg1Y2ZlOTU14gUzY29yZTo6c2xpY2U6\ +OjxpbXBsIFtUXT46OnJldmVyc2U6OmgwNGRiMTNmZDdmZGJiMTYz4wVecmVnZXhfYXV0b21hdGE6Om\ +1ldGE6OndyYXBwZXJzOjpIeWJyaWRFbmdpbmU6OnRyeV93aGljaF9vdmVybGFwcGluZ19tYXRjaGVz\ +OjpoYmM3ODNhNTI0Yzg1ODEzMuQFPHNlcmRlOjpfX3ByaXZhdGU6OmRlOjpmbGF0X21hcF90YWtlX2\ +VudHJ5OjpoYWI0ODg3MDM0ZGJiYzNiMOUFTXJlZ2V4X3N5bnRheDo6YXN0OjpwYXJzZTo6UGFyc2Vy\ +STxQPjo6dW5jbG9zZWRfY2xhc3NfZXJyb3I6OmgxZjBkMjY1ZmEwNTliNzU35gVGPGFsbG9jOjpyYz\ +o6UmM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoNzU5NGM1NDg0ODg4MGYz\ +OecFKm1vbmNoOjptYXA6Ont7Y2xvc3VyZX19OjpoOWYzYTgyOWFhM2RiODI2MegFRjxhbGxvYzo6dm\ +VjOjpWZWM8VCxBPiBhcyBjb3JlOjpjbG9uZTo6Q2xvbmU+OjpjbG9uZTo6aDg2YzE4N2MxZjlkYzEx\ +ZTfpBWQ8cGVyY2VudF9lbmNvZGluZzo6UGVyY2VudEVuY29kZSBhcyBjb3JlOjppdGVyOjp0cmFpdH\ +M6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6Omg0YjA1MTRmZTIzMmEzNGEw6gUxYWxsb2M6OnZl\ +Yzo6VmVjPFQsQT46OmRlZHVwX2J5OjpoYTgxMzg0NTQwNmJhNTM0NOsFZXJlZ2V4X2F1dG9tYXRhOj\ +puZmE6OnRob21wc29uOjpiYWNrdHJhY2s6OkJvdW5kZWRCYWNrdHJhY2tlcjo6dHJ5X3NlYXJjaF9z\ +bG90c19pbXA6Omg2ZDExZTc1YjFjOGEyMGUx7AU9cmVnZXhfc3ludGF4Ojphc3Q6OnBhcnNlOjpQYX\ +JzZXJJPFA+OjpidW1wOjpoNmQxNGYxYWNkYTlkODIwYe0FO3JlZ2V4X3N5bnRheDo6YXN0OjpwYXJz\ +ZTo6c3BlY2lhbGl6ZV9lcnI6OmhhNWQwZWQxZjhiNDBmOTg27gU4c2VyZGVfanNvbjo6cmVhZDo6cH\ +VzaF93dGY4X2NvZGVwb2ludDo6aGQzNjdlMDY3ZDE0NzFmYTjvBVE8aGFzaGJyb3duOjpyYXc6OlJh\ +d1RhYmxlPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGQ2NjhkOGU2YjIxZD\ +I3NDXwBU08VCBhcyBhbGxvYzo6dmVjOjpzcGVjX2Zyb21fZWxlbTo6U3BlY0Zyb21FbGVtPjo6ZnJv\ +bV9lbGVtOjpoYzYzMDNkNmRmZDBiMDE3N/EFM2FsbG9jOjpzeW5jOjpBcmM8VCxBPjo6ZHJvcF9zbG\ +93OjpoMWYxZDEyYWEyZjQ2OGI4M/IFQHNlcmRlX2pzb246OmRlOjpEZXNlcmlhbGl6ZXI8Uj46OnBh\ +cnNlX251bWJlcjo6aGYyODg3MDllMGZlYzI1MzLzBVE8aGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlPF\ +QsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDFkMTZhMTA1MmIyMjdiZDX0BSlp\ +ZG5hOjp1dHM0Njo6ZmluZF9jaGFyOjpoMmVhYjBhYjExOWQ3NDAxZvUFdTxyZWdleF9hdXRvbWF0YT\ +o6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6\ +OlN0cmF0ZWd5Pjo6c2VhcmNoX3Nsb3RzOjpoM2JlODZmYjI4YzZjMWIxNfYFdTxyZWdleF9hdXRvbW\ +F0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRl\ +Z3k6OlN0cmF0ZWd5Pjo6c2VhcmNoX3Nsb3RzOjpoMGY1MzA4MzExNzAyNGY1MPcFUjxyZWdleF9hdX\ +RvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OkNvcmUgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDUz\ +YzRiNTY1MjkzZWZiOTf4BTpyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpkZmE6OkNhY2hlOjpuZXc6Om\ +gzOTVkZmEzZmZlYjVlYTI3+QU6cnVzdGNfZGVtYW5nbGU6OnYwOjpQYXJzZXI6OmhleF9uaWJibGVz\ +OjpoZTE3NmNlZTFmNWNiMjRjOfoFXTxzZXJkZV9qc29uOjpyZWFkOjpTbGljZVJlYWQgYXMgc2VyZG\ +VfanNvbjo6cmVhZDo6UmVhZD46OmRlY29kZV9oZXhfZXNjYXBlOjpoMTQ3ODgzNmQ1MGNkM2FlY/sF\ +dDxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9hdXRvbWF0YT\ +o6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6c2VhcmNoX2hhbGY6OmhmMzk1ZTVhYzk3Y2YzN2Y2\ +/AU0PCptdXQgVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoOTBjYTYwOGFlZDQxOWM3Zv0FZj\ +xzZXJkZV9qc29uOjp2YWx1ZTo6ZGU6OlNlcURlc2VyaWFsaXplciBhcyBzZXJkZTo6ZGU6OlNlcUFj\ +Y2Vzcz46Om5leHRfZWxlbWVudF9zZWVkOjpoMWNmNTMwODk4ZTgyOTk1OP4FZjxzZXJkZV9qc29uOj\ +p2YWx1ZTo6ZGU6OlNlcURlc2VyaWFsaXplciBhcyBzZXJkZTo6ZGU6OlNlcUFjY2Vzcz46Om5leHRf\ +ZWxlbWVudF9zZWVkOjpoYTBmNmIwOTJmYmYyZTlmYf8FejxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cm\ +VlOjptYXA6OkJUcmVlTWFwPEssVixBPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6OmNvbGxlY3Q6OkV4\ +dGVuZDwoSyxWKT4+OjpleHRlbmQ6OmhiMzFiZmViM2M5YjRmZmZhgAZmPHNlcmRlX2pzb246OnZhbH\ +VlOjpkZTo6U2VxRGVzZXJpYWxpemVyIGFzIHNlcmRlOjpkZTo6U2VxQWNjZXNzPjo6bmV4dF9lbGVt\ +ZW50X3NlZWQ6OmhkN2RlZjQ4YWQzNGEzNDA3gQZmPHNlcmRlX2pzb246OnZhbHVlOjpkZTo6U2VxRG\ +VzZXJpYWxpemVyIGFzIHNlcmRlOjpkZTo6U2VxQWNjZXNzPjo6bmV4dF9lbGVtZW50X3NlZWQ6Omgw\ +MTA1OWMxMWFkNTQ4MWI0ggZePHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6Om1lbWNocj\ +o6TWVtY2hyMyBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZjE0ZDE1YzM3MjhlODgzNYMGQmNv\ +cmU6OnN0cjo6dmFsaWRhdGlvbnM6Om5leHRfY29kZV9wb2ludF9yZXZlcnNlOjpoNWZiOGEzN2U2MW\ +QzY2ZlN4QGUTxoYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6\ +OkRyb3A+Ojpkcm9wOjpoYzM3M2Y3NGFlZjJhZjc3Y4UGM2NvcmU6OnNsaWNlOjo8aW1wbCBbVF0+Oj\ +pyZXZlcnNlOjpoMWIzOTQ4NjE4YWVhZjE4YYYGTmRlbm9fY29uZmlnOjpkZW5vX2pzb246OkNvbmZp\ +Z0ZpbGU6OmZyb21fc3BlY2lmaWVyX2FuZF9wYXRoOjpoMmI2MjU5MzRlZTYyN2MxN4cGUTxoYXNoYn\ +Jvd246OnJhdzo6UmF3VGFibGU8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpo\ +NjgzOWYyZTQ4ZTA4OWFmZogGUTxoYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPiBhcyBjb3JlOj\ +pvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoOTMwYmUwOGQ5Y2Y2ZmI3MYkGdTxyZWdleF9hdXRvbWF0\ +YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3\ +k6OlN0cmF0ZWd5Pjo6c2VhcmNoX3Nsb3RzOjpoNThhOTI2ODNjMDJlZDc3OYoGdTxyZWdleF9hdXRv\ +bWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYX\ +RlZ3k6OlN0cmF0ZWd5Pjo6c2VhcmNoX3Nsb3RzOjpoMjkxNzEzNTMyNjY0ZDI2ZIsGTnN0ZDo6aW86\ +OmltcGxzOjo8aW1wbCBzdGQ6OmlvOjpXcml0ZSBmb3IgJm11dCBXPjo6d3JpdGVfYWxsOjpoOWRkM2\ +Y4YTE0NmJkOThkMYwGWjxsb2FkZXI6Oldhc21GcyBhcyBkZW5vX2NvbmZpZzo6ZnM6OkRlbm9Db25m\ +aWdGcz46OnJlYWRfdG9fc3RyaW5nX2xvc3N5OjpoZDY4YzZkMDBkZTE1Yzg0NI0GRGNvcmU6OnNsaW\ +NlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6aW5zZXJ0X3RhaWw6OmgwN2JmZDExNDExZTEyZWFl\ +jgZEcmVnZXhfYXV0b21hdGE6OnV0aWw6OmRldGVybWluaXplOjphZGRfbmZhX3N0YXRlczo6aDUzNT\ +BmODAyOTgxYzkxMmSPBkxyZWdleF9zeW50YXg6OmFzdDo6cGFyc2U6Ok5lc3RMaW1pdGVyPFA+Ojpp\ +bmNyZW1lbnRfZGVwdGg6Omg0MWQzMDUyZTc5MzViM2VmkAZCc2VyZGVfanNvbjo6ZGU6OkRlc2VyaW\ +FsaXplcjxSPjo6ZjY0X2Zyb21fcGFydHM6Omg0MTBlNWEzMWYwZDA2MWE2kQY8Y29yZTo6Y2hhcjo6\ +bWV0aG9kczo6ZW5jb2RlX3V0ZjhfcmF3OjpoMzAxMjY2NjdmOWIwZmJkZi4xNzQ4kgZcPGFob19jb3\ +Jhc2ljazo6dXRpbDo6cHJlZmlsdGVyOjpSYXJlQnl0ZU9mZnNldHMgYXMgY29yZTo6Zm10OjpEZWJ1\ +Zz46OmZtdDo6aGM1ODQxNmQyOTk4NWQ1MjCTBoICYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm\ +9kZTo6SGFuZGxlPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8YWxsb2M6\ +OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpNdXQsSyxWLGFsbG9jOjpjb2xsZWN0aW\ +9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6SW50ZXJuYWw+LGFsbG9jOjpjb2xsZWN0aW9uczo6YnRy\ +ZWU6Om5vZGU6Om1hcmtlcjo6RWRnZT46Omluc2VydF9maXQ6Omg5MDcxM2JiMTg1YmIzNjQ4lAZQcm\ +VnZXhfc3ludGF4OjpoaXI6OnRyYW5zbGF0ZTo6VHJhbnNsYXRvckk6OmNsYXNzX2xpdGVyYWxfYnl0\ +ZTo6aDNmMTcyOGU0MTA2MTZjZTeVBj5hbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfYW\ +1vcnRpemVkOjpoM2NlZDEzMzhiZWRkMjMxNJYGPmFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6\ +Z3Jvd19hbW9ydGl6ZWQ6Omg5NGI5ZGY3MmFmNmU2YWI3lwZRPGhhc2hicm93bjo6cmF3OjpSYXdUYW\ +JsZTxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhkYmFlYTJhMjFlNDI1MmEy\ +mAY+YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X2Ftb3J0aXplZDo6aDhhMWIwNTVjZm\ +Q1Mzc0MDiZBj5hbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfYW1vcnRpemVkOjpoZTlj\ +NGRiZTUwMjc4Y2NkOJoGPmFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19hbW9ydGl6ZW\ +Q6Omg0ZWI0Y2VlMTAzOTQxZGIwmwZIaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlSW5uZXI6OmZhbGxp\ +YmxlX3dpdGhfY2FwYWNpdHk6OmgwNGMxODllOWYzZTNjNGNhnAY+YWxsb2M6OnJhd192ZWM6OlJhd1\ +ZlYzxULEE+Ojpncm93X2Ftb3J0aXplZDo6aGE3NzBjMmYyMzY2YjQzODCdBj5hbGxvYzo6cmF3X3Zl\ +Yzo6UmF3VmVjPFQsQT46Omdyb3dfYW1vcnRpemVkOjpoZDJkOTc0M2ZjMzgwNjQ1OZ4GOmNvcmU6On\ +B0cjo6ZHJvcF9pbl9wbGFjZTxpZ25vcmU6OkVycm9yPjo6aDMwYWFmZmQ0NjA5MmVhMDGfBj5hbGxv\ +Yzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfYW1vcnRpemVkOjpoMWI5MjJiMDgwMTI3NDQ2ZK\ +AGPmFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19hbW9ydGl6ZWQ6OmgzMDJjY2EzNjc1\ +YjlkMzU1oQZIaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlSW5uZXI6OmZhbGxpYmxlX3dpdGhfY2FwYW\ +NpdHk6OmhiMTE4NTExMWE0NTU3ZGZiogY8cmVnZXhfYXV0b21hdGE6OnV0aWw6OnNlYXJjaDo6SW5w\ +dXQ6OnNwYW46Omg1Mjc4MmY1MjFhOWE1NWFjowY+YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Oj\ +pncm93X2Ftb3J0aXplZDo6aDUyMmJhNDhjODNmMjQwY2SkBj5hbGxvYzo6cmF3X3ZlYzo6UmF3VmVj\ +PFQsQT46Omdyb3dfYW1vcnRpemVkOjpoOTQ1M2YxN2E4Njg5ODljOaUGPmFsbG9jOjpyYXdfdmVjOj\ +pSYXdWZWM8VCxBPjo6Z3Jvd19hbW9ydGl6ZWQ6Omg5NjM4NDM0NDQzODliMzFhpgZDY29yZTo6Zm10\ +OjpGb3JtYXR0ZXI6OmRlYnVnX3N0cnVjdF9maWVsZDVfZmluaXNoOjpoNzZlZTIyZmIwZWQ0ZTdkY6\ +cGNmFob19jb3Jhc2ljazo6ZGZhOjpERkE6OnNldF9tYXRjaGVzOjpoOTAzZTA1M2I1NmZlZjY2ZKgG\ +ggJhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpIYW5kbGU8YWxsb2M6OmNvbGxlY3Rpb2\ +5zOjpidHJlZTo6bm9kZTo6Tm9kZVJlZjxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpt\ +YXJrZXI6Ok11dCxLLFYsYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpJbn\ +Rlcm5hbD4sYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpFZGdlPjo6aW5z\ +ZXJ0X2ZpdDo6aDIwY2QyYzA5NGRlNTkyYTepBoICYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm\ +9kZTo6SGFuZGxlPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8YWxsb2M6\ +OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpNdXQsSyxWLGFsbG9jOjpjb2xsZWN0aW\ +9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6SW50ZXJuYWw+LGFsbG9jOjpjb2xsZWN0aW9uczo6YnRy\ +ZWU6Om5vZGU6Om1hcmtlcjo6RWRnZT46Omluc2VydF9maXQ6Omg4ZWU0ZjA5OTFkMjQzN2Q4qgaCAm\ +FsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6OkhhbmRsZTxhbGxvYzo6Y29sbGVjdGlvbnM6\ +OmJ0cmVlOjpub2RlOjpOb2RlUmVmPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcm\ +tlcjo6TXV0LEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6OkludGVy\ +bmFsPixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6OkVkZ2U+OjppbnNlcn\ +RfZml0OjpoMDE3NjkzY2VmOGU4MTRmM6sGQ3JlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6REZB\ +Ojp0cnlfc2VhcmNoX2Z3ZDo6aGUwOTU2ZjM5ZDU0OWQzMWasBlRyZWdleF9hdXRvbWF0YTo6dXRpbD\ +o6bG9vazo6TG9va01hdGNoZXI6OmlzX3dvcmRfZW5kX2hhbGZfdW5pY29kZTo6aDQzOThmYjBkZTI2\ +MDA4MTatBkNyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpkZmE6OkRGQTo6dHJ5X3NlYXJjaF9yZXY6Om\ +g2Yzg2MGZlM2U5YjQ3NWY5rgZePHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6Om1lbWNo\ +cjo6TWVtY2hyMiBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoN2YyODc2MDM3ZTgzODY5N68GQn\ +JlZ2V4X3N5bnRheDo6YXN0OjpwYXJzZTo6UGFyc2VySTxQPjo6cGFyc2VfaGV4OjpoNWNiNzNlMjNj\ +MTE5MzFkMLAGRWNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6c29ydDRfc3RhYm\ +xlOjpoZWY0MjJkOWMwNGZkNDBhZrEGRGNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29y\ +dDo6aW5zZXJ0X3RhaWw6Omg4Y2JmOTFmYjE4MjgzZjhlsgY6Y29yZTo6c3RyOjp2YWxpZGF0aW9ucz\ +o6bmV4dF9jb2RlX3BvaW50OjpoNDU5MTYyYjJiZTE3NmMzYrMGUTxoYXNoYnJvd246OnJhdzo6UmF3\ +VGFibGU8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoZDI0MTVmNGNkMTEwOD\ +k0ZbQGaGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxvYzo6Y29sbGVjdGlvbnM6OnZlY19kZXF1\ +ZTo6VmVjRGVxdWU8c3RkOjpwYXRoOjpQYXRoQnVmPj46OmgyYThhZjQwZTBmZTVjMjQ4tQY+c2VyZG\ +U6OmRlOjp2YWx1ZTo6U2VxRGVzZXJpYWxpemVyPEksRT46OmVuZDo6aGQ2NzExMjA4NWYwOWI3OTC2\ +Biptb25jaDo6bWFwOjp7e2Nsb3N1cmV9fTo6aGEyYTZkY2RmNTRhNWQ3MzG3Bj1tZW1jaHI6Om1lbW\ +1lbTo6c2VhcmNoZXI6OlNlYXJjaGVyOjp0d293YXk6OmhkMjkzZDg1ZTlmNDBiMTNiuAZmPHNlcmRl\ +X2pzb246OnZhbHVlOjpkZTo6U2VxRGVzZXJpYWxpemVyIGFzIHNlcmRlOjpkZTo6U2VxQWNjZXNzPj\ +o6bmV4dF9lbGVtZW50X3NlZWQ6OmgzZjVmMzlmM2ZkZmJjZGYzuQY0Y29yZTo6c3RyOjo8aW1wbCBz\ +dHI+OjpzcGxpdF9vbmNlOjpoYmYzMzkyNDcwYzAwYWFiMboGQ3JlZ2V4X3N5bnRheDo6YXN0OjpwYX\ +JzZTo6UGFyc2VySTxQPjo6cGFyc2VfZmxhZzo6aDE2OTMwYTNiZjhiZWJmM2a7BkJyZWdleF9zeW50\ +YXg6Omhpcjo6Q2xhc3NCeXRlczo6Y2FzZV9mb2xkX3NpbXBsZTo6aGY4OTQwYmRjOGViMDk4MjO8Bk\ +hjb3JlOjpvcHM6OmZ1bmN0aW9uOjpGbk9uY2U6OmNhbGxfb25jZXt7dnRhYmxlLnNoaW19fTo6aGUx\ +NzZkYjc2NzY5NTRlZDG9BjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoNG\ +UzMzhhOWEyM2MyN2Q1Zr4GOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6Omgy\ +NGNhODQxMjc1MDU1ZDVhvwY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aD\ +ZiODIxN2M4YWI0NWU5N2HABkc8dXJsOjpwYXJzZXI6OlBhcnNlRXJyb3IgYXMgY29yZTo6Zm10OjpE\ +aXNwbGF5Pjo6Zm10OjpoMTZiMTI5MWFmNTIwMWNjMsEGUTxoYXNoYnJvd246OnJhdzo6UmF3VGFibG\ +U8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoNmMwMTgxMDRjOTM3NjIwMcIG\ +OGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6OmhkNTY1ZmFkYzdiZjFjNjliww\ +Y4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDI3YzIyMWVmY2JiZDQyZWPE\ +BjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoMDEyMTM3NzFhNDA5YjRkYc\ +UGOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6OmgxMWM5Y2U2ZmZmNTkyNTMy\ +xgY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDBiYWU3NjI3MTEwODY0YT\ +DHBjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoYWU0ODVjY2VjNjUyZjAw\ +YcgGOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6Omg2MjdlMzRjNmEzZWJkMz\ +IwyQY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDRkZWRjZDNjZTVhMDdh\ +ZTLKBjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoMWEwYzExZjQ3ZDkwMD\ +JlMcsGOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6OmgwNTljN2NiYzdlN2Mw\ +ZWQyzAY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aGViMjc2Yjk0ZWE2OG\ +Y4NjPNBjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoODc4ZTAzZGQ3NTI3\ +NWVjYc4GOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6OmhhYTliYzdlNjZlND\ +c3YmRjzwY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDE2OWQ3OTUyMjBh\ +MzQ2YjHQBjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoYjRhMGE5NjNkZD\ +Q0MjIyZdEGOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6OmgwZTAxNzBmMTdl\ +YzU0NDk50gY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aGUzODM1M2IyMz\ +dhMmNlY2LTBjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoNDFkMWE4OGUy\ +NzI2OWZlYtQGPDxUIGFzIGFsbG9jOjpzdHJpbmc6OlRvU3RyaW5nPjo6dG9fc3RyaW5nOjpoY2QwMT\ +IzOTFlY2E3ODBiZNUGOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6Omg3MmQ0\ +ZWE0YjkzNmMwNWYx1gY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDViYm\ +IyNjAxYTQ2YzllNTbXBjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoYTZk\ +ZWRkNGRlMjVkMGMzY9gGOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6OmhkOT\ +cxYjk5NTZmMGMzYmZl2QY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDFk\ +Njc0OWE4YTMyNDI1NGPaBjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoNT\ +A4MTkyOWI3MDhhYTQyOdsGOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6Omg5\ +NjJjNTdjNTcxMDAxMGJm3AY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aG\ +E4MDliOGY5Mzk0YTZhYWbdBjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpo\ +YjY2N2E1Yjc3OTE3ZmVhON4GOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6Om\ +g4MDY4YmNjMjFlMjEyYzU33wY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6\ +aDg0MjJmZjUxMGU1OTY0MzfgBnE8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD\ +4gYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OmlzX21hdGNoOjpo\ +NGM0M2JiMWFjY2U1MjI0NeEGdDxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPi\ +BhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6c2VhcmNoX2hhbGY6\ +OmhkMGVkOGQ5NGFkODU4NzIz4gY+YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X2Ftb3\ +J0aXplZDo6aDY2Y2U0MTJjOGRiMGUwODTjBjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdy\ +b3dfb25lOjpoNDgwYThhNjU4ODM4OTg1YuQGOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3\ +Jvd19vbmU6OmhkZTNlOGQ5YjlkMDE5YzRm5QY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpn\ +cm93X29uZTo6aGRmNmI0NGIzNzM4NGRlMjHmBjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Om\ +dyb3dfb25lOjpoM2IwYjYwZTg4ZmY1MGRiOOcGOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6\ +Z3Jvd19vbmU6Omg1MGNmOTk2YTEwODA4YWI46AY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Oj\ +pncm93X29uZTo6aDU4MmEyOWE1YjU4Y2FjZTLpBjhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46\ +Omdyb3dfb25lOjpoOWNjZDAwZjQyMWZkOTZmMuoGOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPj\ +o6Z3Jvd19vbmU6OmhhOGU5NDg3OWM5ZTk0OWZj6wY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+\ +Ojpncm93X29uZTo6aGY2ZDMzYjM3ZGFhNDYzYTbsBiNqc19zeXM6OnRyeV9pdGVyOjpoYjA2MDZiZj\ +kzMzJkM2RlMu0GQ2Fob19jb3Jhc2ljazo6bmZhOjpub25jb250aWd1b3VzOjpORkE6OmFkZF9tYXRj\ +aDo6aGM0NDA2ZTlmMjE5ZWYzNjnuBkBjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpwaXZvdDo6bW\ +VkaWFuM19yZWM6OmhkYjFjNWY0YjU1NTdmZTli7wZmPGNvcmU6Oml0ZXI6OmFkYXB0ZXJzOjpyZXY6\ +OlJldjxJPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6Om\ +hmNzcxMGY1ZGYzODNhOTBj8AZAY29yZTo6c2xpY2U6OnNvcnQ6OnNoYXJlZDo6cGl2b3Q6Om1lZGlh\ +bjNfcmVjOjpoMWU5YzdlMWUxZDVjOTU0YfEGQGNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnBpdm\ +90OjptZWRpYW4zX3JlYzo6aDIxYzA2N2Q5M2M5MzM4NzXyBnQ8cmVnZXhfYXV0b21hdGE6Om1ldGE6\ +OnN0cmF0ZWd5OjpQcmU8UD4gYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdG\ +VneT46OnNlYXJjaF9oYWxmOjpoMjZhMDNjYWZjNzdkZjJkOPMGQGNvcmU6OnNsaWNlOjpzb3J0Ojpz\ +aGFyZWQ6OnBpdm90OjptZWRpYW4zX3JlYzo6aDY2ZWRkYjBjNTk0NjRhN2P0BkBjb3JlOjpzbGljZT\ +o6c29ydDo6c2hhcmVkOjpwaXZvdDo6bWVkaWFuM19yZWM6OmhlOGE2ZjIyZGI5NmJmMGZk9QZGcmVn\ +ZXhfc3ludGF4OjpoaXI6OnRyYW5zbGF0ZTo6SGlyRnJhbWU6OnVud3JhcF9leHByOjpoMTZmNWI3Nj\ +Q5NjA5ODMzMPYGQ2NvcmU6OmZtdDo6Rm9ybWF0dGVyOjpkZWJ1Z19zdHJ1Y3RfZmllbGQ0X2Zpbmlz\ +aDo6aDFkM2IwMWIzMTExMDVkNmT3BkVjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcn\ +Q6OnNvcnQ0X3N0YWJsZTo6aDQ3MTRjZjY2ODc0MjllOGH4BoICYWxsb2M6OmNvbGxlY3Rpb25zOjpi\ +dHJlZTo6bm9kZTo6SGFuZGxlPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZW\ +Y8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpNdXQsSyxWLGFsbG9jOjpj\ +b2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6SW50ZXJuYWw+LGFsbG9jOjpjb2xsZWN0aW\ +9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6RWRnZT46Omluc2VydF9maXQ6OmhjNTkyMmYzNzNmODBi\ +NmY1+QY4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aGYxNDQ5ZjFlNmQ4OD\ +NkZDH6BlphaG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91czo6Q29tcGlsZXI6OmluaXRfdW5h\ +bmNob3JlZF9zdGFydF9zdGF0ZTo6aDllYmViZGE1YjUzYTNjMmb7BjA8JlQgYXMgY29yZTo6Zm10Oj\ +pEZWJ1Zz46OmZtdDo6aDcwMWVmYTBjOTk0MmJlMDf8BjA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46\ +OmZtdDo6aGY2NDkwYmZmMWNkZDUyZjT9Bklqc29uY19wYXJzZXI6OnNjYW5uZXI6OlNjYW5uZXI6Om\ +NyZWF0ZV9lcnJvcl9mb3Jfc3RhcnQ6OmhiOGYzOGFlMDc3YmUyNzZj/gY+YWxsb2M6OnJhd192ZWM6\ +OlJhd1ZlYzxULEE+Ojpncm93X2Ftb3J0aXplZDo6aDAzZjIwY2IxYzRiMTJmNGb/BlE8cmVnZXhfYX\ +V0b21hdGE6OnV0aWw6Omxvb2s6Okxvb2tTZXQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDAz\ +YWNhOThlMzhmNTkzNTSAB4IBPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+IG\ +FzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+Ojp3aGljaF9vdmVybGFw\ +cGluZ19tYXRjaGVzOjpoYWJiNmQ5Y2U0Y2JmOTFkNYEHPmFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VC\ +xBPjo6Z3Jvd19hbW9ydGl6ZWQ6Omg5ZWQyYzdjYTdmNWEyM2I1ggdGcmVnZXhfc3ludGF4Ojp1bmlj\ +b2RlOjpDbGFzc1F1ZXJ5OjpjYW5vbmljYWxfYmluYXJ5OjpoYmRhODNiYTQzOTMwODFjMYMHPmFsbG\ +9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19hbW9ydGl6ZWQ6OmgxODc5ZDM3ZDg3MTQzYTQ5\ +hAc4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDJiMGExNjQ0MTk0OTc1MD\ +GFB0FhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnRyeV9yZXNlcnZlX2V4YWN0OjpoZGE2YmM0\ +YmVjYmZlMGQ3OIYHQWFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6dHJ5X3Jlc2VydmVfZXhhY3\ +Q6Omg4OGIxNWUwNjgxMmM0Y2Q3hwdHaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZUlubmVy\ +OjpwcmVwYXJlX3Jlc2l6ZTo6aDIwNDVlYTc2M2I1ZmRmMTeIB0FhbGxvYzo6cmF3X3ZlYzo6UmF3Vm\ +VjPFQsQT46OnRyeV9yZXNlcnZlX2V4YWN0OjpoZWY3ZGQzYmY1NWJlNTk0OYkHQWFsbG9jOjpyYXdf\ +dmVjOjpSYXdWZWM8VCxBPjo6dHJ5X3Jlc2VydmVfZXhhY3Q6OmgzYjYwMTgwZDMyNWE5YmVjigdBYW\ +xsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojp0cnlfcmVzZXJ2ZV9leGFjdDo6aDBiZWJkNjdjMDNj\ +ZjU0YTGLB0FhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnRyeV9yZXNlcnZlX2V4YWN0OjpoMT\ +k0MTVhYzcxNzZkZjIwOYwHQWFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6dHJ5X3Jlc2VydmVf\ +ZXhhY3Q6OmgwNzMyMDQ3N2EyMzUyYzhljQdBYWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojp0cn\ +lfcmVzZXJ2ZV9leGFjdDo6aGYxYTU0MTQ4N2Y1YWI4NDmOB3s8cmVnZXhfYXV0b21hdGE6Om1ldGE6\ +OnN0cmF0ZWd5OjpSZXZlcnNlSW5uZXIgYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5Oj\ +pTdHJhdGVneT46OmNyZWF0ZV9jYWNoZTo6aDQ0NWUzMmVhYjAyOWU3NWGPB0s8c2VyZGU6OmRlOjpX\ +aXRoRGVjaW1hbFBvaW50IGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aGM3OTE1OGIwZTMwND\ +g3N2aQB0FhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnRyeV9yZXNlcnZlX2V4YWN0OjpoNTQ0\ +MWZkMDg3YTJiZWE1YpEHVHVuaWNvZGVfbm9ybWFsaXphdGlvbjo6ZGVjb21wb3NlOjpEZWNvbXBvc2\ +l0aW9uczxJPjo6c29ydF9wZW5kaW5nOjpoNTJlNWU5ZDRiODljNzE1MZIHVHVuaWNvZGVfbm9ybWFs\ +aXphdGlvbjo6ZGVjb21wb3NlOjpEZWNvbXBvc2l0aW9uczxJPjo6c29ydF9wZW5kaW5nOjpoMDYyYT\ +k1Yzg1YTQzOWQzOZMHOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6OmhhN2I5\ +NGI1OTRmYjAzY2Y2lAdCY29yZTo6Zm10OjpGb3JtYXR0ZXI6OmRlYnVnX3R1cGxlX2ZpZWxkMV9maW\ +5pc2g6OmhhZDA0ZTgxMWJlMDcwNzkxlQdFY29yZTo6c2xpY2U6OnNvcnQ6OnNoYXJlZDo6c21hbGxz\ +b3J0Ojpzb3J0NF9zdGFibGU6OmhiZWM5YzAyNWY2NTA5ZTU0lgdGPGFsbG9jOjp2ZWM6OlZlYzxULE\ +E+IGFzIGNvcmU6OmNsb25lOjpDbG9uZT46OmNsb25lOjpoZGQ0N2U1ZTBjNjJjZDM5ZJcHR29uY2Vf\ +Y2VsbDo6aW1wOjpPbmNlQ2VsbDxUPjo6aW5pdGlhbGl6ZTo6e3tjbG9zdXJlfX06OmhkN2ZmMjIxMT\ +NiNDg5MzNimAdFY29yZTo6c2xpY2U6OnNvcnQ6OnNoYXJlZDo6c21hbGxzb3J0Ojpzb3J0NF9zdGFi\ +bGU6OmhiNjI4OTljMjRmMzA2ZmE0mQdKcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmxpdG\ +VyYWxfdHJpZTo6RnJhbWU6Om5ldzo6aGRlODk3MmJkOGEzYWUyNzaaBzphaG9fY29yYXNpY2s6OnV0\ +aWw6OnNlYXJjaDo6SW5wdXQ6OnNwYW46Omg2N2Y0MDE0YjU2YjcxNjc2mwcwY29yZTo6b3BzOjpmdW\ +5jdGlvbjo6Rm46OmNhbGw6OmhkYzQzMTNjOWRiYzc0M2ZjnAdFY29yZTo6c2xpY2U6OnNvcnQ6OnNo\ +YXJlZDo6c21hbGxzb3J0Ojpzb3J0NF9zdGFibGU6Omg0MjNkZTM0MWE0YjZjNzhhnQdFY29yZTo6c2\ +xpY2U6OnNvcnQ6OnNoYXJlZDo6c21hbGxzb3J0Ojpzb3J0NF9zdGFibGU6OmgzNGIzYzE5ZDNhMmFl\ +MDQ3ngc3YWxsb2M6OnZlYzo6VmVjPFQsQT46OmV4dGVuZF90cnVzdGVkOjpoZGUxZjAwNWI2NGQ5ZW\ +Q2Mp8HRnJlZ2V4X3N5bnRheDo6YXN0OjpwYXJzZTo6UGFyc2VySTxQPjo6cHVzaF9jbGFzc19vcDo6\ +aDczOTlhMDc4NDE0YzFkMjGgB1E8cmVnZXhfc3ludGF4OjpoaXI6OmxpdGVyYWw6OlNlcSBhcyBjb3\ +JlOjpjbG9uZTo6Q2xvbmU+OjpjbG9uZTo6aDNmMjY4YzYwNTE4NzQzMzOhBz9jb3JlOjpzdHI6Oml0\ +ZXI6OlNwbGl0SW50ZXJuYWw8UD46Om5leHRfYmFjazo6aDI4OWYwMmNmZjg1YTY4ZTmiBy5hbGxvYz\ +o6cmF3X3ZlYzo6ZmluaXNoX2dyb3c6OmgxMGM3MjdiZThjMzQ0NmJiowdDY29yZTo6Zm10OjpGb3Jt\ +YXR0ZXI6OmRlYnVnX3N0cnVjdF9maWVsZDNfZmluaXNoOjpoMTgyOWViNzM4YzRiODRlYaQHTTxqc2\ +9uY19wYXJzZXI6OnRva2Vuczo6VG9rZW4gYXMgY29yZTo6Y2xvbmU6OkNsb25lPjo6Y2xvbmU6Omg0\ +NjA1NDk0NGZjYWI0MzA4pQc5cmVnZXhfc3ludGF4OjpoaXI6OmxpdGVyYWw6OlNlcTo6dW5pb246Om\ +g4ODkwMWFlOTg5MTUyNWY3pgdTPGRlbm9fc2VtdmVyOjpqc3I6OkpzckRlcFBhY2thZ2VSZXEgYXMg\ +Y29yZTo6Y21wOjpQYXJ0aWFsRXE+OjplcTo6aGRlZTMwMzIxNjc5YjA0MGOnBytzZXJkZV9qc29uOj\ +pkZTo6ZnJvbV9zdHI6OmhhZWQ3ZGIzYzNhNGE4ODEwqAdfPGNvcmU6OnN0cjo6aXRlcjo6Q2hhcnMg\ +YXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoNWYyYzBiNj\ +MzZDI2MjljYS42OTCpBy5hbGxvYzo6cmF3X3ZlYzo6ZmluaXNoX2dyb3c6OmhhMDllNTQyYWVjZDMy\ +ODdlqgdgPGNvcmU6OnN0cjo6aXRlcjo6Q2hhcnMgYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYX\ +Rvcjo6SXRlcmF0b3I+OjpuZXh0OjpoNWYyYzBiNjMzZDI2MjljYS4xMDg0qwcuYWxsb2M6OnJhd192\ +ZWM6OmZpbmlzaF9ncm93OjpoNWRiYjE2NzliOTZlYTE5NqwHXjxjb3JlOjpzdHI6Oml0ZXI6OlNwbG\ +l0PFA+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aDli\ +ZTlkNmZmZTVjMzMzN2GtBy5hbGxvYzo6cmF3X3ZlYzo6ZmluaXNoX2dyb3c6Omg4NmIzMjZlYTNhOG\ +RkMjIwrgcuYWxsb2M6OnJhd192ZWM6OmZpbmlzaF9ncm93OjpoODU3MzY3MGIyYjkzOTM0Na8Hbzxy\ +ZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9hdXRvbWF0YTo6bW\ +V0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6c2VhcmNoOjpoNjQwMjA4NmViZTAyZDdjZbAHXjxjb3Jl\ +OjpzdHI6Oml0ZXI6OlNwbGl0PFA+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZX\ +JhdG9yPjo6bmV4dDo6aGU3NTM5MzcyNzAzMGIyODWxB0h1cmw6OnBhcnNlcjo6c3RhcnRzX3dpdGhf\ +d2luZG93c19kcml2ZV9sZXR0ZXJfc2VnbWVudDo6aGRmNTQ1ZDc1MDg5YWMxNzSyBy5hbGxvYzo6cm\ +F3X3ZlYzo6ZmluaXNoX2dyb3c6Omg3NjhlYTAyMTdjNjAyNjlkswdLaW5kZXhtYXA6Om1hcDo6SW5k\ +ZXhNYXA8SyxWLFM+Ojp3aXRoX2NhcGFjaXR5X2FuZF9oYXNoZXI6Omg3NmFlM2VjZmJjMWNkMDY0tA\ +c8Y29yZTo6c3RyOjpjb3VudDo6Y2hhcl9jb3VudF9nZW5lcmFsX2Nhc2U6OmhlZDFmYTYzNWM1MDNk\ +NzZjtQdNPG1vbmNoOjpQYXJzZUVycm9yRmFpbHVyZUVycm9yIGFzIGNvcmU6OmZtdDo6RGlzcGxheT\ +46OmZtdDo6aGE5YTBiZTQyNThjODNmY2a2B09jb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhf\ +YXV0b21hdGE6Om1ldGE6OnJlZ2V4OjpDYWNoZT46OmhiYWM3ZjQ4NmU1Yjg4ZTFktwdxPHJlZ2V4X2\ +F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpz\ +dHJhdGVneTo6U3RyYXRlZ3k+Ojppc19tYXRjaDo6aDE2YjcxMzUzMWQ0YTc1MDa4B0pyZWdleF9zeW\ +50YXg6OmFzdDo6cGFyc2U6OlByaW1pdGl2ZTo6aW50b19jbGFzc19saXRlcmFsOjpoNzMzNDY3YzVm\ +ZTcyZTQwMbkHQnVuaWNvZGVfbm9ybWFsaXphdGlvbjo6cGVyZmVjdF9oYXNoOjptcGhfbG9va3VwOj\ +poOGFkMmQxMTFlZjljNGU5MboHPmluZGV4bWFwOjptYXA6OkluZGV4TWFwPEssVj46OndpdGhfY2Fw\ +YWNpdHk6OmhjNTM0ZTVhMWQ4ZTJmNjIwuwdOYWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+OjpyZX\ +NlcnZlOjpkb19yZXNlcnZlX2FuZF9oYW5kbGU6Omg5MGRjMTgwZmZhODQ4ZTRlvAdXZGVub19jb25m\ +aWc6OmRlbm9fanNvbjo6Q29uZmlnRmlsZTo6dG9faW1wb3J0X21hcF92YWx1ZV9mcm9tX2ltcG9ydH\ +M6OmgyMDdhZjFhMjYyMTAwYjU3vQdoPGFob19jb3Jhc2ljazo6bmZhOjpjb250aWd1b3VzOjpORkEg\ +YXMgYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbj46Om1hdGNoX2xlbjo6aGRkNTk2OW\ +E5ZjA0OTc4Mji+B05hbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnJlc2VydmU6OmRvX3Jlc2Vy\ +dmVfYW5kX2hhbmRsZTo6aDVlYzZmYTUwOTIzYTQ5Yma/BzhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPF\ +QsQT46Omdyb3dfb25lOjpoN2E4MDU3Mzg5Y2Y0YmFmYsAHLHN0ZDo6cGF0aDo6UGF0aEJ1Zjo6X3B1\ +c2g6OmhkMWI4NmU3ZGYzMTAyMTliwQc9bWVtY2hyOjphcmNoOjphbGw6OnJhYmlua2FycDo6RmluZG\ +VyOjpmaW5kOjpoMGI1NTgxYjEzYjllMzRlZcIHbTxhaG9fY29yYXNpY2s6Om5mYTo6Y29udGlndW91\ +czo6TkZBIGFzIGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+OjptYXRjaF9sZW46Om\ +hkZDU5NjlhOWYwNDk3ODI4LjExOTnDB048cmVnZXhfYXV0b21hdGE6Omh5YnJpZDo6ZGZhOjpERkEg\ +YXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDJkM2NkNDQyOGU3YzAzYzjEB3E8cmVnZXhfYXV0b2\ +1hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD4gYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0\ +ZWd5OjpTdHJhdGVneT46OmlzX21hdGNoOjpoNDBkOGIyZTMwMDVlNzU2M8UHPmluZGV4bWFwOjptYX\ +A6OkluZGV4TWFwPEssVj46OndpdGhfY2FwYWNpdHk6Omg0YWQwMjI0MTZmZGYxYjAzxgdOZGVub19j\ +b25maWc6OndvcmtzcGFjZTo6ZGlzY292ZXJ5OjpDb25maWdGb2xkZXI6OmZvbGRlcl91cmw6OmhiY2\ +E4MDY2NjcyZGUzOWYwxwdQPGRlbm9fc2VtdmVyOjpwYWNrYWdlOjpQYWNrYWdlUmVxIGFzIGNvcmU6\ +OmZtdDo6RGlzcGxheT46OmZtdDo6aDBhMDczMDFlMWU3ODA2ZDjIB0ByZWdleF9hdXRvbWF0YTo6dX\ +RpbDo6c2VhcmNoOjpQYXR0ZXJuU2V0OjpuZXc6OmhkZDQ0ZTZjM2M5N2IyOWMxyQdBanNvbmNfcGFy\ +c2VyOjpzY2FubmVyOjpTY2FubmVyOjptb3ZlX25leHRfY2hhcjo6aDlmNzdlMzg3MzhhMzU1ZTTKB0\ +9yZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6Y29tcGlsZXI6OkNvbXBpbGVyOjpjb25maWd1\ +cmU6OmgxNzcwZTZmZWU0YzU5MGJiyweCATxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6Ol\ +ByZTxQPiBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6d2hpY2hf\ +b3ZlcmxhcHBpbmdfbWF0Y2hlczo6aDFlYmUyMWI4YjUwMjI4OTbMB0lydXN0Y19kZW1hbmdsZTo6dj\ +A6OlByaW50ZXI6OnByaW50X2xpZmV0aW1lX2Zyb21faW5kZXg6OmgzNjhiMTY2ODJhZGEzMzNkzQdG\ +c2VyZGVfanNvbjo6ZGU6OkRlc2VyaWFsaXplcjxSPjo6cGFyc2VfbG9uZ19pbnRlZ2VyOjpoNDc4Mz\ +hlMDNiOWU1ZmU5NM4HMWNvbXBpbGVyX2J1aWx0aW5zOjptZW06Om1lbXNldDo6aDQ3Mzk3OTlmZDM3\ +ZGM5NDHPB1Rjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8ZGVub19jb25maWc6OndvcmtzcGFjZTo6Q2\ +9uZmlnUmVhZEVycm9yPjo6aGU0ZjVlODg5OGZkZDU4YTTQB0hkZW5vX2NvbmZpZzo6d29ya3NwYWNl\ +OjpkaXNjb3Zlcnk6OnJlc29sdmVfdmVuZG9yX2Rpcjo6aGFkZWVlNzJmZjI0MDZhNTbRB0Njb3JlOj\ +pmbXQ6OkZvcm1hdHRlcjo6ZGVidWdfc3RydWN0X2ZpZWxkMl9maW5pc2g6OmgyNzdjOTIzM2YwM2Y5\ +MDk20gdFYWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6Ok5GQTo6YWxsb2Nfc3RhdGU6Om\ +hkZDg4NzdlYjkzODFkOGRk0wdEbWVtY2hyOjptZW1tZW06OnNlYXJjaGVyOjpwcmVmaWx0ZXJfa2lu\ +ZF9mYWxsYmFjazo6aGY5MjU2YTU5MDJhZmI1MzTUBzA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46Om\ +ZtdDo6aDExMTA1OWFlZjk3ZmI5MGXVB4IBPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6\ +UHJlPFA+IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+Ojp3aGljaF\ +9vdmVybGFwcGluZ19tYXRjaGVzOjpoMmU3OGNmZTk1MWI1ZGQ1OdYHU3JlZ2V4X3N5bnRheDo6aGly\ +Ojp0cmFuc2xhdGU6OlRyYW5zbGF0b3JJOjphc3RfbGl0ZXJhbF90b19zY2FsYXI6OmhhZTZiNzdiMG\ +M2ZDk3MmZl1wcqc3RkOjpwYXRoOjpQYXRoOjpwYXJlbnQ6Omg4ZjA1OThkYTNkMGIwNGEw2AcyYWxs\ +b2M6OnN0cjo6PGltcGwgc3RyPjo6cmVwbGFjZTo6aDI4NzNkMDViZDRlYjU5NzLZB1E8cmVnZXhfYX\ +V0b21hdGE6OmRmYTo6b25lcGFzczo6U2xvdHMgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGVj\ +OWIyM2I4MDhkZTkwODbaB1JyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpkZmE6OnNraXBfZW1wdHlfdX\ +RmOF9zcGxpdHNfb3ZlcmxhcHBpbmc6OmhmYWVlNzk1MjE5ODZiMWZj2wdCcmVnZXhfc3ludGF4Ojph\ +c3Q6OnBhcnNlOjpQYXJzZXJJPFA+OjpzcGFuX2NoYXI6OmhmZWQxMGIwMDQ3YmIxMzVh3AdIcmVnZX\ +hfc3ludGF4Ojphc3Q6OnZpc2l0b3I6OkhlYXBWaXNpdG9yOjppbmR1Y3RfY2xhc3M6OmhkNzJmNWNk\ +NDA3OWZlNDBj3QdDdXJsOjpwYXJzZXI6OlBhcnNlcjo6cGFyc2VfY2Fubm90X2JlX2FfYmFzZV9wYX\ +RoOjpoZjZjZTRjMTU1MDQ4ZTU2ON4HQXVybDo6VXJsOjptYWtlX3JlbGF0aXZlOjpleHRyYWN0X3Bh\ +dGhfZmlsZW5hbWU6Omg5ZjlhZDU3MTU3MTEzYTIy3wd4PGFob19jb3Jhc2ljazo6dXRpbDo6cHJlZm\ +lsdGVyOjpSYXJlQnl0ZXNUaHJlZSBhcyBhaG9fY29yYXNpY2s6OnV0aWw6OnByZWZpbHRlcjo6UHJl\ +ZmlsdGVyST46OmZpbmRfaW46OmhlMzM0MzhmYWFiYjVhMTA34AcwPCZUIGFzIGNvcmU6OmZtdDo6RG\ +VidWc+OjpmbXQ6Omg3MWI0MjEyMjdhYTM5NTgy4QdWY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJl\ +Z2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpuZmE6OklubmVyPjo6aGM3ZjllNzQ0YWRkODNkN2\ +HiBzVyZWdleF9zeW50YXg6Omhpcjo6SGlyOjpjbGFzczo6aDlkMDRlN2M2ZjJiZjhiYmUuMTU1MuMH\ +TjxzdGQ6OnN5czo6b3Nfc3RyOjpieXRlczo6U2xpY2UgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm\ +10OjpoZWNhOGVlMjE4YmFkYzUyOOQHcTxjb3JlOjppdGVyOjphZGFwdGVyczo6Y2hhaW46OkNoYWlu\ +PEEsQj4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpzaXplX2hpbn\ +Q6Omg2ZDBjZmM1MDZlMjJiOWYz5QdcPGRlbm9fc2VtdmVyOjpqc3I6OkpzckRlcFBhY2thZ2VSZXFQ\ +YXJzZUVycm9yIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aDE3YWVjZGNmYzg4MDRhODjmB2\ +w8cmVnZXhfYXV0b21hdGE6OnV0aWw6Omxvb2s6Okxvb2tTZXRJdGVyIGFzIGNvcmU6Oml0ZXI6OnRy\ +YWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aDlmYTkxNDE4NWQ2NWFmY2LnB0Njb3JlOj\ +pmbXQ6OkZvcm1hdHRlcjo6ZGVidWdfc3RydWN0X2ZpZWxkMV9maW5pc2g6OmhlMTVmNjdmZTczYjBj\ +YTcz6AdJPHNlcmRlX2pzb246OmVycm9yOjpFcnJvciBhcyBzZXJkZTo6ZGU6OkVycm9yPjo6Y3VzdG\ +9tOjpoZDk5ODlkNDc1MWY0NWFlOekHU2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX2NvbmZp\ +Zzo6ZGVub19qc29uOjpDb25maWdGaWxlSnNvbj46Omg2YWI0ZWVlMDAwZjU1YjJi6gc8Y29yZTo6c2\ +xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnRzb3J0X21haW46OmgwMTU3ZGY0YzAyYzBhYmMy6wdJPHNl\ +cmRlX2pzb246OmVycm9yOjpFcnJvciBhcyBzZXJkZTo6ZGU6OkVycm9yPjo6Y3VzdG9tOjpoZjJjN2\ +M2MTk1ZTQwNDA1M+wHMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNThhNTA4MWYyOWI5\ +OWQzY+0HOmNvcmU6OmNlbGw6Om9uY2U6Ok9uY2VDZWxsPFQ+Ojp0cnlfaW5pdDo6aDY2MDE4ZWU1MW\ +FiYTUwYjDuB3Q8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD4gYXMgcmVnZXhf\ +YXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OnNlYXJjaF9oYWxmOjpoYmQwMTEwNj\ +c5NGIyNTliM+8HdDxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdl\ +eF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6c2VhcmNoX2hhbGY6OmhjMGI2OT\ +cxYmNhNWNhNDk58AdvPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+IGFzIHJl\ +Z2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpzZWFyY2g6Omg4MDZmNzhjZm\ +Y2Y2MyZDY18QcwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhjMmRkNmMwYTVmMDQzYTE2\ +8gdIYWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6OlF1ZXVlZFNldDo6Y29udGFpbnM6Om\ +hkMmEwODVkYzQ2MjMyZTRl8wc/YWhvX2NvcmFzaWNrOjpwYWNrZWQ6OnBhdHRlcm46OlBhdHRlcm5z\ +OjphZGQ6OmhjZWUwMzhlYWM3OTI5NTJm9AdwPGFob19jb3Jhc2ljazo6dXRpbDo6cHJlZmlsdGVyOj\ +pNZW1tZW0gYXMgYWhvX2NvcmFzaWNrOjp1dGlsOjpwcmVmaWx0ZXI6OlByZWZpbHRlckk+OjpmaW5k\ +X2luOjpoYmIzYmNmMDFjMjRkNGY1M/UHPGNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0c2\ +9ydF9tYWluOjpoNTJkMmIzOTNhYjQ5MmE4NvYHOWNvcmU6Om9wczo6ZnVuY3Rpb246OkZuT25jZTo6\ +Y2FsbF9vbmNlOjpoMjhiMjUyODQwZGU0Mzg0MvcHMmNvcmU6OnN0cjo6PGltcGwgc3RyPjo6aXNfYX\ +NjaWk6Omg4OTI4N2FmMjZkNmQ0OGZk+Ac0cmVnZXhfc3ludGF4OjpoaXI6OkNsYXNzOjpsaXRlcmFs\ +OjpoNDg3MDkyNDlhMDFiYjI4OPkHUnJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpyYW5nZV\ +90cmllOjpSYW5nZVRyaWU6OmFkZF9lbXB0eTo6aDUzNDA1NDZlOTdjYjYxMDX6Bzxjb3JlOjpzbGlj\ +ZTo6c29ydDo6c3RhYmxlOjpkcmlmdHNvcnRfbWFpbjo6aGE0MDJjZWYwNGU5YjVhZTD7B288cmVnZX\ +hfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD4gYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6\ +OnN0cmF0ZWd5OjpTdHJhdGVneT46OnNlYXJjaDo6aDI4MDdiNmI4MGM0NmRmNTD8B0tpbmRleG1hcD\ +o6bWFwOjpJbmRleE1hcDxLLFYsUz46OndpdGhfY2FwYWNpdHlfYW5kX2hhc2hlcjo6aGU0ODkxZWVl\ +YjQ3ODQzMzj9B3Y8YWhvX2NvcmFzaWNrOjp1dGlsOjpwcmVmaWx0ZXI6OlJhcmVCeXRlc1R3byBhcy\ +BhaG9fY29yYXNpY2s6OnV0aWw6OnByZWZpbHRlcjo6UHJlZmlsdGVyST46OmZpbmRfaW46OmhiZjhi\ +N2VlNTAzYmFjMWFk/gdXc2VyZGVfanNvbjo6dmFsdWU6OmRlOjo8aW1wbCBzZXJkZV9qc29uOjp2YW\ +x1ZTo6VmFsdWU+OjppbnZhbGlkX3R5cGU6OmgxMTE0ZGU5ZWM3NWM5NWYz/wdAY29yZTo6c2xpY2U6\ +OnNvcnQ6OnNoYXJlZDo6cGl2b3Q6Om1lZGlhbjNfcmVjOjpoZGQzNzczMzFiYzhhNTNjOIAIXTxkZW\ +5vX2xvY2tmaWxlOjpXb3Jrc3BhY2VDb25maWdDb250ZW50IGFzIGNvcmU6OmRlZmF1bHQ6OkRlZmF1\ +bHQ+OjpkZWZhdWx0OjpoOTIzOWMzNDczOTEwMDE0MoEIKW1vbmNoOjpvcjo6e3tjbG9zdXJlfX06Om\ +gzYWQzOGUwNjI0ODYxNGRigggzZ2xvYnNldDo6Z2xvYjo6UGFyc2VyOjpwb3BfdG9rZW46OmhmZDQx\ +ZjUwZjk1Zjg5NDg4gwg3YWxsb2M6OnZlYzo6VmVjPFQsQT46OmV4dGVuZF90cnVzdGVkOjpoZTU2MT\ +lmYjFhMWMzNmQ5ZoQIejxjb3JlOjppdGVyOjphZGFwdGVyczo6ZmlsdGVyX21hcDo6RmlsdGVyTWFw\ +PEksRj4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpzaXplX2hpbn\ +Q6OmhhMWJlNjQyOWM2ODU3YjNihQg1aW1wb3J0X21hcDo6dHJ5X3VybF9saWtlX3NwZWNpZmllcjo6\ +aDJlY2ZhMDc2ZDlkOWRlYTKGCPcBYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6SGFuZG\ +xlPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8YWxsb2M6OmNvbGxlY3Rp\ +b25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpNdXQsSyxWLGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZW\ +U6Om5vZGU6Om1hcmtlcjo6TGVhZj4sYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFy\ +a2VyOjpLVj46OnNwbGl0OjpoZmYzNmM5NjYxNTlkYTgxNocIKW1vbmNoOjpvcjo6e3tjbG9zdXJlfX\ +06OmgyZGZjMWI4ZTViNGUxYjA5iAg/cmVnZXhfc3ludGF4Ojphc3Q6OnZpc2l0b3I6OkhlYXBWaXNp\ +dG9yOjpwb3A6OmhmZTRhMWQ0ZDA2N2ZmZmI2iQhPaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYW\ +JsZUlubmVyOjpmYWxsaWJsZV93aXRoX2NhcGFjaXR5OjpoODk3MjA5MGM4ODUwY2EzMooIM3NlcmRl\ +OjpkZTo6TWFwQWNjZXNzOjpuZXh0X3ZhbHVlOjpoMjYzODQ0NjYwNTY5ZGRiM4sIWGNvcmU6OnB0cj\ +o6ZHJvcF9pbl9wbGFjZTxkZW5vX2NvbmZpZzo6ZGVub19qc29uOjpDb25maWdGaWxlUmVhZEVycm9y\ +Pjo6aGEzOGI1MzFiYmQzMWI5ZWKMCEY8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6Y2xvbm\ +U6OkNsb25lPjo6Y2xvbmU6Omg1MjA4Y2ZmYzcyZDhmMzA3jQhMZGVub19sb2NrZmlsZTo6dHJhbnNm\ +b3Jtczo6dHJhbnNmb3JtM190b180OjpzcGxpdF9wa2dfcmVxOjpoMmRjYzVhM2U0NzNjMmJhN44IP2\ +Fob19jb3Jhc2ljazo6YWhvY29yYXNpY2s6OkFob0NvcmFzaWNrOjpmaW5kOjpoMzkyMDIzOGE0YzFh\ +Njc3OI8IPnJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+OjpuZXc6Omg5ODk2YW\ +Q2NzMyZDIyNTdmkAh0PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+IGFzIHJl\ +Z2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpzZWFyY2hfaGFsZjo6aDAwMm\ +YxMzFjZDFjZDdmZmGRCHQ8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD4gYXMg\ +cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OnNlYXJjaF9oYWxmOjpoND\ +QwOTFlOWFhYjFhOWVjN5IIS3NlcmRlX2pzb246OmRlOjpEZXNlcmlhbGl6ZXI8Uj46OnBhcnNlX2V4\ +cG9uZW50X292ZXJmbG93OjpoOTliMzEwZWNjMzVjOGZiNJMIRjxhbGxvYzo6dmVjOjpWZWM8VCxBPi\ +BhcyBjb3JlOjpjbG9uZTo6Q2xvbmU+OjpjbG9uZTo6aGFlYWU5MDBhMzYyM2M0NTCUCBdfX3diZ193\ +YXNtbG9ja2ZpbGVfZnJlZZUIrwFhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpOb2RlUm\ +VmPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6T3duZWQsSyxWLGFsbG9j\ +Ojpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6SW50ZXJuYWw+OjpuZXdfaW50ZXJuYW\ +w6Omg0ZGNmNzE1OGVkMzM1NDJklghAY29yZTo6c2xpY2U6OnNvcnQ6OnNoYXJlZDo6cGl2b3Q6Om1l\ +ZGlhbjNfcmVjOjpoYWRlODE3NzdlNjFmNWI2NJcIVmRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6Oldvcm\ +tzcGFjZURpcmVjdG9yeTo6Y3JlYXRlX2Zyb21fcm9vdF9mb2xkZXI6OmgwOWMzYTc1YzMzODgyMWZi\ +mAgwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgzNDU2MjQzYmRhZjJlMzQ3mQg8Y29yZT\ +o6c3RyOjo8aW1wbCBzdHI+Ojp0cmltX3N0YXJ0X21hdGNoZXM6OmgyNjU1ZTJkYjkyM2Y4Njk5mghy\ +ZGVub19jb25maWc6Omdsb2I6OmNvbGxlY3Rvcjo6RmlsZUNvbGxlY3RvcjxURmlsdGVyPjo6Y29sbG\ +VjdF9maWxlX3BhdHRlcm5zOjppc19wYXR0ZXJuX21hdGNoZWQ6Omg4M2ZlYjkwODhjMGZmOTI5mwg+\ +ZGVub19zZW12ZXI6OnJhbmdlOjpQYXJ0aWFsOjphc19lcXVhbF9yYW5nZTo6aDRiMDYwZTQwYWQ4Zj\ +YwMWWcCEJjb3JlOjpjaGFyOjptZXRob2RzOjo8aW1wbCBjaGFyPjo6aXNfd2hpdGVzcGFjZTo6aGY0\ +MTlkMWNmZjA1NGNhZTedCE08VCBhcyBhbGxvYzo6dmVjOjpzcGVjX2Zyb21fZWxlbTo6U3BlY0Zyb2\ +1FbGVtPjo6ZnJvbV9lbGVtOjpoNzAwMDNhNDY2NDYwYTVjY54IOXJ5dTo6cHJldHR5OjpleHBvbmVu\ +dDo6d3JpdGVfZXhwb25lbnQzOjpoNzg1ZmZkODE3ZTJhNDk3Zp8IQWRlbm9fY29uZmlnOjpnbG9iOj\ +pQYXRoT3JQYXR0ZXJuOjptYXRjaGVzX3BhdGg6Omg4OWUyNjEzNzU5NTJhZjFhoAg8Y29yZTo6c2xp\ +Y2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnRzb3J0X21haW46OmgzMmFhMzZkYTZjZWNiNDkzoQhNcmVnZX\ +hfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmNvbXBpbGVyOjpDb21waWxlcjo6Y19yYW5nZTo6aDhm\ +ZmE1ZGFjOTFjMGQxNzOiCEFyZWdleF9hdXRvbWF0YTo6bWV0YTo6cmV2ZXJzZV9pbm5lcjo6cHJlZm\ +lsdGVyOjpoNjRmZGEwMTczMmQ3ZWUzOaMIRGNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxs\ +c29ydDo6aW5zZXJ0X3RhaWw6OmgwMDFkNjJjNTk1OGRjY2M0pAhEY29yZTo6c2xpY2U6OnNvcnQ6On\ +NoYXJlZDo6c21hbGxzb3J0OjppbnNlcnRfdGFpbDo6aDg1NDM1MGM1NWU0MzBiNDGlCDxjb3JlOjpz\ +bGljZTo6c29ydDo6c3RhYmxlOjpkcmlmdHNvcnRfbWFpbjo6aGViZjUwMmViZjAzN2ExNWOmCDtzZX\ +JkZV9qc29uOjpkZTo6RGVzZXJpYWxpemVyPFI+OjplbmRfbWFwOjpoODJhMjgyNzI5Njc4YzNjMKcI\ +ZDxzZXJkZV9qc29uOjp2YWx1ZTo6ZGU6Ok1hcERlc2VyaWFsaXplciBhcyBzZXJkZTo6ZGU6Ok1hcE\ +FjY2Vzcz46Om5leHRfdmFsdWVfc2VlZDo6aGNkNTc4ZWJlN2E4MjdiMTioCGQ8c2VyZGVfanNvbjo6\ +dmFsdWU6OmRlOjpNYXBEZXNlcmlhbGl6ZXIgYXMgc2VyZGU6OmRlOjpNYXBBY2Nlc3M+OjpuZXh0X3\ +ZhbHVlX3NlZWQ6OmhiMDZlNzlkZjYzZDZlMmJhqQhkPHNlcmRlX2pzb246OnZhbHVlOjpkZTo6TWFw\ +RGVzZXJpYWxpemVyIGFzIHNlcmRlOjpkZTo6TWFwQWNjZXNzPjo6bmV4dF92YWx1ZV9zZWVkOjpoZm\ +EzZjlmNTJjZDU3ODBlZKoIZDxzZXJkZV9qc29uOjp2YWx1ZTo6ZGU6Ok1hcERlc2VyaWFsaXplciBh\ +cyBzZXJkZTo6ZGU6Ok1hcEFjY2Vzcz46Om5leHRfdmFsdWVfc2VlZDo6aGM3N2M0NGYzZTU2YmJmZD\ +CrCK8BYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6Tm9kZVJlZjxhbGxvYzo6Y29sbGVj\ +dGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6Ok93bmVkLEssVixhbGxvYzo6Y29sbGVjdGlvbnM6Om\ +J0cmVlOjpub2RlOjptYXJrZXI6OkludGVybmFsPjo6bmV3X2ludGVybmFsOjpoOWZiOTI0NWVjMzJm\ +OGY1NawIUGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om1hcDo6QlRyZWVNYXA8SyxWLEE+Ojpjb2\ +50YWluc19rZXk6Omg1ZDI5ZDNhMzNiODNlNjhjrQgsbW9uY2g6Om1heWJlOjp7e2Nsb3N1cmV9fTo6\ +aDQwNzBiYzlhM2QwYmExMDeuCFpyZWdleF9hdXRvbWF0YTo6dXRpbDo6ZGV0ZXJtaW5pemU6OnN0YX\ +RlOjpTdGF0ZUJ1aWxkZXJNYXRjaGVzOjppbnRvX25mYTo6aGY5ZTcxYmY2ZWQwY2IwOWWvCDB1cmw6\ +OnBhcnNlcjo6SW5wdXQ6Om5leHRfdXRmODo6aGZmMjBmODQ3Y2ViOTJmMTmwCFE8c2VyZGVfd2FzbV\ +9iaW5kZ2VuOjplcnJvcjo6RXJyb3IgYXMgc2VyZGU6OmRlOjpFcnJvcj46OmN1c3RvbTo6aGFhMTQw\ +YjEyMTg4YWY5NTCxCDVkZW5vX3NlbXZlcjo6bnBtOjppc192YWxpZF9ucG1fdGFnOjpoNTEzYTE2Mz\ +QwZjQxZWI2MbIIXXJlZ2V4X2F1dG9tYXRhOjpkZmE6Om9uZXBhc3M6OkludGVybmFsQnVpbGRlcjo6\ +YWRkX2RmYV9zdGF0ZV9mb3JfbmZhX3N0YXRlOjpoNDVmZDA2YjExNmQ0ZmJmN7MIQHJlZ2V4X2F1dG\ +9tYXRhOjp1dGlsOjpzZWFyY2g6OklucHV0OjpzZXRfc3Bhbjo6aDE2ODU2NTg0Y2I4NWUwZTO0CEty\ +ZWdleF9zeW50YXg6OmFzdDo6cGFyc2U6OlBhcnNlckk8UD46Om5leHRfY2FwdHVyZV9pbmRleDo6aD\ +gyZmZmYjc4YTc3MmY3OTG1CD9zZXJkZV9qc29uOjpkZTo6RGVzZXJpYWxpemVyPFI+OjpwYXJzZV9p\ +ZGVudDo6aDdlNzMyZmFjMmVkMzkwMGa2CHU8Y29yZTo6aXRlcjo6YWRhcHRlcnM6OmZpbHRlcl9tYX\ +A6OkZpbHRlck1hcDxJLEY+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9y\ +Pjo6bmV4dDo6aDcxMmQ0MWY4NzU2ODNjMjG3CGQ8c2VyZGVfanNvbjo6dmFsdWU6OmRlOjpNYXBEZX\ +NlcmlhbGl6ZXIgYXMgc2VyZGU6OmRlOjpNYXBBY2Nlc3M+OjpuZXh0X3ZhbHVlX3NlZWQ6Omg4MTU4\ +NjZhMjZkNzhkOWIyuAhkPHNlcmRlX2pzb246OnZhbHVlOjpkZTo6TWFwRGVzZXJpYWxpemVyIGFzIH\ +NlcmRlOjpkZTo6TWFwQWNjZXNzPjo6bmV4dF92YWx1ZV9zZWVkOjpoNTZhMWJmNTViM2U4NTJkNrkI\ +ZDxzZXJkZV9qc29uOjp2YWx1ZTo6ZGU6Ok1hcERlc2VyaWFsaXplciBhcyBzZXJkZTo6ZGU6Ok1hcE\ +FjY2Vzcz46Om5leHRfdmFsdWVfc2VlZDo6aDBkMDY2ODg4YWY3MmEyNmW6CGQ8c2VyZGVfanNvbjo6\ +dmFsdWU6OmRlOjpNYXBEZXNlcmlhbGl6ZXIgYXMgc2VyZGU6OmRlOjpNYXBBY2Nlc3M+OjpuZXh0X3\ +ZhbHVlX3NlZWQ6Omg1ODRjZTljNTc3N2U1YmM0uwhNPGRlbm9fc2VtdmVyOjpWZXJzaW9uUmVxIGFz\ +IGNvcmU6OmNsb25lOjpDbG9uZT46OmNsb25lOjpoM2RiYzE3N2RlYWUyYjNlZi42MzK8CDxjb3JlOj\ +pzbGljZTo6c29ydDo6c3RhYmxlOjpkcmlmdHNvcnRfbWFpbjo6aGU2ZTdmNzliZDM2MmVjODm9CHI8\ +cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpDb3JlIGFzIHJlZ2V4X2F1dG9tYXRhOjptZX\ +RhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpzZWFyY2hfaGFsZjo6aDcxYmRjZDk0ZDRkNTUwNGK+CHE8\ +cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD4gYXMgcmVnZXhfYXV0b21hdGE6Om\ +1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OmlzX21hdGNoOjpoNjAwYTZlODc3NjZlZjE2Mb8IcTxy\ +ZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9hdXRvbWF0YTo6bW\ +V0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6aXNfbWF0Y2g6OmhjY2NjMmU0ODliM2Y3ZmNmwAhTPGNv\ +cmU6Om9wczo6cmFuZ2U6OlJhbmdlSW5jbHVzaXZlPElkeD4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46Om\ +ZtdDo6aGM5OWM0ZjMxZjU5OWUwYjjBCEFyZWdleF9zeW50YXg6Omhpcjo6dHJhbnNsYXRlOjpUcmFu\ +c2xhdG9ySTo6cG9wOjpoMTUxNDNkN2E2OWVjMDUzNMIIPnJ1c3RjX2RlbWFuZ2xlOjp2MDo6UHJpbn\ +Rlcjo6cHJpbnRfc2VwX2xpc3Q6OmgxMWJiM2FhY2UxOWEzN2NkwwguYWxsb2M6OnJhd192ZWM6OmZp\ +bmlzaF9ncm93OjpoYTMxMjMwYzEwYmViMDY5YsQIggJhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOj\ +pub2RlOjpIYW5kbGU8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6Tm9kZVJlZjxhbGxv\ +Yzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6Ok11dCxLLFYsYWxsb2M6OmNvbGxlY3\ +Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpJbnRlcm5hbD4sYWxsb2M6OmNvbGxlY3Rpb25zOjpi\ +dHJlZTo6bm9kZTo6bWFya2VyOjpFZGdlPjo6aW5zZXJ0X2ZpdDo6aGViY2RlODVjNjBlYWUzNWHFCD\ +pjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8aWdub3JlOjpFcnJvcj46Omg4NzFmZGY0ZTNkOGJmMTYx\ +xgg0Z2xvYnNldDo6Z2xvYjo6UGFyc2VyOjpwdXNoX3Rva2VuOjpoNjU3MWUzNjZkNmJkYjNiMMcIgQ\ +E8PHNlcmRlOjpkZTo6V2l0aERlY2ltYWxQb2ludCBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6\ +Okxvb2tGb3JEZWNpbWFsUG9pbnQgYXMgY29yZTo6Zm10OjpXcml0ZT46OndyaXRlX3N0cjo6aGNkZG\ +ZlN2U4YWM4NTQ2MWPICCphbGxvYzo6Zm10Ojpmb3JtYXQ6OmhhM2Y4NTI4ZTQ3OGY1ZTk5LjE5NzjJ\ +CDZ1cmw6OnBhcnNlcjo6UGFyc2VyOjpwYXJzZV9mcmFnbWVudDo6aDgzMTQxMGMwNTVlOGM5Y2bKCE\ +o8d2FzbV9iaW5kZ2VuOjpKc0Vycm9yIGFzIGNvcmU6OmNvbnZlcnQ6OkZyb208RT4+Ojpmcm9tOjpo\ +NTZhOTAwNmY0NjQyZWI4OcsIP2FsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6dHJ5X2FsbG9jYX\ +RlX2luOjpoMGY1YjI5ZDFhNWI0ZDBkOMwIRWFsbG9jOjpjb2xsZWN0aW9uczo6dmVjX2RlcXVlOjpW\ +ZWNEZXF1ZTxULEE+Ojpncm93OjpoNmQxNThmNTJmNTI3YzgzNs0IP2FsbG9jOjpyYXdfdmVjOjpSYX\ +dWZWM8VCxBPjo6dHJ5X2FsbG9jYXRlX2luOjpoOTNhNzUwZmNmNmY4MDI1Nc4IpQFhbGxvYzo6Y29s\ +bGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpOb2RlUmVmPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om\ +5vZGU6Om1hcmtlcjo6TXV0LEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJr\ +ZXI6OkludGVybmFsPjo6cHVzaDo6aDZlMjJiNjkzMTQ3MDk3YTHPCD9hbGxvYzo6cmF3X3ZlYzo6Um\ +F3VmVjPFQsQT46OnRyeV9hbGxvY2F0ZV9pbjo6aDMzZjQ0N2M4ODNmY2Q1ODbQCEVhbGxvYzo6Y29s\ +bGVjdGlvbnM6OnZlY19kZXF1ZTo6VmVjRGVxdWU8VCxBPjo6Z3Jvdzo6aDc1ZDEzN2I2NGUxOTdhYT\ +XRCFBjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8aWdub3JlOjpnaXRpZ25vcmU6OkdpdGlnbm9yZUJ1\ +aWxkZXI+OjpoZDYwM2I0N2Q3NGY5YTdiYdIIP2FsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6dH\ +J5X2FsbG9jYXRlX2luOjpoOGExZGE4MGJlN2IxNzVkOdMIQGpzb25jX3BhcnNlcjo6c2Nhbm5lcjo6\ +U2Nhbm5lcjo6dHJ5X21vdmVfd29yZDo6aGU0YjM2YzU5ZWVmMDEwZWHUCD9hbGxvYzo6cmF3X3ZlYz\ +o6UmF3VmVjPFQsQT46OnRyeV9hbGxvY2F0ZV9pbjo6aDRlNTJmZmI3NWQ5NDQ3MDPVCDA8JlQgYXMg\ +Y29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDc1MTI3NjQyZmY1NDA1OTnWCFI8cmVnZXhfYXV0b21hdG\ +E6OnV0aWw6OmFscGhhYmV0OjpVbml0IGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgyYTc5MmMz\ +NzI5ZDdlNjI51whMcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmNvbXBpbGVyOjpDb21waW\ +xlcjo6Y19mYWlsOjpoY2QwYTk3MWFkMTMyYjk4MdgIRXJlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRm\ +YTo6TGF6eTo6dHJ5X2NsZWFyX2NhY2hlOjpoODJhM2M2NGM5MDE2ZmZiOdkIczxyZWdleF9hdXRvbW\ +F0YTo6bWV0YTo6c3RyYXRlZ3k6OkNvcmUgYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5\ +OjpTdHJhdGVneT46Om1lbW9yeV91c2FnZTo6aDc5ODgxMjUwMjcyYzFlZGTaCIIBPHJlZ2V4X2F1dG\ +9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJh\ +dGVneTo6U3RyYXRlZ3k+Ojp3aGljaF9vdmVybGFwcGluZ19tYXRjaGVzOjpoNjU0OTM0ZjQ4ODQ2MG\ +UzZdsIggE8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD4gYXMgcmVnZXhfYXV0\ +b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OndoaWNoX292ZXJsYXBwaW5nX21hdGNoZX\ +M6OmhjNmI3MWIwNDdlZjMwOWMx3AhTPGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdlSW5jbHVzaXZlPElk\ +eD4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGZjZDk3YjE5NGVmZjczYzLdCD1yZWdleF9zeW\ +50YXg6OmFzdDo6cGFyc2U6OlBhcnNlckk8UD46OmNoYXI6Omg4YzljZDU1ZmY4OTE4MTNl3gg+cnVz\ +dGNfZGVtYW5nbGU6OnYwOjpQcmludGVyOjpwcmludF9zZXBfbGlzdDo6aGY4MzBkNGVjNGIwNGRiOT\ +nfCCx1cmw6OlVybDo6dGFrZV9hZnRlcl9wYXRoOjpoZWRjNTc4OWZiOTViMGI2ZeAIMzwmVCBhcyBj\ +b3JlOjpmbXQ6Okxvd2VySGV4Pjo6Zm10OjpoY2NiOTQ5YzM3ZmZiY2Y1OOEIsgE8ZGVub19sb2NrZm\ +lsZTo6Xzo6PGltcGwgc2VyZGU6OmRlOjpEZXNlcmlhbGl6ZSBmb3IgZGVub19sb2NrZmlsZTo6TG9j\ +a2ZpbGVQYWNrYWdlSnNvbkNvbnRlbnQ+OjpkZXNlcmlhbGl6ZTo6X19GaWVsZFZpc2l0b3IgYXMgc2\ +VyZGU6OmRlOjpWaXNpdG9yPjo6dmlzaXRfYnl0ZXM6OmhkYjkwOWNhYjczMGQ3NDlh4ghGaGFzaGJy\ +b3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZTxULEE+OjplcmFzZV9ub19kcm9wOjpoNDc1ODM1MzBlZD\ +dmNTJiMuMIUGRlbm9fbG9ja2ZpbGU6OkxvY2tmaWxlQ29udGVudDo6ZnJvbV9qc29uOjpleHRyYWN0\ +X252X2Zyb21faWQ6OmgwYWIyMTE0OTRhYzBiZmI55AhRZGVub19sb2NrZmlsZTo6dHJhbnNmb3Jtcz\ +o6dHJhbnNmb3JtM190b180OjpleHRyYWN0X252X2Zyb21faWQ6OmgyZTljNTUxNGE1NDQ2N2Jj5QhE\ +Y29yZTo6c2xpY2U6OnNvcnQ6OnNoYXJlZDo6c21hbGxzb3J0OjppbnNlcnRfdGFpbDo6aGE2ODJjZD\ +ZiYThhZjFjZTjmCD9oYXNoYnJvd246OnJhdzo6UmF3VGFibGVJbm5lcjo6ZHJvcF9lbGVtZW50czo6\ +aDdkOTYyMzAzYWY0NmJjODTnCFFyZWdleF9hdXRvbWF0YTo6ZGZhOjpvbmVwYXNzOjpJbnRlcm5hbE\ +J1aWxkZXI6OmFkZF9zdGFydF9zdGF0ZTo6aDg5ODkzZmY5MjZkM2ZmNjnoCHk8cmVnZXhfYXV0b21h\ +dGE6OnV0aWw6OnByZWZpbHRlcjo6bWVtbWVtOjpNZW1tZW0gYXMgcmVnZXhfYXV0b21hdGE6OnV0aW\ +w6OnByZWZpbHRlcjo6UHJlZmlsdGVyST46OmZpbmQ6Omg0ZDczMzY0ZjhhZWFjNDMz6QhJY29yZTo6\ +Zm10OjpudW06OjxpbXBsIGNvcmU6OmZtdDo6VXBwZXJIZXggZm9yIGk4Pjo6Zm10OjpoOWIyMjk1Zm\ +JiYzVjYmFhZeoISWNvcmU6OmZtdDo6bnVtOjo8aW1wbCBjb3JlOjpmbXQ6Okxvd2VySGV4IGZvciBp\ +OD46OmZtdDo6aGNkYzQ3NWMyYmVlODQ2NzLrCEpjb3JlOjpmbXQ6Om51bTo6PGltcGwgY29yZTo6Zm\ +10OjpVcHBlckhleCBmb3IgaTMyPjo6Zm10OjpoMTYxN2Y4OWIwOTM2YjRkNuwISmNvcmU6OmZtdDo6\ +bnVtOjo8aW1wbCBjb3JlOjpmbXQ6Okxvd2VySGV4IGZvciBpMzI+OjpmbXQ6Omg1ZmIzNmVmNTY5MW\ +U1MjVj7QgwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg4ODRkMjEzZjY1OWRmYjZl7ggu\ +YWxsb2M6OnJhd192ZWM6OmZpbmlzaF9ncm93OjpoY2QyNDFmYzg4NzRiMDcyY+8ISmNvcmU6OmZtdD\ +o6bnVtOjo8aW1wbCBjb3JlOjpmbXQ6Okxvd2VySGV4IGZvciBpMTY+OjpmbXQ6OmhkMWZjOGE2ZWU0\ +ZjI1ODcz8AhYPHNlcmRlOjpkZTo6aW1wbHM6OlBhdGhCdWZWaXNpdG9yIGFzIHNlcmRlOjpkZTo6Vm\ +lzaXRvcj46OnZpc2l0X2J5dGVzOjpoMjQ2ODhjY2Y0NzU5MmEzMPEIZDxzZXJkZV9qc29uOjp2YWx1\ +ZTo6ZGU6Ok1hcERlc2VyaWFsaXplciBhcyBzZXJkZTo6ZGU6Ok1hcEFjY2Vzcz46Om5leHRfdmFsdW\ +Vfc2VlZDo6aDE3N2RlOWQ4OTIyZjIwZWbyCDdwZXJjZW50X2VuY29kaW5nOjphZnRlcl9wZXJjZW50\ +X3NpZ246OmhmZWM5ZjgxMjEzY2NjNDU28wgwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Om\ +hlODE3OWMyYzRiOWY1N2M29Ag1Y29yZTo6cmVzdWx0OjpSZXN1bHQ8VCxFPjo6bWFwX2Vycjo6aDgz\ +MTQ1ZDRlNTkyYzE2ZmP1CDVtZW1jaHI6Om1lbW1lbTo6RmluZGVyOjppbnRvX293bmVkOjpoYWNhMm\ +ZkNzcxOTY3YmI4OPYIbTxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OkNvcmUgYXMgcmVn\ +ZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OnNlYXJjaDo6aDU1YjkzMGE3ZT\ +c2MTc1ZGX3CHE8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD4gYXMgcmVnZXhf\ +YXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OmlzX21hdGNoOjpoMzM3NzlhNTU2MG\ +RhOTdhYvgIcTxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9h\ +dXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6aXNfbWF0Y2g6Omg1Y2ZmN2NhOWY0OW\ +NhOWYy+QgwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgxYWM5NTUyNWU2YjMxMjg3+gg+\ +cmVnZXhfc3ludGF4Ojphc3Q6OkNsYXNzU2V0VW5pb246OmludG9faXRlbTo6aDA5ZTNiYTBjYzIxNW\ +IyYjP7CDB1cmw6OnBhcnNlcjo6UGFyc2VyOjpwb3BfcGF0aDo6aDBhOTJhOWQ1ZWI5OTJiYjj8CFo8\ +c2VyZGVfanNvbjo6ZGU6Ok1hcEFjY2VzczxSPiBhcyBzZXJkZTo6ZGU6Ok1hcEFjY2Vzcz46Om5leH\ +RfdmFsdWVfc2VlZDo6aGNkMDU2ODc2YWYwMGEyNTX9CLQBPGRlbm9fY29uZmlnOjpkZW5vX2pzb246\ +Ol86OjxpbXBsIHNlcmRlOjpkZTo6RGVzZXJpYWxpemUgZm9yIGRlbm9fY29uZmlnOjpkZW5vX2pzb2\ +46OkxvY2tDb25maWc+OjpkZXNlcmlhbGl6ZTo6X19GaWVsZFZpc2l0b3IgYXMgc2VyZGU6OmRlOjpW\ +aXNpdG9yPjo6dmlzaXRfYnl0ZXM6OmgwNjUyMDFiYjU0NzI0OTNj/gg8PFQgYXMgYWxsb2M6OnN0cm\ +luZzo6VG9TdHJpbmc+Ojp0b19zdHJpbmc6OmgyNWI2N2RiNTJlNmJmMzRi/whOPHNlcmRlX2pzb246\ +OnZhbHVlOjppbmRleDo6VHlwZSBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6OmhmNmVlYzQ0Yj\ +k1MTI1ZDMzgAlacmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OnJhbmdlX3RyaWU6OlJhbmdl\ +VHJpZTo6YWRkX3RyYW5zaXRpb25fYXQ6OmgxYjM5YTJhNTg4ZTMxM2Q0gQk9cmVnZXhfc3ludGF4Oj\ +phc3Q6OnBhcnNlOjpQYXJzZXJJPFA+OjpwZWVrOjpoNzUxOWIxZjZhNTkyYTYzYoIJSDxzZXJkZV9q\ +c29uOjplcnJvcjo6RXJyb3IgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoZjE3MDA5NDllYj\ +UyYzI4NIMJQGNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnBpdm90OjptZWRpYW4zX3JlYzo6aGU5\ +NDU1NDM4MWYxYzhmMmGECVw8Y29yZTo6bWFya2VyOjpQaGFudG9tRGF0YTxUPiBhcyBzZXJkZTo6ZG\ +U6OkRlc2VyaWFsaXplU2VlZD46OmRlc2VyaWFsaXplOjpoNWI0YTVlMTZhNGM3MGU2MoUJSmNvcmU6\ +OmZtdDo6bnVtOjo8aW1wbCBjb3JlOjpmbXQ6OlVwcGVySGV4IGZvciBpNjQ+OjpmbXQ6OmgyOTA5Yj\ +c4OTEzNjc0MGUyhglKY29yZTo6Zm10OjpudW06OjxpbXBsIGNvcmU6OmZtdDo6TG93ZXJIZXggZm9y\ +IGk2ND46OmZtdDo6aGQxOGFiMDk5MmVmYjdiY2OHCUI8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY2\ +9yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGY5MTM2YzQ0MDBkZTBlZDKICUI8YWxsb2M6OnZlYzo6VmVj\ +PFQsQT4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDY4YzE3MjgwNTE4ODE0MDKJCUI8YWxsb2\ +M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDA2Y2VhNzgyNTI5ZmUx\ +ODSKCUI8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGYwZm\ +U1NTJkZjU4YjhlMjGLCV5haG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91czo6Q29tcGlsZXI6\ +OmFkZF91bmFuY2hvcmVkX3N0YXJ0X3N0YXRlX2xvb3A6OmhmYTNjODM5NTQxYzIyZjQxjAk8Y29yZT\ +o6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnRzb3J0X21haW46Omg4MDY4OWRhZGMyNzk0N2YwjQlo\ +PGNvcmU6Oml0ZXI6OmFkYXB0ZXJzOjpza2lwOjpTa2lwPEk+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0cz\ +o6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aDNmYzMxMDNmZjdiZTk0MzmOCS5tb25jaDo6aWZf\ +dHJ1ZTo6e3tjbG9zdXJlfX06OmgxNGQwZGQ3NjM2ZWQ2ZTQyjwk2dW5pY29kZV9iaWRpOjpjaGFyX2\ +RhdGE6OmJpZGlfY2xhc3M6Omg0MDQyYTRhYjY0YTAzNDQwkAlfPGFsbG9jOjpzdHJpbmc6OlN0cmlu\ +ZyBhcyBjb3JlOjppdGVyOjp0cmFpdHM6OmNvbGxlY3Q6OkV4dGVuZDwmc3RyPj46OmV4dGVuZDo6aD\ +c4MmRiYTJiNmI3ZjY5M2SRCUI8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6Zm10OjpEZWJ1\ +Zz46OmZtdDo6aDNjMDRhMTI5NmM3NGRhMWWSCUI8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZT\ +o6Zm10OjpEZWJ1Zz46OmZtdDo6aDI0NzRiMmJmMjMyYTEzNmSTCUI8YWxsb2M6OnZlYzo6VmVjPFQs\ +QT4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDljMzE1MzIwODNjZGI4MGKUCUI8YWxsb2M6On\ +ZlYzo6VmVjPFQsQT4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDM4NzkxZWZiNmYzOTg3ZjaV\ +CYIBPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+IGFzIHJlZ2V4X2F1dG9tYX\ +RhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+Ojp3aGljaF9vdmVybGFwcGluZ19tYXRjaGVzOjpo\ +MmIzMzFjZWRkYjIwN2QxZpYJggE8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD\ +4gYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OndoaWNoX292ZXJs\ +YXBwaW5nX21hdGNoZXM6OmhhNjA4MTc5M2ZlY2M1MWRklwlCPGFsbG9jOjp2ZWM6OlZlYzxULEE+IG\ +FzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgwNjYyOTM4ZmVhNjU0NWY3mAlCPGFsbG9jOjp2ZWM6\ +OlZlYzxULEE+IGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg1MjEwN2YzYzJmNzhlMWE4mQk8Y2\ +9yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnRzb3J0X21haW46OmhiYTM3NDBhMzM3MTM5MDJk\ +mgk8Y29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnRzb3J0X21haW46OmhlNmUzNDJlMTVhYz\ +U5ZDY3mwk8PFQgYXMgYWxsb2M6OnN0cmluZzo6VG9TdHJpbmc+Ojp0b19zdHJpbmc6Omg1Mjk3NjUy\ +YmZjZDQ4OTI1nAk0PCZtdXQgVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNTU5ODYzZDVjY2\ +JmNTE3OJ0JQXNlcmRlX3dhc21fYmluZGdlbjo6ZGU6OkRlc2VyaWFsaXplcjo6YXNfYnl0ZXM6Omg4\ +OTg4YTQzMGYxZGUwOGE2nglVPGpzX3N5czo6SW50b0l0ZXIgYXMgY29yZTo6aXRlcjo6dHJhaXRzOj\ +ppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoMWYyMTk1MDQwM2EzMWRlZp8JRGNvcmU6OnNsaWNl\ +Ojpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6aW5zZXJ0X3RhaWw6Omg5NzcxMzNmMWU5YWViMjNkoA\ +k8PFQgYXMgYWxsb2M6OnN0cmluZzo6VG9TdHJpbmc+Ojp0b19zdHJpbmc6Omg5ZDBmMzU4MzNlOGM2\ +NTM0oQl5PHNlcmRlOjpfX3ByaXZhdGU6OmRlOjpjb250ZW50OjpDb250ZW50UmVmRGVzZXJpYWxpem\ +VyPEU+IGFzIHNlcmRlOjpkZTo6RGVzZXJpYWxpemVyPjo6ZGVzZXJpYWxpemVfc3RyOjpoYTNhZjYy\ +MTAzNmVlYTU3MKIJOmNvcmU6OmZtdDo6YnVpbGRlcnM6OkRlYnVnVHVwbGU6OmZpbmlzaDo6aGQ3OT\ +BjMDczNzRjYWQ1NjmjCUBjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpwaXZvdDo6bWVkaWFuM19y\ +ZWM6OmhhN2E4ZGQxNWFjNGZkNGE0pAk8PFQgYXMgYWxsb2M6OnN0cmluZzo6VG9TdHJpbmc+Ojp0b1\ +9zdHJpbmc6Omg1NGY5YzlhZWNlZmVhNjA2pQkwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6\ +Omg1NTkzYTk4ZmY2ZDIyZGZhpglGZGVub19jb25maWc6OmRlbm9fanNvbjo6Q29uZmlnRmlsZTo6dG\ +9fcGF0Y2hfY29uZmlnOjpoZDI3MTgyNmU5MDEwYjE1NqcJQGNvcmU6OnNsaWNlOjpzb3J0OjpzaGFy\ +ZWQ6OnBpdm90OjptZWRpYW4zX3JlYzo6aDFjNjU1OTZlZmJlMmFiZTKoCUBjb3JlOjpzbGljZTo6c2\ +9ydDo6c2hhcmVkOjpwaXZvdDo6bWVkaWFuM19yZWM6OmgwOWIyNDdiOWMxNGIyMmIzqQk0YWxsb2M6\ +OnZlYzo6VmVjPFQsQT46OmV4dGVuZF93aXRoOjpoZjJiY2E1OWMyOTJlYzVkYaoJeTxyZWdleF9hdX\ +RvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjp0ZWRkeTo6VGVkZHkgYXMgcmVnZXhfYXV0b21hdGE6OnV0\ +aWw6OnByZWZpbHRlcjo6UHJlZmlsdGVyST46OnByZWZpeDo6aDVjYjZlMzIwNDMyMTFjMWOrCTZzZX\ +JkZV9qc29uOjpkZTo6UGFyc2VyTnVtYmVyOjp2aXNpdDo6aGFlMzI0YjZiOWU3MjkzOGasCSF1cmw6\ +OlVybDo6cGF0aDo6aDkxMjY2YWNhZGM0MjlhZGWtCUM8c3RkOjpwYXRoOjpQYXRoQnVmIGFzIGNvcm\ +U6OmNtcDo6UGFydGlhbEVxPjo6ZXE6OmgzNGU5MmIwZmQ4MGU0NWY3rgm3ATxkZW5vX2NvbmZpZzo6\ +ZGVub19qc29uOjpfOjo8aW1wbCBzZXJkZTo6ZGU6OkRlc2VyaWFsaXplIGZvciBkZW5vX2NvbmZpZz\ +o6ZGVub19qc29uOjpXb3Jrc3BhY2VDb25maWc+OjpkZXNlcmlhbGl6ZTo6X19GaWVsZFZpc2l0b3Ig\ +YXMgc2VyZGU6OmRlOjpWaXNpdG9yPjo6dmlzaXRfc3RyOjpoMzQ1ZDVhZGIxOTllNzc5ZK8JP2Rlbm\ +9fY29uZmlnOjpkZW5vX2pzb246OkNvbmZpZ0ZpbGU6OmRpcl9wYXRoOjpoZWU2ZDU0NTRjNjhiZGNm\ +ZrAJQDxzdGQ6OnBhdGg6OlBhdGggYXMgY29yZTo6Y21wOjpQYXJ0aWFsRXE+OjplcTo6aDY2YjVmNj\ +kxOTBkM2U5MzmxCVU8JnN0ZDo6cGF0aDo6UGF0aCBhcyBjb3JlOjpjbXA6OlBhcnRpYWxFcTxzdGQ6\ +OnBhdGg6OlBhdGhCdWY+Pjo6ZXE6OmhjYWYyMmQ3NDU3ODVhY2RlsglmPGhhc2hicm93bjo6cmF3Oj\ +ppbm5lcjo6UmF3SXRlcjxUPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRv\ +cj46Om5leHQ6OmhkNmQ1ZTM5MGI1M2EyNWJmswkjbW9uY2g6Om5leHRfY2hhcjo6aDRjMWIzNDdmMG\ +EzZTI1NmK0CYEBPHJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpsaXRlcmFsX3RyaWU6OlN0\ +YXRlQ2h1bmtzSXRlciBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om\ +5leHQ6Omg0NDJlZTBhOGUyMWU2YjFmtQlvPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6\ +Q29yZSBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6aXNfbWF0Y2\ +g6OmhkNjNkZjc0NWQxMDBmNTZhtglvPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJl\ +PFA+IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpzZWFyY2g6Om\ +hlZGJiMTNhZmQ0NTBiYWU1twlvPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+\ +IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpzZWFyY2g6OmhjMj\ +NjMDg4OGZjOGZhZjdluAlDPHdhc21fYmluZGdlbjo6SnNWYWx1ZSBhcyBjb3JlOjpmbXQ6OkRlYnVn\ +Pjo6Zm10OjpoNTFhNTM3Mjg2ZjM2ODk3YbkJPGNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaW\ +Z0c29ydF9tYWluOjpoM2VhNjdmM2Y5MDcwYmZkMroJPGNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6\ +OmRyaWZ0c29ydF9tYWluOjpoZmFkMDM0OWI0Nzg4ZTFkOLsJM2FsbG9jOjpzbGljZTo6PGltcGwgW1\ +RdPjo6dG9fdmVjOjpoZjhhYzFiNGJlOTUyN2QyNbwJMjxjaGFyIGFzIGNvcmU6OmZtdDo6RGVidWc+\ +OjpmbXQ6OmhhOWQyMjNiYWNkOWFiNTY0vQlGPGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6Om\ +Nsb25lOjpDbG9uZT46OmNsb25lOjpoODY3ODAzZTc2ZDI2NTBhOb4JLmNvcmU6OnNsaWNlOjptZW1j\ +aHI6Om1lbWNocjo6aGMwZGUxYjEzNmQ0NmMxYzC/CWI8c2VyZGVfanNvbjo6dmFsdWU6OmRlOjpNYX\ +BEZXNlcmlhbGl6ZXIgYXMgc2VyZGU6OmRlOjpNYXBBY2Nlc3M+OjpuZXh0X2tleV9zZWVkOjpoMDg1\ +YjEzYTU3NWQwOTRhN8AJNGNvcmU6OnN0cjo6PGltcGwgc3RyPjo6c3BsaXRfb25jZTo6aDcwNTNiNW\ +NmYzhlMmIyNmHBCTVjb3JlOjpzdHI6OjxpbXBsIHN0cj46OnJzcGxpdF9vbmNlOjpoYTc0M2IyZGIw\ +ZTE0YWZkZMIJPGNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0c29ydF9tYWluOjpoNmY5Nj\ +U3ZjU4MmIzODJmOMMJPGNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0c29ydF9tYWluOjpo\ +N2RlZWY3NGU4NWMyNDYyY8QJPW1lbWNocjo6YXJjaDo6YWxsOjpyYWJpbmthcnA6OmlzX2VxdWFsX3\ +Jhdzo6aDJkNTUzNmNjZDYwZWZkYjjFCUJyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjpQ\ +cmVmaWx0ZXI6Om5ldzo6aDY4ZWUxYzIxNmEzODUwNzTGCTljb3JlOjpvcHM6OmZ1bmN0aW9uOjpGbk\ +9uY2U6OmNhbGxfb25jZTo6aDJhNjkxMmFlZjExNzJiMmbHCU08c3RkOjppbzo6ZXJyb3I6OkVycm9y\ +IGFzIGNvcmU6OmVycm9yOjpFcnJvcj46OmRlc2NyaXB0aW9uOjpoZjRmNGM2N2E0ZDRiZmYzN8gJIn\ +VybDo6VXJsOjpxdWVyeTo6aDVhZGQyZmRiZTBlNTM5NGXJCUg8c2VyZGVfanNvbjo6dmFsdWU6OlZh\ +bHVlIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aDE1MDRjZmRlZTJhOWZkYWXKCSltb25jaD\ +o6c2tpcF93aGl0ZXNwYWNlOjpoZjhjNWZjNjc4M2NkNTI4Y8sJQ2hhc2hicm93bjo6cmF3OjpSYXdU\ +YWJsZUlubmVyOjpuZXdfdW5pbml0aWFsaXplZDo6aGJkNWNiNThkMGQyYzIyNzHMCSxpZG5hOjp1dH\ +M0Njo6ZGVjb2RlX3NsaWNlOjpoMmU1ODc0YTAzMmZjOGNkZc0JP2FsbG9jOjpyYXdfdmVjOjpSYXdW\ +ZWM8VCxBPjo6dHJ5X2FsbG9jYXRlX2luOjpoMDA3NWM3MjA4OTU5ZGEzY84JQjxhbGxvYzo6dmVjOj\ +pWZWM8VCxBPiBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMjJkNGZmMGUyYWE4MzllOc8JUXVu\ +aWNvZGVfbm9ybWFsaXphdGlvbjo6bG9va3Vwczo6Y29tcGF0aWJpbGl0eV9mdWxseV9kZWNvbXBvc2\ +VkOjpoODI0ZTVmMDAwOTZlODQxY9AJTXVuaWNvZGVfbm9ybWFsaXphdGlvbjo6bG9va3Vwczo6Y2Fu\ +b25pY2FsX2Z1bGx5X2RlY29tcG9zZWQ6Omg1YTUzYzcyODg2OGY1YjM50QlPPHNlcmRlX2pzb246Om\ +Vycm9yOjpFcnJvciBhcyBzZXJkZTo6ZGU6OkVycm9yPjo6aW52YWxpZF90eXBlOjpoNzU4NjYxNTli\ +OWNlMjY2Y9IJSjxzZXJkZV9qc29uOjp2YWx1ZTo6VmFsdWUgYXMgY29yZTo6Y2xvbmU6OkNsb25lPj\ +o6Y2xvbmU6Omg2ODMyYWVhZTUyYWQxMzcx0wlQPHNlcmRlX2pzb246OmVycm9yOjpFcnJvciBhcyBz\ +ZXJkZTo6ZGU6OkVycm9yPjo6aW52YWxpZF92YWx1ZTo6aGY5YWEyYjg3NDJjYmZlMDLUCT9hbGxvYz\ +o6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnRyeV9hbGxvY2F0ZV9pbjo6aDg2ZmJmMjM5OGNjODc0MzLV\ +CT9kZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpwYXJlbnRfc3BlY2lmaWVyX3N0cjo6aDdhMTMyN2Y2Yj\ +c1YWM3M2PWCUloYXNoYnJvd246OnJhdzo6VGFibGVMYXlvdXQ6OmNhbGN1bGF0ZV9sYXlvdXRfZm9y\ +OjpoYzM3NzBkNWY0MjQwN2RhNy4xMDM31wlKY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGdsb2JzZX\ +Q6Okdsb2JTZXRNYXRjaFN0cmF0ZWd5Pjo6aDRlM2EzY2YzMmU4Zjg4NWbYCT9hbGxvYzo6cmF3X3Zl\ +Yzo6UmF3VmVjPFQsQT46OnRyeV9hbGxvY2F0ZV9pbjo6aDI4MjEwYjQyMjg1NmUxY2bZCWVjb3JlOj\ +pwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmxpdGVyYWxf\ +dHJpZTo6TGl0ZXJhbFRyaWU+OjpoMGE5ZDM0Njc3NjM1ZmE2ZdoJP2FsbG9jOjpyYXdfdmVjOjpSYX\ +dWZWM8VCxBPjo6dHJ5X2FsbG9jYXRlX2luOjpoYjEzZmJmODNmMDYyMTJhZtsJQGNvcmU6OnNsaWNl\ +Ojpzb3J0OjpzaGFyZWQ6OnBpdm90OjptZWRpYW4zX3JlYzo6aDQwMDZjMTVmNWQ0ZGNhOTHcCT9hbG\ +xvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnRyeV9hbGxvY2F0ZV9pbjo6aGY4NDc4ZGMyNWI0Y2M5\ +YjjdCT9hbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnRyeV9hbGxvY2F0ZV9pbjo6aDk0ZTdkZj\ +E0Y2Q2NTc5MjbeCTZyZWdleF9zeW50YXg6OmFzdDo6Q29uY2F0OjppbnRvX2FzdDo6aDk2ZTU2NTkw\ +N2UyOGQ2ZWTfCT5ydXN0Y19kZW1hbmdsZTo6djA6OlByaW50ZXI6OnByaW50X3NlcF9saXN0OjpoMT\ +QxOTBhN2JmMmQxMTIyOeAJXjxzZXJkZV9qc29uOjpzZXI6OlByZXR0eUZvcm1hdHRlciBhcyBzZXJk\ +ZV9qc29uOjpzZXI6OkZvcm1hdHRlcj46OmVuZF9hcnJheTo6aGUwMjdjZGJjYjE2ZTY1MjHhCV88c2\ +VyZGVfanNvbjo6c2VyOjpQcmV0dHlGb3JtYXR0ZXIgYXMgc2VyZGVfanNvbjo6c2VyOjpGb3JtYXR0\ +ZXI+OjplbmRfb2JqZWN0OjpoZjk4MjcwZjFmOWU1NjMyNeIJQ3N0ZDo6cGFuaWNraW5nOjpiZWdpbl\ +9wYW5pY19oYW5kbGVyOjp7e2Nsb3N1cmV9fTo6aDk4ZGU4NDhkNjc4YmFkMDfjCV48Y29yZTo6c3Ry\ +OjppdGVyOjpTcGxpdDxQPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj\ +46Om5leHQ6OmhiNzU2NjUwZTA5ODEwYjJm5AkhdXJsOjpVcmw6Omhvc3Q6Omg3NTk5NWQ5NTZmNzhl\ +Yzc25Qk/YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojp0cnlfYWxsb2NhdGVfaW46OmhjNWRiNz\ +FmYmVkMDEzMzhm5gk/YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojp0cnlfYWxsb2NhdGVfaW46\ +OmgxMzczYjViN2U5MWRmYzA45wlWY29yZTo6c3RyOjp0cmFpdHM6OjxpbXBsIGNvcmU6Om9wczo6aW\ +5kZXg6OkluZGV4PEk+IGZvciBzdHI+OjppbmRleDo6aDZjNjkxNzllYzNiMTQ3NzDoCU9jb3JlOjpw\ +dHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnJlZ2V4OjpSZWdleD46Omg3NG\ +JlNWUwZjYzYmNjNWQ56QkwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhmOTkwOTRlM2Uy\ +ZDRlNTRm6gl7PHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OmJ5dGVzZXQ6OkJ5dGVTZX\ +QgYXMgcmVnZXhfYXV0b21hdGE6OnV0aWw6OnByZWZpbHRlcjo6UHJlZmlsdGVyST46OmZpbmQ6Omgw\ +NWMyYTI5MzkwNGNmOTli6wlvPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+IG\ +FzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpzZWFyY2g6OmhhY2Iy\ +MjgwODA2OTA2YTg27AlvPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+IGFzIH\ +JlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpzZWFyY2g6OmhlYzg5MzYw\ +NTk0M2NiMDVh7Qk+cnVzdGNfZGVtYW5nbGU6OnYwOjpQcmludGVyOjpwcmludF9zZXBfbGlzdDo6aD\ +NlMzVkNDkxN2FjMmRkODHuCXpjb3JlOjpzdHI6OnRyYWl0czo6PGltcGwgY29yZTo6c2xpY2U6Omlu\ +ZGV4OjpTbGljZUluZGV4PHN0cj4gZm9yIGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdlPHVzaXplPj46Om\ +luZGV4OjpoZGY2NTg1MzVhYTg1OWJiNe8JPGNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0\ +c29ydF9tYWluOjpoMDgzMjZmNGE2N2ZmYjk0N/AJP2FsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPj\ +o6dHJ5X2FsbG9jYXRlX2luOjpoMTg5Y2VmZTY4Mjc5MTMyM/EJdjxhaG9fY29yYXNpY2s6OnV0aWw6\ +OnByZWZpbHRlcjo6UmFyZUJ5dGVzT25lIGFzIGFob19jb3Jhc2ljazo6dXRpbDo6cHJlZmlsdGVyOj\ +pQcmVmaWx0ZXJJPjo6ZmluZF9pbjo6aGJjMjdkYmYwMDUxYjE1OWLyCTA8JlQgYXMgY29yZTo6Zm10\ +OjpEZWJ1Zz46OmZtdDo6aDg5NDg0MjZlYWE4Y2M3ZGTzCU9jb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2\ +U8cmVnZXhfYXV0b21hdGE6Omh5YnJpZDo6ZGZhOjpDYWNoZT46Omg3ZjcwMjM2M2JlYjI0ZDQz9Akx\ +Y29yZTo6aGFzaDo6c2lwOjp1OHRvNjRfbGU6Omg0NDM5NDRhYjQ5NjlkOTY5LjQwOfUJP2FsbG9jOj\ +pyYXdfdmVjOjpSYXdWZWM8VCxBPjo6dHJ5X2FsbG9jYXRlX2luOjpoMGNjOTgyYmUxNzdkZjhlZPYJ\ +T2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpkZmE6OkNhY2\ +hlPjo6aGQ1OThhOGY0YmY3ZTBhZmH3CTJjb3JlOjpoYXNoOjpzaXA6OnU4dG82NF9sZTo6aDQ0Mzk0\ +NGFiNDk2OWQ5NjkuMTA0OPgJOXJlZ2V4X3N5bnRheDo6aGlyOjpQcm9wZXJ0aWVzOjpsaXRlcmFsOj\ +poMWE3MDc1MDNlZGRmYzE0OPkJQ3JlZ2V4X2F1dG9tYXRhOjp1dGlsOjpzcGFyc2Vfc2V0OjpTcGFy\ +c2VTZXQ6Om5ldzo6aGJlNmMwMGMwMTE3YWYyOTH6CUJyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpkZm\ +E6OkRGQTo6bWF0Y2hfcGF0dGVybjo6aGJiMjI3M2FlNDdiNDY4YWT7CT9yZWdleF9hdXRvbWF0YTo6\ +aHlicmlkOjpkZmE6OkRGQTo6bmV4dF9zdGF0ZTo6aDc1ZDNmMmM1MTdkNmI2MTj8CU1yZWdleF9hdX\ +RvbWF0YTo6bmZhOjp0aG9tcHNvbjo6cGlrZXZtOjpBY3RpdmVTdGF0ZXM6OnJlc2V0OjpoN2UzMzNl\ +ZGVkYTZkYjk1ZP0JP2FsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6dHJ5X2FsbG9jYXRlX2luOj\ +poYWNmM2UxMTFkYzJmNDk0Yv4JQXNlcmRlX2pzb246OnNlcjo6Q2hhckVzY2FwZTo6ZnJvbV9lc2Nh\ +cGVfdGFibGU6Omg3MmE0Mjg2Y2VlMDlhZjA2/wlnd2FzbV9iaW5kZ2VuOjo8aW1wbCBjb3JlOjpjb2\ +52ZXJ0OjpUcnlGcm9tPHdhc21fYmluZGdlbjo6SnNWYWx1ZT4gZm9yIGk2ND46OnRyeV9mcm9tOjpo\ +OWYxMzJkNGYyMTljNTUyNYAKZ3dhc21fYmluZGdlbjo6PGltcGwgY29yZTo6Y29udmVydDo6VHJ5Rn\ +JvbTx3YXNtX2JpbmRnZW46OkpzVmFsdWU+IGZvciB1NjQ+Ojp0cnlfZnJvbTo6aDBmMDZmYzNhYjY1\ +YWNjMTWBCmtzZXJkZTo6ZGU6OmltcGxzOjo8aW1wbCBzZXJkZTo6ZGU6OkRlc2VyaWFsaXplIGZvci\ +Bjb3JlOjpvcHRpb246Ok9wdGlvbjxUPj46OmRlc2VyaWFsaXplOjpoMDdhNjhiOGU3NTAwNzA1NYIK\ +SGRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6OldvcmtzcGFjZTo6cmVzb2x2ZV9mb2xkZXJfc3RyOjpoY2\ +NiNjJmYzNlNTk1NDU0Y4MKMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZDEyODRiMWUx\ +NWE5M2VmOIQKSDxhbnlob3c6OmNvbnRleHQ6OlF1b3RlZDxDPiBhcyBjb3JlOjpmbXQ6OkRlYnVnPj\ +o6Zm10OjpoY2RlNjVkYTEzMWU4MjcwMYUKP3JlZ2V4X2F1dG9tYXRhOjptZXRhOjpyZWdleDo6QnVp\ +bGRlcjo6c3ludGF4OjpoMWU1MWQwN2ZjZmM0OGI5YYYKPGFsbG9jOjpzeW5jOjpBcmM8W1RdPjo6YW\ +xsb2NhdGVfZm9yX3NsaWNlOjpoN2QyNGYwODk1ZTU5YmI5YYcKSmluZGV4bWFwOjptYXA6OmNvcmU6\ +OkluZGV4TWFwQ29yZTxLLFY+OjpyZXNlcnZlX2VudHJpZXM6OmhjYTk3ODgxZDcyZWY1ZTZmiAo9c2\ +VyZGVfanNvbjo6ZGU6OlBhcnNlck51bWJlcjo6aW52YWxpZF90eXBlOjpoZGYyZjNmYzEzOWYyY2Ew\ +MIkKSDxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOj\ +poOTljOTRkZDM3NWM2YWM3OIoKS2Fob19jb3Jhc2ljazo6dXRpbDo6YWxwaGFiZXQ6OkJ5dGVDbGFz\ +c1NldDo6Ynl0ZV9jbGFzc2VzOjpoYTc3MmE3NTc0ZmNmZmVlMosKSmluZGV4bWFwOjptYXA6OmNvcm\ +U6OkluZGV4TWFwQ29yZTxLLFY+OjpyZXNlcnZlX2VudHJpZXM6OmhkOGRiNmM0YmU0MTY1YmU2jApI\ +PGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhmY2\ +ZiNzQ3YTJiMDY3ZjM2jQphPGRlbm9fc2VtdmVyOjpwYWNrYWdlOjpQYWNrYWdlUmVxUmVmZXJlbmNl\ +UGFyc2VFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoY2YzYzE5MThkMGMzNGQ4Yo4KSm\ +luZGV4bWFwOjptYXA6OmNvcmU6OkluZGV4TWFwQ29yZTxLLFY+OjpyZXNlcnZlX2VudHJpZXM6Omgy\ +ODA4NjI2NTM3Y2RkZmY5jwpGZGVub19zZW12ZXI6OnJhbmdlOjpQYXJ0aWFsOjphc190aWxkZV92ZX\ +JzaW9uX3JhbmdlOjpoOGUzNDkwNWI4NTAzMDBlZpAKdDxhaG9fY29yYXNpY2s6Om5mYTo6bm9uY29u\ +dGlndW91czo6TkZBIGFzIGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+OjptYXRjaF\ +9wYXR0ZXJuOjpoNTM2YzIyNzk5NDJkNGY4Zi4xMjMwkQpNcmVnZXhfYXV0b21hdGE6OnV0aWw6OmFs\ +cGhhYmV0OjpCeXRlQ2xhc3NTZXQ6OmJ5dGVfY2xhc3Nlczo6aGMyZDE5ZjU5YzVjYmU0MmKSCkNyZW\ +dleF9hdXRvbWF0YTo6aHlicmlkOjpkZmE6OkRGQTo6bmV4dF9lb2lfc3RhdGU6OmhmMjY1NzJmYzMy\ +NzI0OTI2kwo1Y29yZTo6cmVzdWx0OjpSZXN1bHQ8VCxFPjo6bWFwX2Vycjo6aGZhYjMyYTg2NmRkNm\ +QyNmaUCk9yZWdleF9hdXRvbWF0YTo6dXRpbDo6bG9vazo6TG9va01hdGNoZXI6OmlzX3dvcmRfc3Rh\ +cnRfYXNjaWk6Omg5MjZmOTJjZmE1MTM0MjE5lQpVcmVnZXhfc3ludGF4OjpoaXI6OnRyYW5zbGF0ZT\ +o6VHJhbnNsYXRvckk6OnVuaWNvZGVfZm9sZF9hbmRfbmVnYXRlOjpoNWI2ZDUwYjFkNmEzZmJiNZYK\ +Q3JlZ2V4X3N5bnRheDo6aGlyOjpsaXRlcmFsOjpTZXE6Om1pbl9saXRlcmFsX2xlbjo6aDU4NmNlZD\ +U4ZDUzODBiYTCXCjBhbnlob3c6Ol9fcHJpdmF0ZTo6Zm9ybWF0X2Vycjo6aDQyYWI1MjdlNWZmNTBj\ +MGOYCkRzZXJkZV9qc29uOjpkZTo6RGVzZXJpYWxpemVyPFI+OjpwYXJzZV93aGl0ZXNwYWNlOjpoZW\ +NhMmM3YWM1Mzc4NTRjMpkKMTxbVF0gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDgzN2M2ZjQ1\ +OTViMTNhYjOaCjNhbGxvYzo6c3luYzo6QXJjPFQsQT46OmRyb3Bfc2xvdzo6aDMzMjA5ZmQyMGNmMj\ +ExNTObCkRjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6Omluc2VydF90YWlsOjpo\ +ZTc1YTE0ZWQzYmRhMDk1NpwKNGNvcmU6Omhhc2g6OkJ1aWxkSGFzaGVyOjpoYXNoX29uZTo6aDYwZm\ +Y0YjFhZTI0NDFmN2OdCjNhbGxvYzo6c3luYzo6QXJjPFQsQT46OmRyb3Bfc2xvdzo6aDkzZDI2ZmYw\ +YjQxNGVmNmGeCi1zdGQ6OnBhdGg6OlBhdGg6OmZpbGVfbmFtZTo6aGU4ZjlmOWNmMzA1ZmQ5NjKfCn\ +thbGxvYzo6dmVjOjpwYXJ0aWFsX2VxOjo8aW1wbCBjb3JlOjpjbXA6OlBhcnRpYWxFcTxhbGxvYzo6\ +dmVjOjpWZWM8VSxBMj4+IGZvciBhbGxvYzo6dmVjOjpWZWM8VCxBMT4+OjplcTo6aDgxMzZmNmVhMm\ +E2MzI0ZDCgCk1zdGQ6OnN5czo6dGhyZWFkX2xvY2FsOjpzdGF0aWs6OkxhenlTdG9yYWdlPFQ+Ojpp\ +bml0aWFsaXplOjpoN2M1NGEwOGMzNGQ4ZTFkM6EKaDxjb3JlOjppdGVyOjphZGFwdGVyczo6bWFwOj\ +pNYXA8SSxGPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6\ +OmhhOTM4ZDUzYTc2MmM2MTRjogpzPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6Q29yZS\ +BhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6Y3JlYXRlX2NhY2hl\ +OjpoMjJhM2FlNTc4MzZhZmRhY6MKfDxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlJldm\ +Vyc2VTdWZmaXggYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OmNy\ +ZWF0ZV9jYWNoZTo6aDI3MzRhMzdiYjQ1MmYyMGGkCn48cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cm\ +F0ZWd5OjpSZXZlcnNlQW5jaG9yZWQgYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpT\ +dHJhdGVneT46OmNyZWF0ZV9jYWNoZTo6aGJkNDQxOGJkZTI5OGZhODGlCjA8JlQgYXMgY29yZTo6Zm\ +10OjpEZWJ1Zz46OmZtdDo6aGQ4YzIzNGNkYjdmZGIzYjemCkByZWdleF9zeW50YXg6OmFzdDo6cGFy\ +c2U6OlBhcnNlckk8UD46OmJ1bXBfaWY6OmgyZWQyM2FlNWEwYjc3ZDNipwpKc2VyZGVfanNvbjo6ZG\ +U6OkRlc2VyaWFsaXplcjxSPjo6cGFyc2VfZGVjaW1hbF9vdmVyZmxvdzo6aGJjNWYyY2FjYzVlZWY4\ +YjmoCghfX211bHRpM6kKLmNvcmU6OnJlc3VsdDo6dW53cmFwX2ZhaWxlZDo6aDQ3MjQzMTQ4M2Q1ZW\ +VhN2aqCmc8aW5kZXhtYXA6Om1hcDo6aXRlcjo6SW50b0l0ZXI8SyxWPiBhcyBjb3JlOjppdGVyOjp0\ +cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6OmgwNTExOTc3NGE1ODc2ZmZhqwq0AWFsbG\ +9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8YWxsb2M6OmNvbGxlY3Rpb25zOjpi\ +dHJlZTo6bm9kZTo6bWFya2VyOjpPd25lZCxLLFYsYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm\ +9kZTo6bWFya2VyOjpJbnRlcm5hbD46OmZyb21fbmV3X2ludGVybmFsOjpoZGNkMWI0NGM0YzVmZTZh\ +NKwKN2FsbG9jOjp2ZWM6OlZlYzxULEE+OjpleHRlbmRfdHJ1c3RlZDo6aDdhOTg0NDYwNmRmZTA1MD\ +GtCktkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpkaXNjb3Zlcnk6OmVuc3VyZV90cmFpbGluZ19zbGFz\ +aDo6aDkzMDQzOTMxNzNhODM5NzeuCmg8Y29yZTo6aXRlcjo6YWRhcHRlcnM6Om1hcDo6TWFwPEksRj\ +4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoY2VhN2M1\ +NWNhYjZhOGUzNK8KtAFhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpOb2RlUmVmPGFsbG\ +9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6T3duZWQsSyxWLGFsbG9jOjpjb2xs\ +ZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6SW50ZXJuYWw+Ojpmcm9tX25ld19pbnRlcm5hbD\ +o6aDI4MmU2ZjUwMjYzMDgwYjKwCrQBYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6Tm9k\ +ZVJlZjxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6Ok93bmVkLEssVixhbG\ +xvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6OkludGVybmFsPjo6ZnJvbV9uZXdf\ +aW50ZXJuYWw6Omg5YTMyMTcyNDZmMDlhNGRisQq0AWFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om\ +5vZGU6Ok5vZGVSZWY8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpPd25l\ +ZCxLLFYsYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpJbnRlcm5hbD46Om\ +Zyb21fbmV3X2ludGVybmFsOjpoYmQ4N2IwYjY5YmMzNGI0M7IKtAFhbGxvYzo6Y29sbGVjdGlvbnM6\ +OmJ0cmVlOjpub2RlOjpOb2RlUmVmPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcm\ +tlcjo6T3duZWQsSyxWLGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6SW50\ +ZXJuYWw+Ojpmcm9tX25ld19pbnRlcm5hbDo6aDYyNzVkMTM1MTc4ZjIxYjizCrQBYWxsb2M6OmNvbG\ +xlY3Rpb25zOjpidHJlZTo6bm9kZTo6Tm9kZVJlZjxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpu\ +b2RlOjptYXJrZXI6Ok93bmVkLEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYX\ +JrZXI6OkludGVybmFsPjo6ZnJvbV9uZXdfaW50ZXJuYWw6OmhkZTE2NDFlMWQyYzY0YjRktApKaGFz\ +aGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZUlubmVyOjpuZXdfdW5pbml0aWFsaXplZDo6aGVhM2\ +RmZTRmN2JjZjkyMWS1CkVjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8c2VyZGVfanNvbjo6ZXJyb3I6\ +OkVycm9yPjo6aDNkNjBhNjM3MTI0Y2JlNTe2Ck1yZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbj\ +o6cmFuZ2VfdHJpZTo6TmV4dEluc2VydDo6bmV3OjpoNmI1ZDMzMDY3MDk4ZmNlN7cKRnJlZ2V4X2F1\ +dG9tYXRhOjpuZmE6OnRob21wc29uOjpidWlsZGVyOjpTdGF0ZTo6Z290bzo6aDY0N2ZhYWU3YmU5MW\ +JhNzi4CjNzZXJkZTo6ZGU6Ok1hcEFjY2Vzczo6bmV4dF92YWx1ZTo6aDBiYjM3MjkxYjE2MTlhM2a5\ +Cj1haG9fY29yYXNpY2s6OnBhY2tlZDo6YXBpOjpDb25maWc6OmJ1aWxkZXI6OmhkYzU3ZGM0MzZlZG\ +ZkYmYwugpDYWhvX2NvcmFzaWNrOjpwYWNrZWQ6OnJhYmlua2FycDo6UmFiaW5LYXJwOjpoYXNoOjpo\ +NWQwMWM1ZWQ4OGNhZTYwN7sKN2luZGV4bWFwOjptYXA6OkluZGV4TWFwPEssVixTPjo6aGFzaDo6aG\ +RlMzk3ZjlmZTljZDZmN2a8CmM8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bWFwOjpCVHJlZU1h\ +cDxLLFYsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDhlYzIyOGFjNGUwMWYzYz\ +O9ClE8ZGVub19zZW12ZXI6Ompzcjo6SnNyRGVwUGFja2FnZVJlcSBhcyBjb3JlOjpoYXNoOjpIYXNo\ +Pjo6aGFzaDo6aDkyYTkyNGI2Nzg1Y2FjNWW+CmM8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bW\ +FwOjpCVHJlZU1hcDxLLFYsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDBlYmJi\ +ZTBlZThjZTlmNzC/CmM8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bWFwOjpCVHJlZU1hcDxLLF\ +YsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDMzZGFlNzZlZmJkMWQ2M2TACmM8\ +YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bWFwOjpCVHJlZU1hcDxLLFYsQT4gYXMgY29yZTo6b3\ +BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDQwY2YzMTk0NTc2OTUwZWLBCj5kZW5vX3NlbXZlcjo6cmFu\ +Z2U6OlBhcnRpYWw6OmFzX2xvd2VyX2JvdW5kOjpoOTNmYzEzNmE1NDhkZjAyZsIKLWFsbG9jOjpzdH\ +Jpbmc6OlN0cmluZzo6cG9wOjpoNzhjMDdhZWMyOWZjMGFlNsMKQ3JlZ2V4X3N5bnRheDo6aGlyOjps\ +aXRlcmFsOjpTZXE6OmtlZXBfbGFzdF9ieXRlczo6aDM4Y2RlN2M5MWNmZjI3NDXECjRyeXU6OmQyc1\ +9pbnRyaW5zaWNzOjptdWxfc2hpZnRfNjQ6OmhiZjliZjM4YTQwM2IyYThixQpFY29yZTo6cHRyOjpk\ +cm9wX2luX3BsYWNlPHNlcmRlX2pzb246OmVycm9yOjpFcnJvcj46OmhmMWYxYzhmZGNkZmVlNTFmxg\ +pJaGFzaGJyb3duOjpyYXc6OlRhYmxlTGF5b3V0OjpjYWxjdWxhdGVfbGF5b3V0X2Zvcjo6aGMzNzcw\ +ZDVmNDI0MDdkYTcuMTk3M8cKPWhhc2hicm93bjo6cmF3OjpSYXdJdGVyUmFuZ2U8VD46Om5leHRfaW\ +1wbDo6aDg1NmY3NWRlOWUzYmZiODLICkphaG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91czo6\ +TkZBOjphbGxvY190cmFuc2l0aW9uOjpoN2MzM2Y3MDdkMGZiNTliZskKPWhhc2hicm93bjo6cmF3Oj\ +pSYXdJdGVyUmFuZ2U8VD46Om5leHRfaW1wbDo6aDkyODI1MGIyZjFhYmZiYWPKCnM8YWhvX2NvcmFz\ +aWNrOjphaG9jb3Jhc2ljazo6RmluZE92ZXJsYXBwaW5nSXRlciBhcyBjb3JlOjppdGVyOjp0cmFpdH\ +M6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6OmgwOWJmYWY0OTA1OWU3MDMxywpJPHNlcmRlX2pz\ +b246OmVycm9yOjpFcnJvciBhcyBzZXJkZTo6ZGU6OkVycm9yPjo6Y3VzdG9tOjpoNmI5ZTk4MDM4M2\ +RmOWVmMcwKNGNvcmU6Omhhc2g6OkJ1aWxkSGFzaGVyOjpoYXNoX29uZTo6aDg5NzNkOGRiYzE3NzNl\ +OGLNCj1oYXNoYnJvd246OnJhdzo6UmF3SXRlclJhbmdlPFQ+OjpuZXh0X2ltcGw6OmgxODNmMTZiZT\ +hjNjE1ZWFhzgpEaW5kZXhtYXA6Om1hcDo6SW5kZXhNYXA8SyxWLFM+Ojpzd2FwX3JlbW92ZV9lbnRy\ +eTo6aDQ1MTdjYTRlOTNiYzJiMDnPCjlkZW5vX3NlbXZlcjo6cmFuZ2U6OlZlcnNpb25SYW5nZTo6bm\ +9uZTo6aGNjZDZjMTk4N2FkMjMzNTDQCj1oYXNoYnJvd246OnJhdzo6UmF3SXRlclJhbmdlPFQ+Ojpu\ +ZXh0X2ltcGw6OmgxZDg4OWJiNTlkYmI2NzZj0QotanNfc3lzOjpVaW50OEFycmF5Ojp0b192ZWM6Om\ +hjODkwMjAyNzNhMDg0NTQ10gpDanNvbmNfcGFyc2VyOjpzY2FubmVyOjpTY2FubmVyOjpwZWVrX2No\ +YXJfb2Zmc2V0OjpoOGVjMDM1ZmZiYmFhYTBhNtMKR2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZW\ +dleF9zeW50YXg6Omhpcjo6SGlyS2luZD46OmgyZmEwZjRiZTdmNjFmMDIz1Ao9aGFzaGJyb3duOjpy\ +YXc6OlJhd0l0ZXJSYW5nZTxUPjo6bmV4dF9pbXBsOjpoNTdkMmJhNjE2NzMzOGRjM9UKQnJlZ2V4X2\ +F1dG9tYXRhOjp1dGlsOjpsb29rOjpMb29rU2V0Ojp3cml0ZV9yZXByOjpoNDNhNWNiY2U1YjAwOTUz\ +M9YKOHJlZ2V4X3N5bnRheDo6aGlyOjpsaXRlcmFsOjpTZXE6OnNvcnQ6Omg0YWMzNWQ1YzQ3OGFkY2\ +Q11wpIcmVnZXhfYXV0b21hdGE6Om1ldGE6OndyYXBwZXJzOjpPbmVQYXNzOjpjcmVhdGVfY2FjaGU6\ +OmhiNzQwZmI4N2VhOTQyMDU52AqEATxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjphaG\ +9fY29yYXNpY2s6OkFob0NvcmFzaWNrIGFzIHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6\ +OlByZWZpbHRlckk+OjpmaW5kOjpoNWE0MTgyYmEwOWJkMDViY9kKhgE8cmVnZXhfYXV0b21hdGE6On\ +V0aWw6OnByZWZpbHRlcjo6YWhvX2NvcmFzaWNrOjpBaG9Db3Jhc2ljayBhcyByZWdleF9hdXRvbWF0\ +YTo6dXRpbDo6cHJlZmlsdGVyOjpQcmVmaWx0ZXJJPjo6cHJlZml4OjpoNmUzODYwYzNjNDViODZmMt\ +oKS2hhc2hicm93bjo6cmF3Ojppbm5lcjo6VGFibGVMYXlvdXQ6OmNhbGN1bGF0ZV9sYXlvdXRfZm9y\ +OjpoNWVjNGU4ZmZlMGZlYjZkOdsKZDxzZXJkZV9qc29uOjp2YWx1ZTo6ZGU6OktleUNsYXNzaWZpZX\ +IgYXMgc2VyZGU6OmRlOjpEZXNlcmlhbGl6ZVNlZWQ+OjpkZXNlcmlhbGl6ZTo6aDE0Yzg3MjRmNTg4\ +NDVjOGPcCmlzZXJkZTo6ZGU6OmltcGxzOjo8aW1wbCBzZXJkZTo6ZGU6OkRlc2VyaWFsaXplIGZvci\ +BhbGxvYzo6c3RyaW5nOjpTdHJpbmc+OjpkZXNlcmlhbGl6ZTo6aGQxOTBhM2Q2OGIwMTVkMGPdCo4B\ +d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjppbXBsczo6PGltcGwgd2FzbV9iaW5kZ2VuOjpjb252ZXJ0Oj\ +p0cmFpdHM6OlJldHVybldhc21BYmkgZm9yIGNvcmU6OnJlc3VsdDo6UmVzdWx0PFQsRT4+OjpyZXR1\ +cm5fYWJpOjpoY2Y1OTkzNThjMTljNjY5Zd4KM3NlcmRlOjpkZTo6RXJyb3I6OmludmFsaWRfbGVuZ3\ +RoOjpoN2JlYmMxMGNmOGZiNjViNd8KUWFsbG9jOjp2ZWM6OnNwbGljZTo6PGltcGwgYWxsb2M6OnZl\ +Yzo6ZHJhaW46OkRyYWluPFQsQT4+OjpmaWxsOjpoNGEzYmViOTI3ZGE2ZDVkNOAKSTxzZXJkZV9qc2\ +9uOjplcnJvcjo6RXJyb3IgYXMgc2VyZGU6OmRlOjpFcnJvcj46OmN1c3RvbTo6aGI5ZWMzYTJiMWFj\ +NTliNDfhCjZtZW1jaHI6Om1lbW1lbTo6c2VhcmNoZXI6OlByZTo6ZmluZDo6aDRlYjQ0ZGQzZTI4MD\ +hmNmbiCjlyZWdleF9zeW50YXg6OmFzdDo6Q2xhc3NTZXRVbmlvbjo6cHVzaDo6aGU2NjFlZmY2MDc1\ +YmJhZTPjCk08cmVnZXhfc3ludGF4Ojphc3Q6OkVycm9yS2luZCBhcyBjb3JlOjpjbXA6OlBhcnRpYW\ +xFcT46OmVxOjpoZTgxYTAzOTU3OWUzNjIzMOQKaDxjb3JlOjppdGVyOjphZGFwdGVyczo6c2tpcDo6\ +U2tpcDxJPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6Om\ +hjOGNjNTE4YTZlOGQ3MWEz5QpHaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlSW5uZXI6OmZpbmRfaW5z\ +ZXJ0X3Nsb3Q6Omg0ZTU0ZjBiOTU0ZjIzZWVkLjE5NzXmCkB1cmw6OnBhcnNlcjo6c3RhcnRzX3dpdG\ +hfd2luZG93c19kcml2ZV9sZXR0ZXI6Omg3N2NjZDQzOWRkM2E2MjM05wo/YWxsb2M6OnJhd192ZWM6\ +OlJhd1ZlYzxULEE+Ojp0cnlfYWxsb2NhdGVfaW46OmgzMTFjNTNlOTlhNTUyNWU36Ao/YWxsb2M6On\ +Jhd192ZWM6OlJhd1ZlYzxULEE+Ojp0cnlfYWxsb2NhdGVfaW46Omg2NmEwODE0ZjdkMjVhZTY16Qo/\ +YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojp0cnlfYWxsb2NhdGVfaW46OmgzOGQ1MmIwNzA5Yj\ +NlMTVm6go/YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojp0cnlfYWxsb2NhdGVfaW46OmgzODcy\ +MmUzN2I3ZWU4N2E06wo5YWxsb2M6OnZlYzo6VmVjPFQsQT46OmludG9fYm94ZWRfc2xpY2U6Omg2NG\ +JhMThkZWVlOGI4NzQw7AowPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg3Y2EzNjcwMzgx\ +OGZiZWEz7Qp5PGFob19jb3Jhc2ljazo6dXRpbDo6cHJlZmlsdGVyOjpTdGFydEJ5dGVzVGhyZWUgYX\ +MgYWhvX2NvcmFzaWNrOjp1dGlsOjpwcmVmaWx0ZXI6OlByZWZpbHRlckk+OjpmaW5kX2luOjpoNTk3\ +YTgxNTI3OTA1MjM3Me4KdDxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjptYXA6OkludG9JdGVyPE\ +ssVixBPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6Omhh\ +MGNmZWRjZTcxMWVmYzU47wprc2VyZGU6OmRlOjppbXBsczo6PGltcGwgc2VyZGU6OmRlOjpEZXNlcm\ +lhbGl6ZSBmb3IgY29yZTo6b3B0aW9uOjpPcHRpb248VD4+OjpkZXNlcmlhbGl6ZTo6aDU3Y2FkZDhk\ +MzkzMDhjMzPwCmtzZXJkZTo6ZGU6OmltcGxzOjo8aW1wbCBzZXJkZTo6ZGU6OkRlc2VyaWFsaXplIG\ +ZvciBjb3JlOjpvcHRpb246Ok9wdGlvbjxUPj46OmRlc2VyaWFsaXplOjpoMTNkNTY2ZGM5NzgwOTJk\ +ZPEKZmRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6OmRpc2NvdmVyeTo6cmVzb2x2ZV93b3Jrc3BhY2VfZm\ +9yX2NvbmZpZ19mb2xkZXI6Ont7Y2xvc3VyZX19OjpoMDdlZWE2NGMwOTE0ZjBjMfIKVjxkZW5vX2xv\ +Y2tmaWxlOjpMb2NrZmlsZUNvbnRlbnQgYXMgY29yZTo6ZGVmYXVsdDo6RGVmYXVsdD46OmRlZmF1bH\ +Q6OmgyZThmNTNjMzg3MGZkZTc48wpAYWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+OjpzaHJpbmtf\ +dW5jaGVja2VkOjpoZGZjNTViMzgxMmNiNzkxOPQKQGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPj\ +o6c2hyaW5rX3VuY2hlY2tlZDo6aGFjYjVmZDU4MjY2ZGUzZGH1CkBhbGxvYzo6cmF3X3ZlYzo6UmF3\ +VmVjPFQsQT46OnNocmlua191bmNoZWNrZWQ6Omg5ZjdiYmM5ODc4MzMwOTFl9gpsPGNvcmU6Oml0ZX\ +I6OnNvdXJjZXM6OmZyb21fZm46OkZyb21GbjxGPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJh\ +dG9yOjpJdGVyYXRvcj46Om5leHQ6OmhhNmFiNzBjNzE1MTE4ZmQ59wowPCZUIGFzIGNvcmU6OmZtdD\ +o6RGVidWc+OjpmbXQ6Omg2ZjJkZmM3NjQ1MGQxODVm+Ao5YWxsb2M6OnZlYzo6VmVjPFQsQT46Omlu\ +dG9fYm94ZWRfc2xpY2U6Omg5NmVjMjY0Y2IxNGYxNjIy+QpWcmVnZXhfYXV0b21hdGE6Om5mYTo6dG\ +hvbXBzb246Om5mYTo6U3BhcnNlVHJhbnNpdGlvbnM6Om1hdGNoZXNfYnl0ZTo6aGUyN2M3OTY5YzY0\ +NjViMmb6Cn88cmVnZXhfYXV0b21hdGE6OnV0aWw6OnByZWZpbHRlcjo6dGVkZHk6OlRlZGR5IGFzIH\ +JlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OlByZWZpbHRlckk+OjptZW1vcnlfdXNhZ2U6\ +OmhmZjI2ZDZhMTA1YTI0NDE3+wpFcmVnZXhfc3ludGF4Ojphc3Q6OnZpc2l0b3I6OkhlYXBWaXNpdG\ +9yOjpwb3BfY2xhc3M6OmgyN2MyZDU2NjUyZWI1NzFl/ApwY29yZTo6cHRyOjpkcm9wX2luX3BsYWNl\ +PDxzdGQ6OmJhY2t0cmFjZTo6QmFja3RyYWNlIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6e3\ +tjbG9zdXJlfX0+OjpoYjgzNjE1NjE1NTUzMTZmOP0KNmFsbG9jOjphbGxvYzo6R2xvYmFsOjphbGxv\ +Y19pbXBsOjpoOTM3MTY5YzM5ZWFjNzkyMS4xMP4KO2NvcmU6OmZtdDo6YnVpbGRlcnM6OkRlYnVnU3\ +RydWN0OjpmaW5pc2g6OmgyNmUyZGE4YzAzNDNlNmFm/wpIYWhvX2NvcmFzaWNrOjp1dGlsOjphbHBo\ +YWJldDo6Qnl0ZUNsYXNzZXM6OnNpbmdsZXRvbnM6Omg4ODIwZWI5MWIxZTk1MjZhgAutAWFsbG9jOj\ +pjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJl\ +ZTo6bm9kZTo6bWFya2VyOjpNdXQsSyxWLGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om\ +1hcmtlcjo6TGVhZj46OnB1c2hfd2l0aF9oYW5kbGU6OmhmNDc2MzUzM2NhZmI0OTU4gQs+aW5kZXht\ +YXA6Om1hcDo6SW5kZXhNYXA8SyxWLFM+Ojpzd2FwX3JlbW92ZTo6aDY3ODA1NDg1NzdlYWY1ZDSCCz\ +JzdGQ6OnBhdGg6OkNvbXBvbmVudDo6YXNfb3Nfc3RyOjpoNzFlMmMwNDY1NDlkZjliOYMLJ2Rlbm9f\ +c2VtdmVyOjpucG06OnhyOjpoODU0NmRhZmY5YWY5NWIyYoQLRWluZGV4bWFwOjptYXA6OmNvcmU6Ok\ +luZGV4TWFwQ29yZTxLLFY+OjpwdXNoX2VudHJ5OjpoMDA0MWI2MGIyOWI3ODgyM4ULSnJlZ2V4X2F1\ +dG9tYXRhOjp1dGlsOjphbHBoYWJldDo6Qnl0ZUNsYXNzZXM6OnNpbmdsZXRvbnM6OmgxMDE0MTYyMz\ +dkN2ZhMmUxhguHATxyZWdleF9hdXRvbWF0YTo6bWV0YTo6ZXJyb3I6OlJldHJ5RmFpbEVycm9yIGFz\ +IGNvcmU6OmNvbnZlcnQ6OkZyb208cmVnZXhfYXV0b21hdGE6OnV0aWw6OnNlYXJjaDo6TWF0Y2hFcn\ +Jvcj4+Ojpmcm9tOjpoZTc0MTBjYzZmYzBkMzQzYocLe2FsbG9jOjp2ZWM6OnBhcnRpYWxfZXE6Ojxp\ +bXBsIGNvcmU6OmNtcDo6UGFydGlhbEVxPGFsbG9jOjp2ZWM6OlZlYzxVLEEyPj4gZm9yIGFsbG9jOj\ +p2ZWM6OlZlYzxULEExPj46OmVxOjpoMmNlOGEwYWJjMjczMmI0NYgLPnJlZ2V4X3N5bnRheDo6YXN0\ +OjpwYXJzZTo6UGFyc2VySTxQPjo6ZXJyb3I6Omg3Y2UzYzczZGIxNTNhY2RliQs4cmVnZXhfc3ludG\ +F4OjpoaXI6OmxpdGVyYWw6OlNlcTo6cHVzaDo6aGQ5ODA1Y2IyZTNjNzYxZWSKC1A8c2VyZGU6OmRl\ +Ojp2YWx1ZTo6RXhwZWN0ZWRJblNlcSBhcyBzZXJkZTo6ZGU6OkV4cGVjdGVkPjo6Zm10OjpoMTBlYT\ +A3NTYzMjM2MzE4Y4sLUDxzZXJkZTo6ZGU6OnZhbHVlOjpFeHBlY3RlZEluTWFwIGFzIHNlcmRlOjpk\ +ZTo6RXhwZWN0ZWQ+OjpmbXQ6OmhjZjcyMDcwMzhmZjczZGMwjAs7YW55aG93OjplcnJvcjo6PGltcG\ +wgYW55aG93OjpFcnJvcj46Om1zZzo6aDQxNTViNjI4NzJkZjVmOTiNC1A8YWxsb2M6OmFsbG9jOjpH\ +bG9iYWwgYXMgY29yZTo6YWxsb2M6OkFsbG9jYXRvcj46OnNocmluazo6aGMyM2ViMTBmNTdjNWEzYm\ +UuMjI4N44LMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoOGEwOGJlOTU3MDIzYzAzNY8L\ +KGFsbG9jOjp2ZWM6OmZyb21fZWxlbTo6aDMyODUyMzk4NmY1MWE5NjiQC008YWxsb2M6OnN0cmluZz\ +o6U3RyaW5nIGFzIGNvcmU6OmZtdDo6V3JpdGU+Ojp3cml0ZV9jaGFyOjpoNGM1YzQ4Y2U5Mzg0MWRl\ +Mi40MpELP2FsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6dHJ5X2FsbG9jYXRlX2luOjpoZmM3NT\ +ZmMGQ0ZWNiOGM4ZpILUjxkZW5vX2NvbmZpZzo6Z2xvYjo6UGF0aE9yUGF0dGVybiBhcyBjb3JlOjpj\ +bG9uZTo6Q2xvbmU+OjpjbG9uZTo6aDU2ZDZlMTYwOWFjZTkwZTSTC1A8YWxsb2M6OmFsbG9jOjpHbG\ +9iYWwgYXMgY29yZTo6YWxsb2M6OkFsbG9jYXRvcj46OnNocmluazo6aGMyM2ViMTBmNTdjNWEzYmUu\ +MTIzOZQLMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZmM2MjRmYzE5ZTliNGM2Y5ULNG\ +NvcmU6Omhhc2g6OkJ1aWxkSGFzaGVyOjpoYXNoX29uZTo6aDU3M2Y5ZGRlZGI2YThlNzKWCzRjb3Jl\ +OjpoYXNoOjpCdWlsZEhhc2hlcjo6aGFzaF9vbmU6Omg3ZDEwYjlhYmNlNDgzZTk0lwtCcmVnZXhfYX\ +V0b21hdGE6OnV0aWw6OmNhcHR1cmVzOjpHcm91cEluZm86OnNsb3Q6OmhmODM3MzlhNTAwMjM5MjNh\ +mAtDcmVnZXhfYXV0b21hdGE6Omh5YnJpZDo6ZGZhOjpMYXp5OjpuZXh0X3N0YXRlX2lkOjpoNTRmYz\ +Y2YTY0MGQ3YTk5NJkLS3JlZ2V4X3N5bnRheDo6aGlyOjpsaXRlcmFsOjpQcmVmZXJlbmNlVHJpZTo6\ +Y3JlYXRlX3N0YXRlOjpoZTBlMmUxYTk0NDI4MDIzY5oLTzxhbGxvYzo6c3RyaW5nOjpTdHJpbmcgYX\ +MgY29yZTo6Zm10OjpXcml0ZT46OndyaXRlX2NoYXI6Omg0YzVjNDhjZTkzODQxZGUyLjE3NzibCzo8\ +dXJsOjpVcmwgYXMgY29yZTo6Y2xvbmU6OkNsb25lPjo6Y2xvbmU6OmgyM2FkMWMzZWRmMDFhNWIxnA\ +tSYWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6OkNvbXBpbGVyOjphZGRfZGVhZF9zdGF0\ +ZV9sb29wOjpoYTg5NmNkZDlhMDBiNjYxNJ0LWDxjb3JlOjpoYXNoOjpzaXA6OlNpcDEzUm91bmRzIG\ +FzIGNvcmU6Omhhc2g6OnNpcDo6U2lwPjo6Y19yb3VuZHM6OmhjNWUwODMxNTg3MzBjNDk2LjEwNDee\ +CzNhbGxvYzo6c3RyaW5nOjpTdHJpbmc6OnB1c2g6OmgxMDg0YTI1ZDY4NmQxMjdjLjIxODWfCzdpbm\ +RleG1hcDo6bWFwOjpJbmRleE1hcDxLLFYsUz46Omhhc2g6OmhlOGY3ZTNiOTE5OTg2Yjg2oAtAYWxs\ +b2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6c2xpY2VfaW5zZXJ0OjpoNTNiODBlZjYwNTM5OD\ +gxOKELN2luZGV4bWFwOjptYXA6OkluZGV4TWFwPEssVixTPjo6aGFzaDo6aGQ0YjIyZDc1NjMwZTJj\ +NTmiC2E8Y29yZTo6c3RyOjppdGVyOjpDaGFySW5kaWNlcyBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Om\ +l0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6OmhkNjUxMzY0MmQyNmNmODg2ows0Y29yZTo6c3RyOjo8\ +aW1wbCBzdHI+OjpzcGxpdF9vbmNlOjpoODVmN2JhMTc4YmFmNDE0NqQLM2FsbG9jOjpzdHJpbmc6Ol\ +N0cmluZzo6cHVzaDo6aDEwODRhMjVkNjg2ZDEyN2MuMTQ0NqULN2luZGV4bWFwOjptYXA6OkluZGV4\ +TWFwPEssVixTPjo6aGFzaDo6aDA4OTEwNTdiOTUwMjQ0NGOmC4UCYWxsb2M6OmNvbGxlY3Rpb25zOj\ +pidHJlZTo6bmF2aWdhdGU6OjxpbXBsIGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Okhh\ +bmRsZTxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpOb2RlUmVmPEJvcnJvd1R5cGUsSy\ +xWLGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6TGVhZj4sYWxsb2M6OmNv\ +bGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpFZGdlPj46Om5leHRfa3Y6OmgzYmU3OWNlY2\ +UzZmY5OThipws0Y29yZTo6aGFzaDo6QnVpbGRIYXNoZXI6Omhhc2hfb25lOjpoMTA0Y2EzYmI3ZGQ1\ +ZmY2Y6gLQzxhbGxvYzo6c3luYzo6QXJjPFQsQT4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aG\ +I5ZGI2YTIxNTk2YzE1NDWpC0BhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnNocmlua191bmNo\ +ZWNrZWQ6OmgxMzczZmQzNTBkZGU0M2E4qgt3PGFob19jb3Jhc2ljazo6dXRpbDo6cHJlZmlsdGVyOj\ +pTdGFydEJ5dGVzVHdvIGFzIGFob19jb3Jhc2ljazo6dXRpbDo6cHJlZmlsdGVyOjpQcmVmaWx0ZXJJ\ +Pjo6ZmluZF9pbjo6aDM1YzlhZGM5MjYyMDhkYjerCz9hbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT\ +46OnRyeV9hbGxvY2F0ZV9pbjo6aGJlNzYyODBlNTY3NDJkYjWsC3E8Y29yZTo6aXRlcjo6YWRhcHRl\ +cnM6OmNoYWluOjpDaGFpbjxBLEI+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZX\ +JhdG9yPjo6c2l6ZV9oaW50OjpoZTk4NGMzMTIzZWM5ZWNkNq0LNGNvcmU6Omhhc2g6OkJ1aWxkSGFz\ +aGVyOjpoYXNoX29uZTo6aDA2OGRlODcyNzc3ZTZjNTOuCzRjb3JlOjpoYXNoOjpCdWlsZEhhc2hlcj\ +o6aGFzaF9vbmU6OmhhOGM5NDAzZjEwYmI4OTUxrwtKYWxsb2M6OmNvbGxlY3Rpb25zOjp2ZWNfZGVx\ +dWU6OlZlY0RlcXVlPFQsQT46OnB1c2hfYmFjazo6aGQ0N2UxYTI5OGI2M2U5ODewCzRjb3JlOjpoYX\ +NoOjpCdWlsZEhhc2hlcjo6aGFzaF9vbmU6OmgzZjc2M2ZlOTEwNzQzYjdjsQs0Y29yZTo6aGFzaDo6\ +QnVpbGRIYXNoZXI6Omhhc2hfb25lOjpoNjVmNmNiZDE5ZTlhNTkzY7ILezxyZWdleF9hdXRvbWF0YT\ +o6dXRpbDo6cHJpbWl0aXZlczo6V2l0aFBhdHRlcm5JREl0ZXI8ST4gYXMgY29yZTo6aXRlcjo6dHJh\ +aXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoYjUzMjkwMWNhOWY1NzY5NLMLLmlkbmE6On\ +V0czQ2Ojppc19iaWRpX2RvbWFpbjo6aDlmZWFhYTZjMjczMWNjNDW0C3s8cmVnZXhfYXV0b21hdGE6\ +OnV0aWw6OnByaW1pdGl2ZXM6OldpdGhQYXR0ZXJuSURJdGVyPEk+IGFzIGNvcmU6Oml0ZXI6OnRyYW\ +l0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aDJhNzFkNTE4MTc1M2QyZTm1C01yZWdleF9h\ +dXRvbWF0YTo6dXRpbDo6bG9vazo6TG9va01hdGNoZXI6OmlzX3dvcmRfZW5kX2FzY2lpOjpoNTJhOD\ +M3N2EzOWYzNDIxMbYLQHJlZ2V4X3N5bnRheDo6YXN0Ojp2aXNpdG9yOjpDbGFzc0ZyYW1lOjpjaGls\ +ZDo6aDdlZDBjYjcwNmRjZWIwODm3CzhyZWdleF9zeW50YXg6OmFzdDo6Q2xhc3NTZXRJdGVtOjpzcG\ +FuOjpoNGNkZGY1ZjE5OTBjMzA0NrgLT3JlZ2V4X3N5bnRheDo6aGlyOjp0cmFuc2xhdGU6OkhpckZy\ +YW1lOjp1bndyYXBfY2xhc3NfdW5pY29kZTo6aDU4OTA2YjY3NzcxZTVmZWa5C01yZWdleF9zeW50YX\ +g6Omhpcjo6dHJhbnNsYXRlOjpIaXJGcmFtZTo6dW53cmFwX2NsYXNzX2J5dGVzOjpoNmI3NWMxYTVi\ +ZWQwMGVjOboLNGNvcmU6Omhhc2g6OkJ1aWxkSGFzaGVyOjpoYXNoX29uZTo6aDdlODAyOTQwYjQ0MD\ +U0Mji7Cz5jb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcjo6bnRoOjpoYWJmODFl\ +NjYyZmE2ZTM4ObwLZWFueWhvdzo6Y29udGV4dDo6PGltcGwgY29yZTo6Zm10OjpEZWJ1ZyBmb3IgYW\ +55aG93OjplcnJvcjo6Q29udGV4dEVycm9yPEMsRT4+OjpmbXQ6Omg3NjdjZDQ4OWZkYmJjZDhmvQtg\ +Y29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGRlbm9fc2VtdmVyOjpwYWNrYWdlOjpQYWNrYWdlUmVxUm\ +VmZXJlbmNlUGFyc2VFcnJvcj46OmgyNGY2ZWVlMWUwYjgwYWIyvgs/YWxsb2M6OnJhd192ZWM6OlJh\ +d1ZlYzxULEE+Ojp0cnlfYWxsb2NhdGVfaW46OmhmNjJhYTI1N2NlNmE5YjBjvwsoaWRuYTo6cHVueW\ +NvZGU6OmFkYXB0OjpoNjM3ZGI5OWYzN2M5NTFlMsALSXJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpsb29r\ +OjpMb29rTWF0Y2hlcjo6aXNfd29yZF9hc2NpaTo6aGYyYjEwNmUzNjNhNGU1ZjHBC05yZWdleF9hdX\ +RvbWF0YTo6bmZhOjp0aG9tcHNvbjo6cGlrZXZtOjpQaWtlVk06OnN0YXJ0X2NvbmZpZzo6aDdlNjc1\ +YzUzZWUzODI2NzLCC3thbGxvYzo6dmVjOjpwYXJ0aWFsX2VxOjo8aW1wbCBjb3JlOjpjbXA6OlBhcn\ +RpYWxFcTxhbGxvYzo6dmVjOjpWZWM8VSxBMj4+IGZvciBhbGxvYzo6dmVjOjpWZWM8VCxBMT4+Ojpl\ +cTo6aGViMmIxZmVmYzJjNDA1ZTnDCz5yZWdleF9zeW50YXg6Omhpcjo6bGl0ZXJhbDo6U2VxOjppc1\ +9pbmV4YWN0OjpoMWU0ZTYwODFiNWUyMzcxMsQLN3N0ZDo6cGFuaWNraW5nOjpydXN0X3BhbmljX3dp\ +dGhfaG9vazo6aDMzZmU3N2QzOGQzMDVjYTPFC2g8YWxsb2M6OnN0cmluZzo6U3RyaW5nIGFzIGNvcm\ +U6Oml0ZXI6OnRyYWl0czo6Y29sbGVjdDo6RnJvbUl0ZXJhdG9yPGNoYXI+Pjo6ZnJvbV9pdGVyOjpo\ +ZWYwMTA2ZGU1NTk1ZjI4NsYLMXNlcmRlOjpkZTo6RXJyb3I6OmludmFsaWRfdHlwZTo6aGU5ZjRhMD\ +VhOTZhMDdhYTjHC0Fjb3JlOjpzbGljZTo6aW5kZXg6OnNsaWNlX3N0YXJ0X2luZGV4X2xlbl9mYWls\ +OjpoNWM3NmFmMDFiZmU2OGNmYcgLNmNvcmU6OnBhbmlja2luZzo6cGFuaWNfYm91bmRzX2NoZWNrOj\ +poYzQ3NzY1ZTNkMTBhMzcwOckLLWFsbG9jOjp2ZWM6OlZlYzxULEE+OjpwdXNoOjpoMzcxODNhZTFh\ +MDZmZGI1YsoLLWFsbG9jOjp2ZWM6OlZlYzxULEE+OjpwdXNoOjpoYWZiODQzOTYyNzM3YjNiZMsLXm\ +hhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6ZmluZF9vcl9maW5kX2luc2VydF9z\ +bG90Ojp7e2Nsb3N1cmV9fTo6aDU5N2M2NDBiYmI1MTA2M2PMCy1hbGxvYzo6dmVjOjpWZWM8VCxBPj\ +o6cHVzaDo6aDlkY2UxMzQyYWIyMzkwNTfNCz9jb3JlOjpzbGljZTo6aW5kZXg6OnNsaWNlX2VuZF9p\ +bmRleF9sZW5fZmFpbDo6aGMzMzcxZGM5ZjA5YmMxZDXOCz1jb3JlOjpzbGljZTo6aW5kZXg6OnNsaW\ +NlX2luZGV4X29yZGVyX2ZhaWw6Omg4NTY1MjhmNmNiNDc3ZTU5zwtOPGFob19jb3Jhc2ljazo6dXRp\ +bDo6c2VhcmNoOjpTcGFuIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhlZjJhNDNlMzNiZWVlY2\ +My0AtDYWxsb2M6OnZlYzo6VmVjPFQsQT46OnN3YXBfcmVtb3ZlOjphc3NlcnRfZmFpbGVkOjpoY2Ew\ +YTY0NWU4ZmFhYTg4NtELPmFsbG9jOjp2ZWM6OlZlYzxULEE+OjppbnNlcnQ6OmFzc2VydF9mYWlsZW\ +Q6Omg1YmUxOGRiOGEzZTFiOTNm0gtBYWxsb2M6OnZlYzo6VmVjPFQsQT46OnNwbGl0X29mZjo6YXNz\ +ZXJ0X2ZhaWxlZDo6aDdlNGU2MjYxMTI4YTBmMTPTC05jb3JlOjpzbGljZTo6PGltcGwgW1RdPjo6Y2\ +9weV9mcm9tX3NsaWNlOjpsZW5fbWlzbWF0Y2hfZmFpbDo6aDFmNDE2OGM2ZGZjODEwZTnUCy1hbGxv\ +Yzo6dmVjOjpWZWM8VCxBPjo6cHVzaDo6aGYwOTc0NTI4NjE3ZGUxYTHVC0phbGxvYzo6Y29sbGVjdG\ +lvbnM6OnZlY19kZXF1ZTo6VmVjRGVxdWU8VCxBPjo6cG9wX2Zyb250OjpoZmJlOTg0OTUyYTgwZWM1\ +YdYLXmhhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6ZmluZF9vcl9maW5kX2luc2\ +VydF9zbG90Ojp7e2Nsb3N1cmV9fTo6aDU4YjJmOGM0NGM1YjQzOWHXC15oYXNoYnJvd246OnJhdzo6\ +aW5uZXI6OlJhd1RhYmxlPFQsQT46OmZpbmRfb3JfZmluZF9pbnNlcnRfc2xvdDo6e3tjbG9zdXJlfX\ +06OmgyNWIyYWY0NGExYTU2NDk32AteaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZTxULEE+\ +OjpmaW5kX29yX2ZpbmRfaW5zZXJ0X3Nsb3Q6Ont7Y2xvc3VyZX19OjpoOWI1Njc3ZjgzYmM2ODBiMN\ +kLXmhhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6ZmluZF9vcl9maW5kX2luc2Vy\ +dF9zbG90Ojp7e2Nsb3N1cmV9fTo6aGM2NGE0MmU1YjBiMjA3MWbaC0ZyZWdleF9hdXRvbWF0YTo6dX\ +RpbDo6c3BhcnNlX3NldDo6U3BhcnNlU2V0OjpyZXNpemU6Omg0YzEyYjE2MTg1ZWU5YjVh2wt7PHJl\ +Z2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6Om1lbW1lbTo6TWVtbWVtIGFzIHJlZ2V4X2F1dG\ +9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OlByZWZpbHRlckk+OjpwcmVmaXg6Omg3MjZmNmQyMDJjODFl\ +YzQz3AstYWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6OmgwZDdjMDEwOWM3ZTI2NzQx3QtPY29yZT\ +o6Y21wOjppbXBsczo6PGltcGwgY29yZTo6Y21wOjpQYXJ0aWFsRXE8JkI+IGZvciAmQT46OmVxOjpo\ +NjEzYTkxZWU3OGQ2YzkxOd4LPHJlZ2V4X3N5bnRheDo6aGlyOjpsaXRlcmFsOjpTZXE6OmlzX2V4YW\ +N0OjpoOTA4OTRjYmMyZTYwZGIxZd8LYWFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5hdmlnYXRl\ +OjpMYXp5TGVhZlJhbmdlPEJvcnJvd1R5cGUsSyxWPjo6aW5pdF9mcm9udDo6aGYyM2U2MjU2NDcwOD\ +BjMjfgCz5zZXJkZV9qc29uOjpkZTo6RGVzZXJpYWxpemVyPFI+OjpwZWVrX2Vycm9yOjpoNTA4NjA4\ +NDczMWNiOGZjM+ELYGRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6OmRpc2NvdmVyeTo6Q29uZmlnRmlsZU\ +Rpc2NvdmVyeTo6cm9vdF9jb25maWdfc3BlY2lmaWVyOjpoOGQ5NWFiNTdlN2M0YTMyYeILR2hhc2hi\ +cm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6aW5zZXJ0X25vX2dyb3c6OmgzODUyMDAzMG\ +RmMTBlMDQw4wtHaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlSW5uZXI6OmZpbmRfaW5zZXJ0X3Nsb3Q6\ +Omg0ZTU0ZjBiOTU0ZjIzZWVkLjEwNDPkCz1jb3JlOjpzdHI6Oml0ZXI6OlNwbGl0SW50ZXJuYWw8UD\ +46OmdldF9lbmQ6OmgyMTIzYzE2MGU0Mzc4ZDcy5Qt6PGNvcmU6Oml0ZXI6OmFkYXB0ZXJzOjpmaWx0\ +ZXJfbWFwOjpGaWx0ZXJNYXA8SSxGPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdG\ +VyYXRvcj46OnNpemVfaGludDo6aGI3OGQ5ZDNjZGFmNWJjZjPmC0NkZW5vX2NvbmZpZzo6d29ya3Nw\ +YWNlOjpXb3Jrc3BhY2U6OnJvb3RfZGlyX3BhdGg6OmgwZmI3Y2QyY2RmNzFlY2Q45wtwPGNvcmU6Om\ +l0ZXI6OmFkYXB0ZXJzOjpwZWVrYWJsZTo6UGVla2FibGU8ST4gYXMgY29yZTo6aXRlcjo6dHJhaXRz\ +OjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoZjBmM2U5NmUxYmM5ZWZmYegLKm1vbmNoOjp0YW\ +c6Ont7Y2xvc3VyZX19OjpoNDc1YmViYzlhYTE2NDU4Y+kLRGNvcmU6OnNsaWNlOjpzb3J0OjpzaGFy\ +ZWQ6OnNtYWxsc29ydDo6aW5zZXJ0X3RhaWw6OmgyOTg0YzAzOGNjNzFmMDA36gtIcmVnZXhfYXV0b2\ +1hdGE6OnV0aWw6OmRldGVybWluaXplOjpzdGF0ZTo6U3RhdGU6OmRlYWQ6Omg2NTU3MzdiNDU0ZWIy\ +NDE26wthPHJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpjb21waWxlcjo6Q29uZmlnIGFzIG\ +NvcmU6OmNsb25lOjpDbG9uZT46OmNsb25lOjpoN2MzNWEyN2YxYTc4NmY5YuwLR3JlZ2V4X2F1dG9t\ +YXRhOjp1dGlsOjpzZWFyY2g6OlBhdHRlcm5TZXQ6OnRyeV9pbnNlcnQ6Omg0OGM3NGU0ZDdjMWVjZj\ +hl7Qt6PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZUlubmVyIGFzIHJlZ2V4\ +X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpyZXNldF9jYWNoZTo6aDIzZDQzZT\ +A4ZDBjNGI3MDHuC1Y8c3RkOjpiYWNrdHJhY2U6OkJhY2t0cmFjZSBhcyBjb3JlOjpmbXQ6OkRpc3Bs\ +YXk+OjpmbXQ6Ont7Y2xvc3VyZX19OjpoMGE1ZjY5ZWQwM2U4ZjUzNu8LOWFsbG9jOjp2ZWM6OlZlYz\ +xULEE+OjppbnRvX2JveGVkX3NsaWNlOjpoMDJiMjE2ZTIyYTRjMjA3N/ALU2NvcmU6OnB0cjo6ZHJv\ +cF9pbl9wbGFjZTxzZXJkZTo6X19wcml2YXRlOjpkZTo6Y29udGVudDo6Q29udGVudD46Omg5YjQyND\ +JkOTQ5OTRiNzQz8QtfY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGRlbm9fY29uZmlnOjp3b3Jrc3Bh\ +Y2U6OnJlc29sdmVyOjpNYXBwZWRSZXNvbHV0aW9uPjo6aDQ5YzNmZTIwZGUzMTAyZTPyCzZpbmRleG\ +1hcDo6bWFwOjpJbmRleE1hcDxLLFYsUz46OmdldDo6aGJiOTBiNmE1MDVmOGU2Y2XzC1Njb3JlOjpw\ +dHI6OmRyb3BfaW5fcGxhY2U8c2VyZGU6Ol9fcHJpdmF0ZTo6ZGU6OmNvbnRlbnQ6OkNvbnRlbnQ+Oj\ +poZDNlNjAzNjlkNTY4OGYzZPQLV2FueWhvdzo6ZXJyb3I6OjxpbXBsIGNvcmU6OmNvbnZlcnQ6OkZy\ +b208RT4gZm9yIGFueWhvdzo6RXJyb3I+Ojpmcm9tOjpoOGIwZTAzZGYzOGY3NDZlYvULbDxjb3JlOj\ +ppdGVyOjpzb3VyY2VzOjpmcm9tX2ZuOjpGcm9tRm48Rj4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjpp\ +dGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoZDFjYWQ2NmMwOTA0YjAzMPYLdzxhaG9fY29yYXNpY2\ +s6OnV0aWw6OnByZWZpbHRlcjo6U3RhcnRCeXRlc09uZSBhcyBhaG9fY29yYXNpY2s6OnV0aWw6OnBy\ +ZWZpbHRlcjo6UHJlZmlsdGVyST46OmZpbmRfaW46OmgwNmIyOGE4NjVkMjFiMmQ09wtTY29yZTo6cH\ +RyOjpkcm9wX2luX3BsYWNlPHNlcmRlOjpfX3ByaXZhdGU6OmRlOjpjb250ZW50OjpDb250ZW50Pjo6\ +aDczZmU2Nzk5N2QwZjBmNjj4CzppbmRleG1hcDo6bWFwOjpJbmRleE1hcDxLLFYsUz46OmdldF9tdX\ +Q6Omg2MDAxYjJkNDJiMDFmMWNm+QtUPGhhc2hicm93bjo6cmF3OjpSYXdJbnRvSXRlcjxULEE+IGFz\ +IGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhhOTYzYWNjYzhiNTQ4ZGE2+gswPCZUIGFzIG\ +NvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgxYzQyMzVlZDgyZDU4N2Ri+wthcmVnZXhfYXV0b21hdGE6\ +Om5mYTo6dGhvbXBzb246OmJhY2t0cmFjazo6Qm91bmRlZEJhY2t0cmFja2VyOjptYXhfaGF5c3RhY2\ +tfbGVuOjpoYjcxMjBjODgxN2M5MDY4MvwLWjxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6\ +OlJldmVyc2VJbm5lciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoN2E0Y2IxMjAwOGQ4ZjgxZf\ +0LL3JlZ2V4X3N5bnRheDo6aGlyOjpIaXI6OmZhaWw6OmhiODRhYzM3NWIyNTZlNWJl/gtEc2VyZGU6\ +OmRlOjp2YWx1ZTo6TWFwRGVzZXJpYWxpemVyPEksRT46Om5leHRfcGFpcjo6aDYyMzM0NTMzNGI2Ym\ +M2ODT/C0c8ZGVub19zZW12ZXI6OlZlcnNpb25SZXEgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10\ +OjpoNThjY2NiNzFkNTJmZmU1ZIAMMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZWYyOT\ +YwYmY2YTEzY2ZmYoEMSWhhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGVJbm5lcjo6ZmluZF9p\ +bnNlcnRfc2xvdDo6aGMxODIzMmMxNjVmZTkzN2aCDHU8Y29yZTo6aXRlcjo6YWRhcHRlcnM6OnRha2\ +Vfd2hpbGU6OlRha2VXaGlsZTxJLFA+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0\ +ZXJhdG9yPjo6bmV4dDo6aGIzYjBkZDU2YjE1MGI1NDeDDDA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz\ +46OmZtdDo6aDFiMTExMWIxY2ZhZmUxYzOEDGM8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bWFw\ +OjpJbnRvSXRlcjxLLFYsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGZhYzBmMj\ +FkYjY0ZGRlYTWFDERjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6Omluc2VydF90\ +YWlsOjpoZmU0ZDdkZDQ0NDk1OWE0N4YMTHJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpiYW\ +NrdHJhY2s6OlZpc2l0ZWQ6Omluc2VydDo6aDMwOGRmNWM3NDBhMmE5ODOHDHA8Y29yZTo6aXRlcjo6\ +YWRhcHRlcnM6OnBlZWthYmxlOjpQZWVrYWJsZTxJPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZX\ +JhdG9yOjpJdGVyYXRvcj46Om5leHQ6OmgwYzM5NzIwYjYxN2EzNWNliAwJX19hc2hsdGkziQwJX19s\ +c2hydGkzigyUAmFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5hdmlnYXRlOjo8aW1wbCBhbGxvYz\ +o6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpIYW5kbGU8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJl\ +ZTo6bm9kZTo6Tm9kZVJlZjxCb3Jyb3dUeXBlLEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOj\ +pub2RlOjptYXJrZXI6OkxlYWZPckludGVybmFsPixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpu\ +b2RlOjptYXJrZXI6OktWPj46Om5leHRfbGVhZl9lZGdlOjpoNDRlMGRmZWFiMzYyNGJlMosMQWFsbG\ +9jOjpzbGljZTo6PGltcGwgW1RdPjo6c29ydF9ieTo6e3tjbG9zdXJlfX06OmhhOGYxYjgxYTY3MTVi\ +NDM5jAxZPHN0ZDo6cGF0aDo6QW5jZXN0b3JzIGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3\ +I6Okl0ZXJhdG9yPjo6bmV4dDo6aGZkNDMyNDdiMDU0YWQ3ODKNDE1jb3JlOjpwdHI6OmRyb3BfaW5f\ +cGxhY2U8cmVnZXhfc3ludGF4Ojphc3Q6OnBhcnNlOjpQYXJzZXI+OjpoYjk0ZDlkMzcyNmNlMjJlMY\ +4MbDxjb3JlOjppdGVyOjpzb3VyY2VzOjpmcm9tX2ZuOjpGcm9tRm48Rj4gYXMgY29yZTo6aXRlcjo6\ +dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoOTM3ODI4Yzc2MWI2MzE3YY8MU3JlZ2\ +V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpsaXRlcmFsX3RyaWU6OlN0YXRlOjphY3RpdmVfY2h1\ +bms6Omg0MjQ0ZTE1NTcwNTkxNjM2kAw8cmVnZXhfYXV0b21hdGE6Omh5YnJpZDo6ZGZhOjpDYWNoZT\ +o6cmVzZXQ6OmhhNjg1ODdmMWFjNzYwYzkzkQxEY29yZTo6aXRlcjo6YWRhcHRlcnM6OnBlZWthYmxl\ +OjpQZWVrYWJsZTxJPjo6cGVlazo6aGUzNjNjOTkwZmMwOWM0NDmSDA5fX3J1c3RfZGVhbGxvY5MMMD\ +wmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoYTNkZTQzN2YwY2E2YzE5NJQMMDwmVCBhcyBj\ +b3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoYjkyMGIwYTY5Nzc1Y2YyZZUMRjxhbGxvYzo6dmVjOjpWZW\ +M8VCxBPiBhcyBjb3JlOjpjbG9uZTo6Q2xvbmU+OjpjbG9uZTo6aDVlNjAxMzNmMDc3ZDkzOTGWDHlz\ +ZXJkZV9qc29uOjp2YWx1ZTo6ZGU6OjxpbXBsIHNlcmRlOjpkZTo6RGVzZXJpYWxpemVyIGZvciBzZX\ +JkZV9qc29uOjp2YWx1ZTo6VmFsdWU+OjpkZXNlcmlhbGl6ZV9zdHJpbmc6OmhmYWIzNGJiNzMxZWUz\ +YWU4lwxrc2VyZGU6OmRlOjppbXBsczo6PGltcGwgc2VyZGU6OmRlOjpEZXNlcmlhbGl6ZSBmb3IgY2\ +9yZTo6b3B0aW9uOjpPcHRpb248VD4+OjpkZXNlcmlhbGl6ZTo6aDk0NGI3YTgxN2IyOThjYTKYDEBh\ +bGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpzbGljZV9pbnNlcnQ6OmgxNWNlYjQyZjk3ND\ +YyY2U1mQyFAWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpyZXN1bHQ6OlJlc3VsdDxhbGxv\ +Yzo6dmVjOjpWZWM8ZGVub19jb25maWc6OmZzOjpGc0RpckVudHJ5PixzdGQ6OmlvOjplcnJvcjo6RX\ +Jyb3I+Pjo6aGFjNGE4NTExMTI3OTRkYjiaDEtzdGQ6OmNvbGxlY3Rpb25zOjpoYXNoOjptYXA6Okhh\ +c2hNYXA8SyxWPjo6d2l0aF9jYXBhY2l0eTo6aDY0MjJiZTgxNjFmNmJlZDCbDHlzZXJkZV9qc29uOj\ +p2YWx1ZTo6ZGU6OjxpbXBsIHNlcmRlOjpkZTo6RGVzZXJpYWxpemVyIGZvciBzZXJkZV9qc29uOjp2\ +YWx1ZTo6VmFsdWU+OjpkZXNlcmlhbGl6ZV9zdHJpbmc6Omg2YTk3NDVkMDZjMTgxMDM5nAxjPGFsbG\ +9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om1hcDo6SW50b0l0ZXI8SyxWLEE+IGFzIGNvcmU6Om9wczo6\ +ZHJvcDo6RHJvcD46OmRyb3A6Omg4ZWY3ZGY1NTFmOGNkYzQ4nQxSPGRlbm9fcGF0aF91dGlsOjpVcm\ +xUb0ZpbGVQYXRoRXJyb3IgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoZTcxNWIzMjUwMmQ3\ +MTY5YZ4MTHVuaWNvZGVfbm9ybWFsaXphdGlvbjo6bG9va3Vwczo6Y2Fub25pY2FsX2NvbWJpbmluZ1\ +9jbGFzczo6aDk2ZDk4NDk2NDRlNDVmN2SfDERyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJpbWl0aXZl\ +czo6UGF0dGVybklEOjppdGVyOjpoMjBkNmEzMzRlMDVkODAzNaAMRjxhbGxvYzo6dmVjOjpWZWM8VC\ +xBPiBhcyBjb3JlOjpjbG9uZTo6Q2xvbmU+OjpjbG9uZTo6aDk2NWQ2Nzg4NTAzNWZiNzShDEY8YWxs\ +b2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6Y2xvbmU6OkNsb25lPjo6Y2xvbmU6OmgyZGQ1ZTE3N2\ +RmMjZiM2I4ogxNcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmNvbXBpbGVyOjpDb21waWxl\ +cjo6Y19lbXB0eTo6aGQ5YjRjZDc2YmZjNWVlZDGjDEA8VCBhcyBhbGxvYzo6c2xpY2U6OmhhY2s6Ok\ +NvbnZlcnRWZWM+Ojp0b192ZWM6OmhmNDU1YjEwYTc0ZTc4NjE1pAxAPFQgYXMgYWxsb2M6OnNsaWNl\ +OjpoYWNrOjpDb252ZXJ0VmVjPjo6dG9fdmVjOjpoZTY1NmJmM2EwMTRiOTM1ZKUMPXJlZ2V4X2F1dG\ +9tYXRhOjpkZmE6Om9uZXBhc3M6OlNsb3RzOjphcHBseTo6aDE4M2YwOWI4ZjRkMTVjNjimDHA8cmVn\ +ZXhfYXV0b21hdGE6OnV0aWw6OmFscGhhYmV0OjpCeXRlU2V0SXRlciBhcyBjb3JlOjppdGVyOjp0cm\ +FpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6Omg0ZWZlM2RhZDUxOWI0ZTY0pwyAATxyZWdl\ +eF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OkNvcmUgYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6On\ +N0cmF0ZWd5OjpTdHJhdGVneT46OndoaWNoX292ZXJsYXBwaW5nX21hdGNoZXM6OmhjMjM0ZGI2MmEz\ +ZTY3Y2Y2qAyIATxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlJldmVyc2VJbm5lciBhcy\ +ByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6d2hpY2hfb3ZlcmxhcHBp\ +bmdfbWF0Y2hlczo6aDczOGU3OTBmZTEyMGRlZWapDIkBPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdH\ +JhdGVneTo6UmV2ZXJzZVN1ZmZpeCBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0\ +cmF0ZWd5Pjo6d2hpY2hfb3ZlcmxhcHBpbmdfbWF0Y2hlczo6aGI2OTRlNTNlY2FiYWI1ZmGqDHw8cm\ +VnZXhfYXV0b21hdGE6OnV0aWw6OnByZWZpbHRlcjo6bWVtY2hyOjpNZW1jaHIzIGFzIHJlZ2V4X2F1\ +dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OlByZWZpbHRlckk+OjpwcmVmaXg6Omg1MzFkNDVmOWI5Mj\ +ZmZjMxqwyLATxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlJldmVyc2VBbmNob3JlZCBh\ +cyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6d2hpY2hfb3ZlcmxhcH\ +BpbmdfbWF0Y2hlczo6aDFhNTVjNDlkNWI1MDQ2MmasDEdjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8\ +cmVnZXhfc3ludGF4OjpoaXI6OkhpcktpbmQ+OjpoMjkyMGJiNDUxMDQwN2Y5MK0MMDwmVCBhcyBjb3\ +JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZDk0YTFjZDUzNGE4NDk1Ma4ML3JlZ2V4X3N5bnRheDo6YXN0\ +OjpBc3Q6OnNwYW46OmhiNTk1NGFhNTFkMGI1NWNkrwwycmVnZXhfc3ludGF4OjpoaXI6Okhpcjo6bG\ +l0ZXJhbDo6aGMyZDJkOWQ5MjA5YmRlN2KwDDRzZXJkZTo6ZGU6OkVycm9yOjpkdXBsaWNhdGVfZmll\ +bGQ6OmgzNzQxNjg3OGMyZDgwMTAzsQwyc2VyZGU6OmRlOjpFcnJvcjo6bWlzc2luZ19maWVsZDo6aG\ +E5ZGFiMDBjZDdjYjE4NDCyDDRzZXJkZTo6ZGU6OkVycm9yOjpkdXBsaWNhdGVfZmllbGQ6OmhjNjJm\ +YTc5MTBkODc0MDQwswxZPHNlcmRlOjpkZTo6aW1wbHM6Ok9wdGlvblZpc2l0b3I8VD4gYXMgc2VyZG\ +U6OmRlOjpWaXNpdG9yPjo6dmlzaXRfc29tZTo6aDkyYjVjNTRkZGVmNjg0MDW0DEg8YWxsb2M6OnZl\ +Yzo6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDExN2Y3NmM5Y2ZjNT\ +AyYzG1DERjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6Omluc2VydF90YWlsOjpo\ +Nzg0ZjE4MDBlNGM5NDU0NLYMRzxjaGFyIGFzIGNvcmU6OnN0cjo6cGF0dGVybjo6UGF0dGVybj46Om\ +ludG9fc2VhcmNoZXI6OmhhNWVmOWY2NDg4MzRhZjE5twwyc2VyZGU6OmRlOjpFcnJvcjo6bWlzc2lu\ +Z19maWVsZDo6aDU5YTMwODM3ZWY0ZTQxNGS4DEU8ZGVub19zZW12ZXI6OlZlcnNpb24gYXMgY29yZT\ +o6Y21wOjpQYXJ0aWFsRXE+OjplcTo6aDViYzRjYzI1YzNmN2EwNjK5DDBtb25jaDo6UGFyc2VFcnJv\ +ckZhaWx1cmU6Om5ldzo6aDYyMjBkOGI5MzRiN2Q0ODO6DEw8dXJsOjpwYXJzZXI6OlNjaGVtZVR5cG\ +UgYXMgY29yZTo6Y29udmVydDo6RnJvbTxUPj46OmZyb206Omg3OTMxYmZiMWQzOWIyODJhuww/d2Fz\ +bV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6aW52b2tlM19tdXQ6Omg4MDg1MmZkZDEzNjRmNG\ +YyvAxJPGNvcmU6Om9wdGlvbjo6T3B0aW9uPFQ+IGFzIGNvcmU6OmNsb25lOjpDbG9uZT46OmNsb25l\ +OjpoYWU3MTE5ZmE2ZTMwYjNjNr0MSXJlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6TGF6eTo6c2\ +V0X2FsbF90cmFuc2l0aW9uczo6aDQ2NDEwZTYxZDYzZTFmMTG+DHI8Y29yZTo6aXRlcjo6YWRhcHRl\ +cnM6OmVudW1lcmF0ZTo6RW51bWVyYXRlPEk+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3\ +I6Okl0ZXJhdG9yPjo6bmV4dDo6aDM1YWNhYTA4MjkxMzZmODm/DERjb3JlOjppdGVyOjphZGFwdGVy\ +czo6cGVla2FibGU6OlBlZWthYmxlPEk+OjpwZWVrOjpoNjJiZDMyMjJhZmY2NDQ4NMAMRHJlZ2V4X3\ +N5bnRheDo6aGlyOjpsaXRlcmFsOjpTZXE6OmtlZXBfZmlyc3RfYnl0ZXM6Omg0ZWQwM2NmZmUzNWQ2\ +ZGZhwQxDc2VyZGVfanNvbjo6cmVhZDo6U2xpY2VSZWFkOjpza2lwX3RvX2VzY2FwZV9zbG93OjpoND\ +MzODcxOTIxMTA1MGZiOcIMQDxUIGFzIGFsbG9jOjpzbGljZTo6aGFjazo6Q29udmVydFZlYz46OnRv\ +X3ZlYzo6aDFmNzZjMmZhOGQxYTBiZTXDDI4Bd2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjppbXBsczo6PG\ +ltcGwgd2FzbV9iaW5kZ2VuOjpjb252ZXJ0Ojp0cmFpdHM6OlJldHVybldhc21BYmkgZm9yIGNvcmU6\ +OnJlc3VsdDo6UmVzdWx0PFQsRT4+OjpyZXR1cm5fYWJpOjpoZmVkYzEyZGE1OTRmZGMxNsQMQDxUIG\ +FzIGFsbG9jOjpzbGljZTo6aGFjazo6Q29udmVydFZlYz46OnRvX3ZlYzo6aDAyYjQ1NTYyYmUyMWRh\ +NWTFDFg8YWhvX2NvcmFzaWNrOjpwYWNrZWQ6OnJhYmlua2FycDo6UmFiaW5LYXJwIGFzIGNvcmU6Om\ +ZtdDo6RGVidWc+OjpmbXQ6OmhkYmVhMWM3YTY4Zjc5MzIwxgxEY29yZTo6c2xpY2U6OnNvcnQ6OnNo\ +YXJlZDo6c21hbGxzb3J0OjppbnNlcnRfdGFpbDo6aDRlNTVhODBlMTZiMjNhMznHDEA8VCBhcyBhbG\ +xvYzo6c2xpY2U6OmhhY2s6OkNvbnZlcnRWZWM+Ojp0b192ZWM6Omg0YTlmMmFhY2ZlZGM3YTliyAw9\ +YWhvX2NvcmFzaWNrOjp1dGlsOjphbHBoYWJldDo6Qnl0ZVNldDo6YWRkOjpoN2UyYjY2Yzc4ZDJiOD\ +A0NskMWzxhaG9fY29yYXNpY2s6OnV0aWw6OnByZWZpbHRlcjo6UmFyZUJ5dGVzVGhyZWUgYXMgY29y\ +ZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDZiZmQ3MTVjZWE3NTc0Y2bKDC5jb3JlOjpvcHRpb246OmV4cG\ +VjdF9mYWlsZWQ6OmhhY2ZiZDRlMGY4ZDZjYTNiywxDY29yZTo6aXRlcjo6YWRhcHRlcnM6OmZsYXR0\ +ZW46OmFuZF90aGVuX29yX2NsZWFyOjpoMGNmYmFhZTE5Mjg4M2RkNMwMQDxUIGFzIGFsbG9jOjpzbG\ +ljZTo6aGFjazo6Q29udmVydFZlYz46OnRvX3ZlYzo6aGYyNGI5ODkxMzg5ZDE2NzXNDFNjb3JlOjpw\ +dHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnZlYzo6VmVjPGdsb2JzZXQ6Omdsb2I6OlRva2Vucz4+Oj\ +poOTk5ODViN2Q0YmRjNWVhNc4MM2FsbG9jOjpzeW5jOjpBcmM8VCxBPjo6ZHJvcF9zbG93OjpoODA2\ +M2U5NGMzZDkyYjIzYc8MggE8PGFsbG9jOjp2ZWM6OmRyYWluOjpEcmFpbjxULEE+IGFzIGNvcmU6Om\ +9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OkRyb3BHdWFyZDxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6\ +RHJvcD46OmRyb3A6OmgwYzJhZjAxOTU3N2UxYTZm0AxXcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbX\ +Bzb246OnJhbmdlX3RyaWU6OlJhbmdlVHJpZTo6YWRkX3RyYW5zaXRpb246OmhjYWFhZGUwZTI0Y2Rl\ +OGE10QxJcmVnZXhfYXV0b21hdGE6OnV0aWw6Omxvb2s6Okxvb2tNYXRjaGVyOjppc19zdGFydF9jcm\ +xmOjpoOTAyN2RkY2MzNTk1OGZmYtIMPnJlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6REZBOjpt\ +YXRjaF9sZW46OmgzZWQ1Njc3ODVlMDYxYzZi0wxRPGFsbG9jOjp2ZWM6OmRyYWluOjpEcmFpbjxULE\ +E+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6Omg2MWZhYjJjODIzYTJhYTg41AxRPGFo\ +b19jb3Jhc2ljazo6cGFja2VkOjphcGk6OlNlYXJjaGVyIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbX\ +Q6OmhkYTEzYmI0NDQ4NDA3NzAx1QyCATw8YWxsb2M6OnZlYzo6ZHJhaW46OkRyYWluPFQsQT4gYXMg\ +Y29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6RHJvcEd1YXJkPFQsQT4gYXMgY29yZTo6b3BzOj\ +pkcm9wOjpEcm9wPjo6ZHJvcDo6aGYzMjYyNDZlMTM4MjliMDDWDIIBPDxhbGxvYzo6dmVjOjpkcmFp\ +bjo6RHJhaW48VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpEcm9wR3VhcmQ8VC\ +xBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoZWE4MTkyODZkYjg5OGI5MdcMggE8\ +PGFsbG9jOjp2ZWM6OmRyYWluOjpEcmFpbjxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46Om\ +Ryb3A6OkRyb3BHdWFyZDxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6Omg3ODFj\ +ODdkMWFhYjhhNjcy2AyCATw8YWxsb2M6OnZlYzo6ZHJhaW46OkRyYWluPFQsQT4gYXMgY29yZTo6b3\ +BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6RHJvcEd1YXJkPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpE\ +cm9wPjo6ZHJvcDo6aGEwNjkzZDBjYzM3ZTI3OTTZDD88Y2hhciBhcyBhbGxvYzo6c3RyaW5nOjpUb1\ +N0cmluZz46OnRvX3N0cmluZzo6aGQ2YmZlZDU0YmJkZDViNDXaDFE8YWxsb2M6OnZlYzo6ZHJhaW46\ +OkRyYWluPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDI1NzEwNjM3MzM1Y2\ +I0MDXbDFE8YWxsb2M6OnZlYzo6ZHJhaW46OkRyYWluPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpE\ +cm9wPjo6ZHJvcDo6aGFmZTNjNWFiZjgxYWZkMGPcDFNyZWdleF9zeW50YXg6Omhpcjo6dHJhbnNsYX\ +RlOjpUcmFuc2xhdG9ySTo6Ynl0ZXNfZm9sZF9hbmRfbmVnYXRlOjpoYTI2ZmM4YmRhYTI2NTY0Yt0M\ +SDxzdGQ6OmlvOjplcnJvcjo6RXJyb3IgYXMgY29yZTo6ZXJyb3I6OkVycm9yPjo6c291cmNlOjpoNG\ +M3OGFkYjE0Nzg3MmVkNt4MRzxzdGQ6OmlvOjplcnJvcjo6RXJyb3IgYXMgY29yZTo6ZXJyb3I6OkVy\ +cm9yPjo6Y2F1c2U6OmhiNGVkOTYyZTA4MGVjYjRl3ww0dXJsOjpwYXJzZXI6OlBhcnNlcjo6c2hvcn\ +Rlbl9wYXRoOjpoNWFmYjE5NmM3YzVlYzgxYeAMVzxhaG9fY29yYXNpY2s6OnV0aWw6OnByaW1pdGl2\ +ZXM6OlBhdHRlcm5JRCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZjc5NWM0YjgwMWNlM2IyMu\ +EMMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZTBkMTQ0OGNjOWI2Mzg4YeIMgQFjb3Jl\ +OjppdGVyOjpyYW5nZTo6PGltcGwgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3\ +IgZm9yIGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdlSW5jbHVzaXZlPEE+Pjo6bmV4dDo6aDRhZmNjZTA4\ +ZTZjZmFlMTbjDEphbGxvYzo6Y29sbGVjdGlvbnM6OnZlY19kZXF1ZTo6VmVjRGVxdWU8VCxBPjo6cH\ +VzaF9iYWNrOjpoNzBmZmZiYzU1NjY3MDIzOeQMOWFob19jb3Jhc2ljazo6dXRpbDo6c2VhcmNoOjpN\ +YXRjaDo6bmV3OjpoMDlkZDFiZmQ0NzMzNDFiNuUMgQFjb3JlOjppdGVyOjpyYW5nZTo6PGltcGwgY2\ +9yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3IgZm9yIGNvcmU6Om9wczo6cmFuZ2U6\ +OlJhbmdlSW5jbHVzaXZlPEE+Pjo6bmV4dDo6aDFkMWFkNTIwMjM2ZDMxMGPmDCV1cmw6OlVybDo6Zn\ +JhZ21lbnQ6OmhlNTBkYTBkM2JkMWUzZDlk5wxjPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om1h\ +cDo6SW50b0l0ZXI8SyxWLEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmgzM2RhMj\ +BlNzlmNzdhYzNh6AwudXJsOjpVcmw6OnBhdGhfc2VnbWVudHNfbXV0OjpoYWVkZmM4YWZlYTFmNWY4\ +ZOkMJXVybDo6VXJsOjpob3N0X3N0cjo6aGVjN2NhNmNhZDg0NjAwMGTqDDA8JlQgYXMgY29yZTo6Zm\ +10OjpEZWJ1Zz46OmZtdDo6aDAzZGNhNzIzYmRlYzMzOTjrDDRjb3JlOjpyZXN1bHQ6OlJlc3VsdDxU\ +LEU+OjpleHBlY3Q6Omg1Yzk5NWRhMjZhYzU0ODEy7AwwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+Oj\ +pmbXQ6Omg5ZDU5ZTFjZmQ3YjYwZTk07QxFPGNvcmU6Om9wdGlvbjo6T3B0aW9uPFQ+IGFzIGNvcmU6\ +OmZtdDo6RGVidWc+OjpmbXQ6Omg5MTM3OWE2ZDE2YzQyMjdi7gwwPCZUIGFzIGNvcmU6OmZtdDo6RG\ +VidWc+OjpmbXQ6OmgwNGUwNmNmMGIxZGFiMzg57wwwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+Ojpm\ +bXQ6OmgxYmM3MGJjMzhhOTI5ZTM28AwwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg0Mm\ +Y5OGFhNDI3M2Y5YTg08QwwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhkYjZjY2M2MTZh\ +ZmRlYTZj8gwwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhkZTJhODUyZjNkNjY4NWJh8w\ +xXPHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmltaXRpdmVzOjpTdGF0ZUlEIGFzIGNvcmU6OmZtdDo6\ +RGVidWc+OjpmbXQ6OmgyNTdmZDE0MWU0ZjcyNjgw9AwwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+Oj\ +pmbXQ6OmhmMjZmYzMzMjNlNDIyZjQ39QwwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omhl\ +MmQ4M2QzNTJkMzk4MWI19gxXcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmNvbXBpbGVyOj\ +pDb21waWxlcjo6YWRkX3VuaW9uX3JldmVyc2U6OmgwZTlkZTFmNzNlYzU0Nzk39wxPcmVnZXhfYXV0\ +b21hdGE6Om5mYTo6dGhvbXBzb246OmNvbXBpbGVyOjpDb21waWxlcjo6YWRkX3VuaW9uOjpoMTQ1MW\ +ExNGE2MDQ5MDViNvgMO3JlZ2V4X2F1dG9tYXRhOjp1dGlsOjpzZWFyY2g6Ok1hdGNoOjpuZXc6Omg5\ +NjU1ZmUwYjVmZDAxZTBj+QwwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg1ZWVmMWM0Zj\ +U4OTdmMjM1+gwtYWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6Omg4MjA1OTU1NjFiMTI2NzM1+wwt\ +YWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6OmhlZDc1ZGJmM2U2NDk3M2E5/Awtc3RkOjppbzo6ZX\ +Jyb3I6OkVycm9yOjpuZXc6OmhhNzVhY2ZlMjMyNTk4ODE5/Qwqc2VyZGVfanNvbjo6c2VyOjppbmRl\ +bnQ6OmhmNjJiMzY2MDZmNzk1MDJk/gw4c3RkOjp0aHJlYWQ6OmxvY2FsOjpMb2NhbEtleTxUPjo6d2\ +l0aDo6aDMyNWFkMDA3NTBkNzRmMzP/DJYBPGxvYWRlcjo6Xzo6PGltcGwgc2VyZGU6OmRlOjpEZXNl\ +cmlhbGl6ZSBmb3IgbG9hZGVyOjpXYXNtRnNNZXRhZGF0YT46OmRlc2VyaWFsaXplOjpfX0ZpZWxkVm\ +lzaXRvciBhcyBzZXJkZTo6ZGU6OlZpc2l0b3I+Ojp2aXNpdF9zdHI6Omg5NDQ5ODBlMTdmZmQ0MzY3\ +gA02Y29yZTo6c3RyOjo8aW1wbCBzdHI+OjpzdHJpcF9wcmVmaXg6OmhiOGU2NTNjZDYxNGRlNTlhgQ\ +13PGFob19jb3Jhc2ljazo6dXRpbDo6cHJpbWl0aXZlczo6V2l0aFN0YXRlSURJdGVyPEk+IGFzIGNv\ +cmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aDliNjA2MDc2Y2UyOG\ +EzMGWCDWFzZXJkZV9qc29uOjptYXA6Ok1hcDxhbGxvYzo6c3RyaW5nOjpTdHJpbmcsc2VyZGVfanNv\ +bjo6dmFsdWU6OlZhbHVlPjo6bmV3OjpoMDkyMWM3OGNkOGEwOTg0NC4xOTAygw1UZGVub19jb25maW\ +c6OndvcmtzcGFjZTo6ZGlzY292ZXJ5Ojpjb25maWdfZm9sZGVyX2NvbmZpZ19zcGVjaWZpZXI6Omhh\ +MGNjZjQyNjRmNDI4ZTcwhA18Y29yZTo6c3RyOjp0cmFpdHM6OjxpbXBsIGNvcmU6OnNsaWNlOjppbm\ +RleDo6U2xpY2VJbmRleDxzdHI+IGZvciBjb3JlOjpvcHM6OnJhbmdlOjpSYW5nZUZyb208dXNpemU+\ +Pjo6Z2V0OjpoNjU3YjZkOWY5NGM5MDcwZYUNNG9uY2VfY2VsbDo6c3luYzo6TGF6eTxULEY+Ojpmb3\ +JjZTo6aGU3NGYwNmZiZjY0Mzg5OTOGDTNhbGxvYzo6c3luYzo6QXJjPFQsQT46OmRyb3Bfc2xvdzo6\ +aDZiNzFmODBlM2M0ZmM3NDSHDTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGNjNmJmZW\ +Y1OTljMTg4NGWIDXJjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnZlYzo6VmVjPHJlZ2V4\ +X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjptYXA6OlV0ZjhCb3VuZGVkRW50cnk+Pjo6aDBhZDJiOW\ +YxN2VkNzliODWJDVlyZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6Y29tcGlsZXI6OlV0ZjhO\ +b2RlOjpzZXRfbGFzdF90cmFuc2l0aW9uOjpoYzRiYjcwZDBkNGViZTJlMIoNVjxyZWdleF9hdXRvbW\ +F0YTo6ZGZhOjpvbmVwYXNzOjpDb25maWcgYXMgY29yZTo6Y2xvbmU6OkNsb25lPjo6Y2xvbmU6Omhh\ +MTVhMGFhN2I1YjM4Nzc3iw1uY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9jOjp2ZWM6OlZlYz\ +xyZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6cmFuZ2VfdHJpZTo6U3RhdGU+Pjo6aGUwNWY5\ +Zjk4YTQ3OGIyZWaMDUdyZWdleF9hdXRvbWF0YTo6dXRpbDo6bG9vazo6TG9va01hdGNoZXI6OmlzX2\ +VuZF9jcmxmOjpoNGRlM2E5MjA1OTU1N2NhZI0NQXJlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6\ +Q29uZmlnOjpwcmVmaWx0ZXI6OmgwN2UyZmE4ZTY2ZTk1NTIwjg1RcmVnZXhfYXV0b21hdGE6Om5mYT\ +o6dGhvbXBzb246Om5mYTo6U3BhcnNlVHJhbnNpdGlvbnM6Om1hdGNoZXM6Omg3ZmE4NDcwZjI3ZmQy\ +ZDQ0jw1QcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246Om5mYTo6RGVuc2VUcmFuc2l0aW9ucz\ +o6bWF0Y2hlczo6aDVjYjAzMjY2NmI2NDA2MjCQDUs8c2VyZGVfanNvbjo6ZXJyb3I6OkVycm9yIGFz\ +IGNvcmU6OmVycm9yOjpFcnJvcj46OnNvdXJjZTo6aDcxMTAwZGVjZjQ3YjRlODGRDUc8YWxsb2M6On\ +N0cmluZzo6U3RyaW5nIGFzIGNvcmU6OmNsb25lOjpDbG9uZT46OmNsb25lOjpoN2ZlODQ4ZmFhMTJm\ +YTdlZZINNGFsbG9jOjp2ZWM6OlZlYzxUPjo6d2l0aF9jYXBhY2l0eTo6aGEzMGI3ZjJiZjUxODQ4MT\ +STDTRhbGxvYzo6dmVjOjpWZWM8VD46OndpdGhfY2FwYWNpdHk6OmhiYWVlMzE4Njg4Mjk4NDk2lA03\ +c2VyZGVfanNvbjo6ZGU6OkRlc2VyaWFsaXplcjxSPjo6ZW5kOjpoYzU0M2IzMGRjZWE1MDc4YpUNNW\ +Rlbm9fcGF0aF91dGlsOjp1cmxfZnJvbV9maWxlX3BhdGg6Omg2ZGQwMzUxYmQxN2E5ZDQ0lg10YWxs\ +b2M6OnNsaWNlOjo8aW1wbCBjb3JlOjpzbGljZTo6c29ydDo6c3RhYmxlOjpCdWZHdWFyZDxUPiBmb3\ +IgYWxsb2M6OnZlYzo6VmVjPFQ+Pjo6d2l0aF9jYXBhY2l0eTo6aDhmOWE1MDkxMTBiYjc0NmWXDUBh\ +aG9fY29yYXNpY2s6OnV0aWw6OnByaW1pdGl2ZXM6OlN0YXRlSUQ6Oml0ZXI6OmhhNGMwZDM4MDgxNG\ +U3OTM1mA1WY29yZTo6c3RyOjp0cmFpdHM6OjxpbXBsIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4PEk+\ +IGZvciBzdHI+OjppbmRleDo6aDAzODU0M2E3NDQ3NDljYzKZDUU8Y29yZTo6b3B0aW9uOjpPcHRpb2\ +48VD4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDgxMzRkN2RkNGZkZTg5YWGaDUU8Y29yZTo6\ +b3B0aW9uOjpPcHRpb248VD4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDhmZGIxZWE2YjY0ND\ +QyN2GbDTRhbGxvYzo6dmVjOjpWZWM8VD46OndpdGhfY2FwYWNpdHk6Omg0NzBmMGQwMTJiYjE0NzU0\ +nA07c3RkOjpzeXM6Om9zX3N0cjo6Ynl0ZXM6OlNsaWNlOjp0b19vd25lZDo6aDQwOWI5MTZmNzZlYW\ +Y4YmKdDWA8c2VyZGVfanNvbjo6dmFsdWU6OnNlcjo6U2VyaWFsaXplciBhcyBzZXJkZTo6c2VyOjpT\ +ZXJpYWxpemVyPjo6c2VyaWFsaXplX3NlcTo6aDE4YWI4MTViMDQ4NTBlNDCeDW48Y29yZTo6aXRlcj\ +o6YWRhcHRlcnM6OmZpbHRlcjo6RmlsdGVyPEksUD4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVy\ +YXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoZmE0MDU1OTYxZjgzNDExMp8NvwFhbGxvYzo6Y29sbGVjdG\ +lvbnM6OmJ0cmVlOjpub2RlOjpOb2RlUmVmPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6\ +Om1hcmtlcjo6TXV0LEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6Ok\ +ludGVybmFsPjo6Y29ycmVjdF9jaGlsZHJlbnNfcGFyZW50X2xpbmtzOjpoMTQ2N2JlMzViZTUzODg1\ +M6ANMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNjlmNGMxYTNmNGY5MGU3NKENMDwmVC\ +BhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoOTA1NDU1MjMwNjEzYjFmY6INL3N0ZDo6cGF0aDo6\ +UGF0aDo6dG9fcGF0aF9idWY6OmhmZjU3NWNlNzFkOTcxN2U5ow0oYWxsb2M6OnJjOjpSYzxUPjo6bm\ +V3OjpoYTQ3NjI0YjQ1OGQxYThmOaQNWDxhbGxvYzo6dmVjOjppbnRvX2l0ZXI6OkludG9JdGVyPFQs\ +QT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDU4NDdlZjViNjVlNTI1N2KlDU5jb3\ +JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8aW5kZXhtYXA6OnNldDo6SW5kZXhTZXQ8dXJsOjpVcmw+Pjo6\ +aDBlZGMxNWNjZWE0NDU3NjamDVg8YWxsb2M6OnZlYzo6aW50b19pdGVyOjpJbnRvSXRlcjxULEE+IG\ +FzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhkNzM3OWJhZTdmM2YyZTRjpw1YPGFsbG9j\ +Ojp2ZWM6OmludG9faXRlcjo6SW50b0l0ZXI8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Oj\ +pkcm9wOjpoODk5NjdhMzRhN2Y1ZTBkM6gNdGFsbG9jOjpzbGljZTo6PGltcGwgY29yZTo6c2xpY2U6\ +OnNvcnQ6OnN0YWJsZTo6QnVmR3VhcmQ8VD4gZm9yIGFsbG9jOjp2ZWM6OlZlYzxUPj46OndpdGhfY2\ +FwYWNpdHk6Omg3NTdiZmJlZWNjMDU2NWI3qQ1+Y29yZTo6c3RyOjp0cmFpdHM6OjxpbXBsIGNvcmU6\ +OnNsaWNlOjppbmRleDo6U2xpY2VJbmRleDxzdHI+IGZvciBjb3JlOjpvcHM6OnJhbmdlOjpSYW5nZU\ +Zyb208dXNpemU+Pjo6aW5kZXg6OmhiYTc0MTEyZTczNDM3Nzcxqg1WY29yZTo6c3RyOjp0cmFpdHM6\ +OjxpbXBsIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4PEk+IGZvciBzdHI+OjppbmRleDo6aDEzYTQ5MD\ +kwYTUwZTk2ZjKrDXA8YWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6Ok5GQSBhcyBhaG9f\ +Y29yYXNpY2s6OmF1dG9tYXRvbjo6QXV0b21hdG9uPjo6bWF0Y2hfbGVuOjpoNmRhYTBmMmU3OThjYW\ +M3Yi4xMjI5rA1EY29yZTo6aXRlcjo6YWRhcHRlcnM6OnBlZWthYmxlOjpQZWVrYWJsZTxJPjo6cGVl\ +azo6aGMxODM5YTYwZGU2MmJkNGKtDUJyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJpbWl0aXZlczo6U3\ +RhdGVJRDo6aXRlcjo6aDIxODgzOWUxNTQ5ZWFjN2SuDUU8Y29yZTo6b3B0aW9uOjpPcHRpb248VD4g\ +YXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGQ1NDFkMzEyZjFmODZkOWWvDUU8Y29yZTo6b3B0aW\ +9uOjpPcHRpb248VD4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDlhNTlkNzQyYzBmY2RmNWKw\ +DUU8Y29yZTo6b3B0aW9uOjpPcHRpb248VD4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDAyOD\ +VhZDI2NWYyNWNlMTSxDUU8Y29yZTo6b3B0aW9uOjpPcHRpb248VD4gYXMgY29yZTo6Zm10OjpEZWJ1\ +Zz46OmZtdDo6aGFlODBlMWYzNTg0YjBjZjCyDUU8Y29yZTo6b3B0aW9uOjpPcHRpb248VD4gYXMgY2\ +9yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGZlMmRjYWRmOTdiYWFlMDCzDUU8Y29yZTo6b3B0aW9uOjpP\ +cHRpb248VD4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDQ0ZjhjZWFiMjAzNDE3YWK0DTA8Jl\ +QgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDRiMDAwYmYxMTczNmJkNWa1DUU8Y29yZTo6b3B0\ +aW9uOjpPcHRpb248VD4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGNkMTdmNmIxYTIwODU4Yj\ +e2DTRhbGxvYzo6dmVjOjpWZWM8VD46OndpdGhfY2FwYWNpdHk6Omg4N2Y1YmRhZjNjODQwM2U2tw1D\ +cmVnZXhfc3ludGF4OjpoaXI6OmludGVydmFsOjpJbnRlcnZhbFNldDxJPjo6bmV3OjpoYjhhZDE4Mj\ +NlODUyZTE5MrgNQ3JlZ2V4X3N5bnRheDo6aGlyOjppbnRlcnZhbDo6SW50ZXJ2YWxTZXQ8ST46Om5l\ +dzo6aGU0M2U0MDc0YWY0NzkzMDG5DTRhbGxvYzo6dmVjOjpWZWM8VD46OndpdGhfY2FwYWNpdHk6Om\ +g4ZTViMTYyNmMxZWE2MDA3ug00YWxsb2M6OnZlYzo6VmVjPFQ+Ojp3aXRoX2NhcGFjaXR5OjpoY2E4\ +ZTdhMzU3N2U1N2ExYbsNKnNlcmRlX2pzb246OnJlYWQ6OmVycm9yOjpoZGM1NGQ1Zjk1ZDk5NWNiNb\ +wNKnNlcmRlX2pzb246OnJlYWQ6OmVycm9yOjpoMGQ2NGMxOWQ0NjU3ODliYr0NKnNlcmRlX2pzb246\ +OnJlYWQ6OmVycm9yOjpoMzM1ZWE1MDdhYTRiZWJhM74NWjx1cmw6Omhvc3Q6Okhvc3RJbnRlcm5hbC\ +BhcyBjb3JlOjpjb252ZXJ0OjpGcm9tPHVybDo6aG9zdDo6SG9zdD4+Ojpmcm9tOjpoNmRhNzgzOTU3\ +ZmUwN2M2Mr8NUzxhaG9fY29yYXNpY2s6OnBhY2tlZDo6YXBpOjpTZWFyY2hLaW5kIGFzIGNvcmU6Om\ +ZtdDo6RGVidWc+OjpmbXQ6OmgzM2MyMWExNmE1OWU4OTBkwA0wPCZUIGFzIGNvcmU6OmZtdDo6RGVi\ +dWc+OjpmbXQ6OmhjOTM0YTdmNDA0ZTUyMGJjwQ1vPGFob19jb3Jhc2ljazo6bmZhOjpub25jb250aW\ +d1b3VzOjpORkEgYXMgYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbj46Om1hdGNoX3Bh\ +dHRlcm46Omg1MzZjMjI3OTk0MmQ0Zjhmwg1WYWxsb2M6OnZlYzo6c3BsaWNlOjo8aW1wbCBhbGxvYz\ +o6dmVjOjpkcmFpbjo6RHJhaW48VCxBPj46Om1vdmVfdGFpbDo6aDcwYWQyYTAyZDg2YjNjMDDDDTRk\ +ZW5vX2NvbmZpZzo6Z2xvYjo6aGFzX2dsb2JfY2hhcnM6Omg1ZjMxMWYzMzBlY2Y1YmU0xA0/aW5kZX\ +htYXA6Om1hcDo6Y29yZTo6ZXF1aXZhbGVudDo6e3tjbG9zdXJlfX06OmgxMTY2YTEyMDI5YzY5N2Y0\ +xQ1ZZGVub19jb25maWc6OndvcmtzcGFjZTo6ZGlzY292ZXJ5OjpDb25maWdGb2xkZXI6Omhhc193b3\ +Jrc3BhY2VfbWVtYmVyczo6aDg0ZGVlZGI0YTk1MWZlYzHGDU08ZGVub19zZW12ZXI6OnJhbmdlOjpS\ +YW5nZUJvdW5kIGFzIGNvcmU6Omhhc2g6Okhhc2g+OjpoYXNoOjpoNzc0ZTNkNTg5OTBmMDFjYccNYz\ +xhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjptYXA6OkludG9JdGVyPEssVixBPiBhcyBjb3JlOjpv\ +cHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoMDIxMTU5NDExNDI3OGVmYsgNTXN0ZDo6c3lzOjp0aHJlYW\ +RfbG9jYWw6OnN0YXRpazo6TGF6eVN0b3JhZ2U8VD46OmluaXRpYWxpemU6Omg4Mjc3NjcyMWI4ZjNh\ +MGI1yQ03Y29yZTo6b3BzOjpmdW5jdGlvbjo6Rm5NdXQ6OmNhbGxfbXV0OjpoZGY3YWYwMDgyNWYzYm\ +JmMsoNQHJlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6TGF6eVJlZjo6ZGVhZF9pZDo6aDA0YmEw\ +Y2M5ZDFlMzE2MmTLDUNyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpkZmE6OkNhY2hlOjptZW1vcnlfdX\ +NhZ2U6Omg3M2QxMmMzNzEzNGFhOWYzzA0wPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg2\ +MzE1ZDY0ODIwYWExMGFlzQ0/aW5kZXhtYXA6Om1hcDo6Y29yZTo6ZXF1aXZhbGVudDo6e3tjbG9zdX\ +JlfX06OmhjNDg3NmNhYjM1MDZmMzhkzg0wc2VyZGVfanNvbjo6cmVhZDo6cGVla19vcl9lb2Y6Omhi\ +YWYwOGQyZTdhNjE0NDI4zw1CY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHN0ZDo6aW86OmVycm9yOj\ +pFcnJvcj46OmhjNjgwNjZhNzA4MDQ1M2Yy0A05c2VyZGVfanNvbjo6ZXJyb3I6OkVycm9yOjpmaXhf\ +cG9zaXRpb246OmhmNjI4ZThiNDQyOGM2NzVi0Q1sPGNvcmU6Oml0ZXI6OnNvdXJjZXM6OmZyb21fZm\ +46OkZyb21GbjxGPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5l\ +eHQ6Omg3YzU4NDVhZTdlOTNjZmMz0g1RYWhvX2NvcmFzaWNrOjp1dGlsOjpwcmVmaWx0ZXI6OlN0YX\ +J0Qnl0ZXNCdWlsZGVyOjphZGRfb25lX2J5dGU6OmgxODljNDI3YjcxZGU4Y2Jl0w0RcnVzdF9iZWdp\ +bl91bndpbmTUDUU8Y29yZTo6b3B0aW9uOjpPcHRpb248VD4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46Om\ +ZtdDo6aDViZjk2NzBkZjZmN2ZjNTfVDU1jb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8ZGVub19jb25m\ +aWc6Omdsb2I6OlBhdGhPclBhdHRlcm4+OjpoNzhlMTUyNWJkZjFkMTZkONYNV2NvcmU6Oml0ZXI6On\ +RyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yOjpmaW5kX21hcDo6Y2hlY2s6Ont7Y2xvc3VyZX19Ojpo\ +M2YwYWZlNTViYWNlMTI2ONcNVmNvcmU6OnN0cjo6dHJhaXRzOjo8aW1wbCBjb3JlOjpvcHM6OmluZG\ +V4OjpJbmRleDxJPiBmb3Igc3RyPjo6aW5kZXg6OmhiZjE0YzllZWUxMzlmMzA02A0qdXJsOjpVcmw6\ +OnBhdGhfc2VnbWVudHM6OmhlMGFiYmEzZWY5NjUxYmFl2Q1oY29yZTo6cHRyOjpkcm9wX2luX3BsYW\ +NlPGFsbG9jOjp2ZWM6OlZlYzwodXNpemUscmVnZXhfYXV0b21hdGE6Om1ldGE6OnJlZ2V4OjpSZWdl\ +eCk+Pjo6aGY0NGQxYzRlYWU5ZTc2ZGXaDVRjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfYX\ +V0b21hdGE6Om1ldGE6OmVycm9yOjpCdWlsZEVycm9yPjo6aDI0YjE4MGI1N2EzMDAyMzTbDS5pZG5h\ +Ojp1dHM0Njo6RXJyb3JzOjppc19lcnI6Omg2OWZmZGI3ZmIwZGVkYmEw3A02cmVnZXhfc3ludGF4Oj\ +poaXI6OlByb3BlcnRpZXM6Omxvb2s6OmhjYTcxZTk4NGNmYjBiNGZk3Q03cmVnZXhfc3ludGF4Ojpo\ +aXI6OlByb3BlcnRpZXM6OmVtcHR5OjpoYjdhOTU3NDBhN2ExNWY1Zd4NRTxjb3JlOjpvcHRpb246Ok\ +9wdGlvbjxUPiBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoM2I5OTIyOWFmMTRiNDcxYd8NTnJl\ +Z2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpwaWtldm06OlNsb3RUYWJsZTo6Zm9yX3N0YXRlOj\ +poNzAwN2FlN2NmNzBjZmFiY+ANfDxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjptZW1j\ +aHI6Ok1lbWNocjIgYXMgcmVnZXhfYXV0b21hdGE6OnV0aWw6OnByZWZpbHRlcjo6UHJlZmlsdGVyST\ +46OnByZWZpeDo6aDI4NGJhODU0MDQ0MWJhNWPhDUU8Y29yZTo6b3B0aW9uOjpPcHRpb248VD4gYXMg\ +Y29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDExMGRlYTUwYTFkYzMwY2biDTdyZWdleF9zeW50YXg6Om\ +FzdDo6RmxhZ3M6OmZsYWdfc3RhdGU6Omg2MDE1NTQyNDczMmZjNzgx4w1KPGNoYXIgYXMgcmVnZXhf\ +c3ludGF4OjpoaXI6OmludGVydmFsOjpCb3VuZD46OmRlY3JlbWVudDo6aGJkMDA2YzExYmQyNzFkM2\ +bkDSVhbGxvYzo6Zm10Ojpmb3JtYXQ6OmhhM2Y4NTI4ZTQ3OGY1ZTk55Q2+AWFsbG9jOjpjb2xsZWN0\ +aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZT\ +o6bWFya2VyOjpEeWluZyxLLFYsYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2Vy\ +OjpMZWFmT3JJbnRlcm5hbD46OmRlYWxsb2NhdGVfYW5kX2FzY2VuZDo6aDMxZTFkY2VjNWRhYWI4OT\ +DmDUJjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8c3RkOjppbzo6ZXJyb3I6OkVycm9yPjo6aDQzMTBi\ +OGZlNTFlMzlhZGbnDXo8c2VyZGU6Ol9fcHJpdmF0ZTo6ZGU6OmNvbnRlbnQ6OkNvbnRlbnRSZWZEZX\ +NlcmlhbGl6ZXI8RT4gYXMgc2VyZGU6OmRlOjpEZXNlcmlhbGl6ZXI+OjpkZXNlcmlhbGl6ZV9ib29s\ +OjpoMTZlMGRkNThmY2FiNDBkNugNKmFsbG9jOjpmbXQ6OmZvcm1hdDo6aGEzZjg1MjhlNDc4ZjVlOT\ +kuMTQzNOkNPmhhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6Y2xlYXI6Omg5ZmI3\ +MDlhODdkYjNmNDRh6g2+AWFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8YW\ +xsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpEeWluZyxLLFYsYWxsb2M6OmNv\ +bGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpMZWFmT3JJbnRlcm5hbD46OmRlYWxsb2NhdG\ +VfYW5kX2FzY2VuZDo6aDgwZTJlNGRhNGI1M2QxYzXrDUFhaG9fY29yYXNpY2s6OnBhY2tlZDo6cGF0\ +dGVybjo6UGF0dGVybnM6OnJlc2V0OjpoZGFkODgyMjgyMjUyNzE1MOwNWTxhaG9fY29yYXNpY2s6On\ +V0aWw6OnByZWZpbHRlcjo6UmFyZUJ5dGVzVHdvIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omhl\ +NjBjOWExZDhkMzJiYjQ57Q1cPGFob19jb3Jhc2ljazo6dXRpbDo6cHJlZmlsdGVyOjpTdGFydEJ5dG\ +VzVGhyZWUgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGUxZjQ1MmE3OTA1MDlhNzXuDTVjb3Jl\ +OjpjZWxsOjpwYW5pY19hbHJlYWR5X2JvcnJvd2VkOjpoYjhkNjQ1ZGNlMDk2OWRhZe8NPWNvcmU6Om\ +NlbGw6OnBhbmljX2FscmVhZHlfbXV0YWJseV9ib3Jyb3dlZDo6aGE2Y2YzYmM3ZThmY2EyZmbwDb4B\ +YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6Tm9kZVJlZjxhbGxvYzo6Y29sbGVjdGlvbn\ +M6OmJ0cmVlOjpub2RlOjptYXJrZXI6OkR5aW5nLEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVl\ +Ojpub2RlOjptYXJrZXI6OkxlYWZPckludGVybmFsPjo6ZGVhbGxvY2F0ZV9hbmRfYXNjZW5kOjpoMG\ +I3ZGE4NjAwZjlkZWY0YfENSDxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6\ +OkRyb3A+Ojpkcm9wOjpoZTBjNWIyZDVhOTEwZWMyMPINvgFhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cm\ +VlOjpub2RlOjpOb2RlUmVmPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6\ +RHlpbmcsSyxWLGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6TGVhZk9ySW\ +50ZXJuYWw+OjpkZWFsbG9jYXRlX2FuZF9hc2NlbmQ6OmgyMDc5ZmYwZTA0MGQwNzU28w2+AWFsbG9j\ +Ojpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8YWxsb2M6OmNvbGxlY3Rpb25zOjpidH\ +JlZTo6bm9kZTo6bWFya2VyOjpEeWluZyxLLFYsYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9k\ +ZTo6bWFya2VyOjpMZWFmT3JJbnRlcm5hbD46OmRlYWxsb2NhdGVfYW5kX2FzY2VuZDo6aDEyZDFkZG\ +Y3NDZhZWMyYjD0Db4BY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGhhc2hicm93bjo6c2NvcGVndWFy\ +ZDo6U2NvcGVHdWFyZDxoYXNoYnJvd246OnJhdzo6UmF3VGFibGVJbm5lcixoYXNoYnJvd246OnJhdz\ +o6UmF3VGFibGVJbm5lcjo6cHJlcGFyZV9yZXNpemU8YWxsb2M6OmFsbG9jOjpHbG9iYWw+Ojp7e2Ns\ +b3N1cmV9fT4+OjpoNjUxZTRkZTM5YWZmNDBlMPUNS2Rlbm9fY29uZmlnOjpnbG9iOjpQYXRoT3JQYX\ +R0ZXJuU2V0OjptYXRjaGVzX3BhdGhfZGV0YWlsOjpoYjk3YzUxNmE2Mjg5YzViNfYNUTxhbGxvYzo6\ +dmVjOjpkcmFpbjo6RHJhaW48VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoNz\ +RhZDVmM2M1YjNkZmNlMvcNNWNvcmU6Om9wdGlvbjo6T3B0aW9uPFQ+Ojp1bndyYXBfb3I6OmhkYmZm\ +MmUxMDU4MGRmNmRh+A1PPGRlbm9fc2VtdmVyOjpyYW5nZTo6UmFuZ2VCb3VuZCBhcyBjb3JlOjpjbX\ +A6OlBhcnRpYWxFcT46OmVxOjpoNDg1YzEzMmEyNDY4OTRiMvkNvgFhbGxvYzo6Y29sbGVjdGlvbnM6\ +OmJ0cmVlOjpub2RlOjpOb2RlUmVmPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcm\ +tlcjo6RHlpbmcsSyxWLGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6TGVh\ +Zk9ySW50ZXJuYWw+OjpkZWFsbG9jYXRlX2FuZF9hc2NlbmQ6OmgxZDA0YzU2ZTY4NDkyNjY4+g2+AW\ +FsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8YWxsb2M6OmNvbGxlY3Rpb25z\ +OjpidHJlZTo6bm9kZTo6bWFya2VyOjpEeWluZyxLLFYsYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZT\ +o6bm9kZTo6bWFya2VyOjpMZWFmT3JJbnRlcm5hbD46OmRlYWxsb2NhdGVfYW5kX2FzY2VuZDo6aDQ5\ +YWEzOTYzZGZlNDRkMWP7DUBhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpzbGljZV9pbn\ +NlcnQ6Omg0Y2UxYzJiZTRhZWEwYjg2/A2+AWFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6\ +Ok5vZGVSZWY8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpEeWluZyxLLF\ +YsYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpMZWFmT3JJbnRlcm5hbD46\ +OmRlYWxsb2NhdGVfYW5kX2FzY2VuZDo6aGUyMWU0YmRmN2FjYTM3MDn9DUBhbGxvYzo6Y29sbGVjdG\ +lvbnM6OmJ0cmVlOjpub2RlOjpzbGljZV9pbnNlcnQ6OmgxYjc3MDVjM2QwYmI0YzRj/g08ZGVub19z\ +ZW12ZXI6OnJhbmdlOjpSYW5nZUJvdW5kOjpjbGFtcF9lbmQ6OmhiNmY0ODI1MjY3MDhhZWM4/w1RPG\ +hhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRy\ +b3A6OmgxMjczZjA0OGM3MTAwNzBmgA4qYWxsb2M6OmZtdDo6Zm9ybWF0OjpoYTNmODUyOGU0NzhmNW\ +U5OS4xMDg1gQ5WY29yZTo6c3RyOjp0cmFpdHM6OjxpbXBsIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4\ +PEk+IGZvciBzdHI+OjppbmRleDo6aDRkNzdiYzBlOTZlMTg3MWWCDiphbGxvYzo6Zm10Ojpmb3JtYX\ +Q6OmhhM2Y4NTI4ZTQ3OGY1ZTk5LjExNzeDDlg8cmVnZXhfYXV0b21hdGE6OnV0aWw6OnByZWZpbHRl\ +cjo6UHJlZmlsdGVyIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg4M2JlZTU4NzBkMWFlYWEyhA\ +5bY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9jOjp2ZWM6OlZlYzxyZWdleF9zeW50YXg6Omhp\ +cjo6UHJvcGVydGllcz4+OjpoN2RiNmJkOGFmYzVhZWI3YoUOXWNvcmU6OnB0cjo6ZHJvcF9pbl9wbG\ +FjZTxyZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6ZXJyb3I6OkJ1aWxkRXJyb3I+OjpoNThi\ +ZWRmOWRjNWY3NmFjOYYOWzxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjp0ZWRkeTo6VG\ +VkZHkgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDgzM2IzOGQ4MzU0MmNiMTKHDlNjb3JlOjpw\ +dHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfc3ludGF4OjpoaXI6OnRyYW5zbGF0ZTo6SGlyRnJhbWU+Oj\ +poNDQ3ZWY0ZmM2Zjc1MDA5MIgOMmNvcmU6OmY2NDo6PGltcGwgZjY0Pjo6Y2xhc3NpZnk6Omg4MGQy\ +NzBhZWUyOGE4NmFliQ45c2VyZGVfanNvbjo6ZGU6OkRlc2VyaWFsaXplcjxSPjo6ZXJyb3I6OmhhMD\ +k4MjdmZTI2ZmNkOWIxig4xY29tcGlsZXJfYnVpbHRpbnM6Om1lbTo6bWVtY21wOjpoNjZlYmE2ZjRi\ +ZWFkNTE4ZIsOWTxzZXJkZTo6ZGU6OmltcGxzOjpPcHRpb25WaXNpdG9yPFQ+IGFzIHNlcmRlOjpkZT\ +o6VmlzaXRvcj46OnZpc2l0X3NvbWU6Omg0YjgyMWU2Nzc5MmFkMmIxjA5WY29yZTo6c3RyOjp0cmFp\ +dHM6OjxpbXBsIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4PEk+IGZvciBzdHI+OjppbmRleDo6aDNmZT\ +kyMTAxZWQxMjU4YzSNDuMBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGhhc2hicm93bjo6c2NvcGVn\ +dWFyZDo6U2NvcGVHdWFyZDxoYXNoYnJvd246OnJhdzo6aW5uZXI6OlJhd1RhYmxlSW5uZXIsaGFzaG\ +Jyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZUlubmVyOjpwcmVwYXJlX3Jlc2l6ZTxoYXNoYnJvd246\ +OnJhdzo6aW5uZXI6OmFsbG9jOjppbm5lcjo6R2xvYmFsPjo6e3tjbG9zdXJlfX0+Pjo6aGYyMTQ0ZT\ +QwZmJiMjQyMTOODjtkZW5vX2NvbmZpZzo6dXRpbDo6aXNfc2tpcHBhYmxlX2lvX2Vycm9yOjpoNzgy\ +NmM0YTBjNGJkZTM4Yo8OXmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxvYzo6dmVjOjpWZWM8ZG\ +Vub19jb25maWc6Omdsb2I6OlBhdGhPclBhdHRlcm4+Pjo6aGIzOWUxOGM5NjY1MGJmZmWQDv4BYWxs\ +b2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6SGFuZGxlPGFsbG9jOjpjb2xsZWN0aW9uczo6Yn\ +RyZWU6Om5vZGU6Ok5vZGVSZWY8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2Vy\ +OjpNdXQsSyxWLGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6TGVhZj4sYW\ +xsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpFZGdlPjo6aW5zZXJ0X2ZpdDo6\ +aGMwMjg5ZTlmOTY5NjAwYWWRDlVjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnZlYzo6Vm\ +VjPGlnbm9yZTo6Z2l0aWdub3JlOjpHbG9iPj46OmhlZDkxNmI2NGZlMDU2MWMwkg59Y29yZTo6cHRy\ +Ojpkcm9wX2luX3BsYWNlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPGFsbG9jOjpyYzo6UmM8ZGVub19jb2\ +5maWc6Omdsb2I6OmdpdGlnbm9yZTo6RGlyR2l0SWdub3Jlcz4+Pjo6aGJhMjgxYzU0NThhYmViNjKT\ +Dlg8YWxsb2M6OnZlYzo6aW50b19pdGVyOjpJbnRvSXRlcjxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcD\ +o6RHJvcD46OmRyb3A6OmgyYjNkYTQwZTUwYThhNDZjlA5ePGhhc2hicm93bjo6bWFwOjpJdGVyPEss\ +Vj4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoYzFjM2\ +FhN2Q3ZDQyMzczNJUOWDxhbGxvYzo6dmVjOjppbnRvX2l0ZXI6OkludG9JdGVyPFQsQT4gYXMgY29y\ +ZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGMwZDE4MjVhOTIxOTIyMmSWDjVjb3JlOjpzbGljZT\ +o6PGltcGwgW1RdPjo6ZW5kc193aXRoOjpoNjUyMWQxZWU0Y2JiNTJiZZcO/gFhbGxvYzo6Y29sbGVj\ +dGlvbnM6OmJ0cmVlOjpub2RlOjpIYW5kbGU8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZT\ +o6Tm9kZVJlZjxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6Ok11dCxLLFYs\ +YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpMZWFmPixhbGxvYzo6Y29sbG\ +VjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6OkVkZ2U+OjppbnNlcnRfZml0OjpoNjRiODQ1NmRh\ +YmY4ODFlMpgOWDxhbGxvYzo6dmVjOjppbnRvX2l0ZXI6OkludG9JdGVyPFQsQT4gYXMgY29yZTo6b3\ +BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDU0MDk5MzczOGFjYTc3MTmZDnxjb3JlOjpzdHI6OnRyYWl0\ +czo6PGltcGwgY29yZTo6c2xpY2U6OmluZGV4OjpTbGljZUluZGV4PHN0cj4gZm9yIGNvcmU6Om9wcz\ +o6cmFuZ2U6OlJhbmdlVG88dXNpemU+Pjo6aW5kZXg6OmgwOTI1YzExYzgyYTAzNDljmg56Y29yZTo6\ +cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9jOjp2ZWM6OlZlYzxhbGxvYzo6dmVjOjpWZWM8Y29yZTo6b3\ +B0aW9uOjpPcHRpb248YWxsb2M6OnN5bmM6OkFyYzxzdHI+Pj4+Pjo6aDUxZTY3MWYwYjcyN2UyODOb\ +Dmljb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnZlYzo6VmVjPGNvcmU6Om9wdGlvbjo6T3\ +B0aW9uPGFsbG9jOjpzeW5jOjpBcmM8c3RyPj4+Pjo6aGU1YmIzOTEzNzZlNjgzNjKcDkpyZWdleF9h\ +dXRvbWF0YTo6dXRpbDo6c3RhcnQ6OkNvbmZpZzo6ZnJvbV9pbnB1dF9mb3J3YXJkOjpoNTRhNmQ2Yj\ +Q4OTdhZjBhNp0OR3JlZ2V4X2F1dG9tYXRhOjptZXRhOjp3cmFwcGVyczo6SHlicmlkOjpjcmVhdGVf\ +Y2FjaGU6Omg2OGYxZGFjNTY5ODhlNDJjng5dY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9jOj\ +p2ZWM6OlZlYzxyZWdleF9zeW50YXg6OmFzdDo6Q2xhc3NTZXRJdGVtPj46OmhlMmRmOTQ2YTFkNjE5\ +OGRknw5cPHJ1c3RjX2RlbWFuZ2xlOjpTaXplTGltaXRlZEZtdEFkYXB0ZXI8Rj4gYXMgY29yZTo6Zm\ +10OjpXcml0ZT46OndyaXRlX3N0cjo6aGJlYjZiOWZlZDQwOGNiNTagDjN1cmw6OnBhcnNlcjo6SW5w\ +dXQ6OnNwbGl0X3ByZWZpeDo6aDhmNTE3YWExZmE2ZjhlZDihDjN1cmw6OnBhcnNlcjo6SW5wdXQ6On\ +NwbGl0X3ByZWZpeDo6aGM4Y2FkNDU4MDI3N2FmYmKiDj88JnN0ciBhcyB1cmw6OnBhcnNlcjo6UGF0\ +dGVybj46OnNwbGl0X3ByZWZpeDo6aDk3MDU4YTkyNzU3MzFlZDCjDi91cmw6OlVybDo6cmVzdG9yZV\ +9hZnRlcl9wYXRoOjpoMDMzOTBhNjU5ZmNjZmJjYqQOaDxjb3JlOjppdGVyOjphZGFwdGVyczo6ZnVz\ +ZTo6RnVzZTxJPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leH\ +Q6OmgxYmRkOTEzMTBiNGQ2MjIypQ6HAXdhc21fYmluZGdlbjo6Y29udmVydDo6c2xpY2VzOjo8aW1w\ +bCB3YXNtX2JpbmRnZW46OmNvbnZlcnQ6OnRyYWl0czo6SW50b1dhc21BYmkgZm9yIGFsbG9jOjpzdH\ +Jpbmc6OlN0cmluZz46OmludG9fYWJpOjpoODc0NTQ0NTMzZmVjYTU0MaYOLWNvcmU6OnBhbmlja2lu\ +Zzo6cGFuaWNfZm10OjpoZGU4YjdhYTY2ZTI4MzFlMacOKGFsbG9jOjpyYzo6UmM8VD46Om5ldzo6aD\ +djM2I4MWZjNTQ3Yzk2OGWoDihhbGxvYzo6cmM6OlJjPFQ+OjpuZXc6OmgxMDc1YTgzZjUxNTg3NzYx\ +qQ5GPGFsbG9jOjpyYzo6UmM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoNT\ +cyNDkyZTc3YjY3ZGJlMqoOR2hhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6aW5z\ +ZXJ0X2luX3Nsb3Q6Omg1NzUyZjA3ZDE4ZTQxMDU4qw5AYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZT\ +o6bm9kZTo6c2xpY2VfaW5zZXJ0OjpoY2U1YzYwN2FkMzQxY2Q1N6wONmFsbG9jOjp2ZWM6OlZlYzxU\ +LEE+OjpzaHJpbmtfdG9fZml0OjpoNjJhNzdlMTA1ZGQ1OWUyMa0OLGNvcmU6OmVycm9yOjpFcnJvcj\ +o6Y2F1c2U6OmgwNTI4MDA0NjJiMDNlMTE4rg40ZGVub19jb25maWc6Omdsb2I6Omhhc191cmxfcHJl\ +Zml4OjpoOWMzNWM3ODVhOGRlNjUyYa8OKGFsbG9jOjpyYzo6UmM8VD46Om5ldzo6aDIxY2VmNDQ3Y2\ +IxYTlkNGOwDkBhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpzbGljZV9pbnNlcnQ6Omgy\ +NTQ5NDcxNjg0MTIyMzg0sQ5Bc3RkOjpjb2xsZWN0aW9uczo6aGFzaDo6bWFwOjpIYXNoTWFwPEssVj\ +46Om5ldzo6aDFmZTM5ODY1NWIzMTY5ZWSyDko8ZGVub19zZW12ZXI6OlZlcnNpb24gYXMgY29yZTo6\ +Y2xvbmU6OkNsb25lPjo6Y2xvbmU6OmhkMGE0NzJkNmQ5MTI0ZTlhLjU5MrMOW2NvcmU6OnB0cjo6ZH\ +JvcF9pbl9wbGFjZTxhbGxvYzo6dmVjOjpWZWM8KHVzaXplLGFsbG9jOjpzdHJpbmc6OlN0cmluZyk+\ +Pjo6aDQ2NTE2N2I3ZmE3MmExYzi0Dlw8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6aXRlcj\ +o6dHJhaXRzOjpjb2xsZWN0OjpFeHRlbmQ8JlQ+Pjo6ZXh0ZW5kOjpoNjgyNzhjMDM1MTIxNDJkMbUO\ +STxUIGFzIGNvcmU6OnNsaWNlOjpjbXA6OlNsaWNlQ29udGFpbnM+OjpzbGljZV9jb250YWluczo6aG\ +ZjYzE3NGJlZjZmMDRmN2a2Dj1jb3JlOjpjaGFyOjptZXRob2RzOjo8aW1wbCBjaGFyPjo6dG9fZGln\ +aXQ6Omg0NmRhOWRlZmRiN2VmMWNltw42YWxsb2M6OnZlYzo6VmVjPFQsQT46OnNocmlua190b19maX\ +Q6Omg0MTkzYzBhODE1ZTMxMGZjuA42YWxsb2M6OnZlYzo6VmVjPFQsQT46OnNocmlua190b19maXQ6\ +OmhhNTRmNzIzOGJlZTYwNWIwuQ42YWxsb2M6OnZlYzo6VmVjPFQsQT46OnNocmlua190b19maXQ6Om\ +g0ZTg3M2FlODVmNDJmZjU0ug4rYWxsb2M6OnN5bmM6OkFyYzxUPjo6bmV3OjpoZDhjOTA5MmFiZWJi\ +NDM5OLsOK2FsbG9jOjpzeW5jOjpBcmM8VD46Om5ldzo6aGMyZjNhZmU4NGM2N2Y2YTS8DithbGxvYz\ +o6c3luYzo6QXJjPFQ+OjpuZXc6OmgwMWU1ZmFmMTBhZjJiOTE0vQ44c3RkOjp0aHJlYWQ6OmxvY2Fs\ +OjpMb2NhbEtleTxUPjo6d2l0aDo6aDZjMTVjOWFjZjllNWM0N2K+DithbGxvYzo6c3luYzo6QXJjPF\ +Q+OjpuZXc6OmhiMDQ0NjJjNDVhNjMzMmY2vw5kPHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjp3aXJlOjpM\ +RSBhcyByZWdleF9hdXRvbWF0YTo6dXRpbDo6d2lyZTo6RW5kaWFuPjo6d3JpdGVfdTMyOjpoM2EwMT\ +k2Zjk3NjFjZWM4NMAOQHJlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6TGF6eVJlZjo6cXVpdF9p\ +ZDo6aGMwNzAzMDJiYjA4MjQwYjnBDl5yZWdleF9hdXRvbWF0YTo6dXRpbDo6ZGV0ZXJtaW5pemU6On\ +N0YXRlOjpTdGF0ZUJ1aWxkZXJORkE6OmFkZF9uZmFfc3RhdGVfaWQ6Omg4YTAxY2MxZWRjMzYxODkx\ +wg5IcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246Om5mYTo6TkZBOjptZW1vcnlfdXNhZ2U6Om\ +g2OWJmMWY0YWFhMGYwZjRjww5LcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpDb3JlOjpz\ +ZWFyY2hfaGFsZl9ub2ZhaWw6OmhjYjg3MWIxN2RhMmRiNDYyxA44YWxsb2M6OnZlYzo6VmVjPFQsQT\ +46OmFwcGVuZF9lbGVtZW50czo6aGFkZGVjYzg5NjY1YjliYmPFDjhhbGxvYzo6dmVjOjpWZWM8VCxB\ +Pjo6YXBwZW5kX2VsZW1lbnRzOjpoZDU1MDQ3YmRjM2NlYjllMMYONXJlZ2V4X3N5bnRheDo6aGlyOj\ +pIaXI6OmludG9fcGFydHM6OmhlNzc3NzIyMGQyNGY2ZTgxxw4qc2VyZGVfanNvbjo6cmVhZDo6ZXJy\ +b3I6OmgxNjY3NTRiNTg2OTczOGEyyA5VZGVub19jb25maWc6OmRlbm9fanNvbjo6Q29uZmlnRmlsZT\ +o6dG9fZXhwb3J0c19jb25maWc6Ont7Y2xvc3VyZX19OjpoOTRjYThkNjlkNzg0MzA0MMkOLWFsbG9j\ +Ojp2ZWM6OlZlYzxULEE+OjpwdXNoOjpoNjM3NTU5ZjMyM2U2MmU2ZMoOLWFsbG9jOjp2ZWM6OlZlYz\ +xULEE+OjpwdXNoOjpoNmI4MjEwNjA1MGM5YTRjNMsOMHNlcmRlOjpkZTo6VmlzaXRvcjo6dmlzaXRf\ +c3RyOjpoYzYyMzlmNzRmODJhOWU0ZswOMnNlcmRlOjpkZTo6VmlzaXRvcjo6dmlzaXRfYnl0ZXM6Om\ +g4ZmM3YmM1MGVhOWU1YmVizQ6sAWFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVS\ +ZWY8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpPd25lZCxLLFYsYWxsb2\ +M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpMZWFmT3JJbnRlcm5hbD46Om5ldzo6\ +aDM4ODk3YWZkZDRiNTIyNGbODjNhbGxvYzo6c3luYzo6QXJjPFQsQT46OmRyb3Bfc2xvdzo6aDBlMj\ +Q3NmFkNDg5N2E2ZTLPDkBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcjo6Y291\ +bnQ6OmhkNWIyZGUzZDhmNjI5MzNj0A5CYWhvX2NvcmFzaWNrOjp1dGlsOjphbHBoYWJldDo6Qnl0ZV\ +NldDo6Y29udGFpbnM6Omg5NjM3MmYxNWNhMDVlZmVi0Q5UPGNvcmU6OmZtdDo6YnVpbGRlcnM6OlBh\ +ZEFkYXB0ZXIgYXMgY29yZTo6Zm10OjpXcml0ZT46OndyaXRlX2NoYXI6OmhkZmYwOTBkZGNlOGRhZm\ +Uy0g4tYWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6OmhmYmU1ZWI5YTk0ZDhlY2Fi0w5OPGFsbG9j\ +Ojp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4PEk+Pjo6aW5kZXg6OmgyYm\ +U1YjE1MmMzNGNiMDI11A6sAWFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8\ +YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpPd25lZCxLLFYsYWxsb2M6Om\ +NvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpMZWFmT3JJbnRlcm5hbD46Om5ldzo6aDAy\ +YjdmMThhZDc5MzdjODDVDjA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDJhZjA1NDg3ND\ +U4Y2Y4ZmHWDmBkZW5vX2NvbmZpZzo6Z2xvYjo6Z2l0aWdub3JlOjpHaXRJZ25vcmVUcmVlOjpnZXRf\ +cmVzb2x2ZWRfZ2l0X2lnbm9yZV9mb3JfZmlsZTo6aDA3NjA2MzQ5OWRiNjUwM2XXDl9kZW5vX2Nvbm\ +ZpZzo6Z2xvYjo6Z2l0aWdub3JlOjpHaXRJZ25vcmVUcmVlOjpnZXRfcmVzb2x2ZWRfZ2l0X2lnbm9y\ +ZV9mb3JfZGlyOjpoYTllMTgxMjllYWQwYmM2ZtgOLWFsbG9jOjp2ZWM6OlZlYzxULEE+OjpwdXNoOj\ +poYWQzM2ZhYThhZTY4NWQ4MdkOWWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX3NlbXZlcjo6\ +anNyOjpKc3JEZXBQYWNrYWdlUmVxUGFyc2VFcnJvcj46Omg3MWVjZjQxZDUyMTU2MDYx2g7+AWFsbG\ +9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6OkhhbmRsZTxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0\ +cmVlOjpub2RlOjpOb2RlUmVmPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcj\ +o6TXV0LEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6OkxlYWY+LGFs\ +bG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6RWRnZT46Omluc2VydF9maXQ6Om\ +g1ODQ0NmU4NjY0YzA0ZjBi2w7+AWFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6OkhhbmRs\ +ZTxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpOb2RlUmVmPGFsbG9jOjpjb2xsZWN0aW\ +9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6TXV0LEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVl\ +Ojpub2RlOjptYXJrZXI6OkxlYWY+LGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcm\ +tlcjo6RWRnZT46Omluc2VydF9maXQ6Omg3NDM4NzY4NzFjOThhZjQ53A7+AWFsbG9jOjpjb2xsZWN0\ +aW9uczo6YnRyZWU6Om5vZGU6OkhhbmRsZTxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOj\ +pOb2RlUmVmPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6TXV0LEssVixh\ +bGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6OkxlYWY+LGFsbG9jOjpjb2xsZW\ +N0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6RWRnZT46Omluc2VydF9maXQ6OmhjNzYxNjZhZmIx\ +YmQyYzAw3Q4zYWxsb2M6OnN5bmM6OkFyYzxULEE+Ojpkcm9wX3Nsb3c6Omg0NDkyNzgyMjgwODBhMG\ +I33g4tYWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6OmhhNzhlZDllMTJlMDVlNjAz3w4tYWxsb2M6\ +OnZlYzo6VmVjPFQsQT46OnB1c2g6Omg5MmE4YzIxYmQ4NzhmZTI04A4tYWxsb2M6OnZlYzo6VmVjPF\ +QsQT46OnB1c2g6OmgxODZkYmY4MDZmNzg2Yzc44Q4tYWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6\ +OmgxYzhiYmM0ODI4ZGZhNDI14g4tYWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6Omg4MzMxODQyMT\ +A0MWViOGNi4w4tYWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6OmgwNzU5NmFlZDEyYjU5MmUw5A5D\ +cmVnZXhfYXV0b21hdGE6Omh5YnJpZDo6ZGZhOjpDYWNoZTo6c2VhcmNoX3N0YXJ0OjpoNjcyZDZjOT\ +AwZTAxZjllNuUOLWFsbG9jOjp2ZWM6OlZlYzxULEE+OjpwdXNoOjpoODNmMmZhMDY2YzBhZjE3ZeYO\ +dTxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9hdXRvbWF0YT\ +o6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6Y3JlYXRlX2NhY2hlOjpoNmVkOWE2OGNjOGE1ZTg0\ +MecOQ3JlZ2V4X2F1dG9tYXRhOjp1dGlsOjpzZWFyY2g6OlBhdHRlcm5TZXQ6Omluc2VydDo6aGYzY2\ +U4NjM1YjUwMThlMGToDnU8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD4gYXMg\ +cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OmNyZWF0ZV9jYWNoZTo6aD\ +BlNGVjNjk4MDA1N2EzODTpDnU8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD4g\ +YXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OmNyZWF0ZV9jYWNoZT\ +o6aGUyOWYyNDg2MTA0N2QxMDPqDnU8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8\ +UD4gYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OmNyZWF0ZV9jYW\ +NoZTo6aDYxYzM5MThmMWNmODJjNDTrDnU8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQ\ +cmU8UD4gYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OmNyZWF0ZV\ +9jYWNoZTo6aDM3ZDc1M2U3MWVkZDRlYjPsDixhbGxvYzo6dmVjOjpWZWM8VCxBPjo6cG9wOjpoMGVk\ +MGI2NDQ5ZTliYzAyY+0OTXJlZ2V4X3N5bnRheDo6YXN0OjpwYXJzZTo6UGFyc2VySTxQPjo6cGFyc2\ +Vfc2V0X2NsYXNzX2l0ZW06OmgzZmI1NjVhNWIzNDU4MGM07g5FcmVnZXhfc3ludGF4OjpoaXI6Omlu\ +dGVydmFsOjpJbnRlcnZhbFNldDxJPjo6dW5pb246Omg5YjA1YmRmYTkwMDhjNDUz7w5FcmVnZXhfc3\ +ludGF4OjpoaXI6OmludGVydmFsOjpJbnRlcnZhbFNldDxJPjo6dW5pb246OmgwMTc0ZjQ3YmUzNGUw\ +MDYz8A4tYWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6OmhjYzE5NzAwMGExOTc3MTgy8Q5NPHN0ZD\ +o6dGhyZWFkOjpsb2NhbDo6QWNjZXNzRXJyb3IgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGIz\ +Mjc2YjQzODA4MzVjNjLyDlRjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnZlYzo6VmVjPG\ +xvYWRlcjo6V2FzbUZzRGlyRW50cnk+Pjo6aGMyNWRiOTcwZTUyYzIyNTLzDmU8Y29yZTo6YXJyYXk6\ +Oml0ZXI6OkludG9JdGVyPFQsXz4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcm\ +F0b3I+OjpuZXh0OjpoMmMxNTgxYzZkNzA1YjljZPQOQmFueWhvdzo6ZXJyb3I6OjxpbXBsIGFueWhv\ +dzo6RXJyb3I+Ojpmcm9tX2FkaG9jOjpoZDEyNjdkZDQ0MzE4MGUxNvUOhwFjb3JlOjpwdHI6OmRyb3\ +BfaW5fcGxhY2U8aW5kZXhtYXA6Om1hcDo6SW5kZXhNYXA8YWxsb2M6OnN0cmluZzo6U3RyaW5nLGNv\ +cmU6Om9wdGlvbjo6T3B0aW9uPGFsbG9jOjpzdHJpbmc6OlN0cmluZz4+Pjo6aDlkNjc2NTg5NTk3Zm\ +ZkNmX2DjA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGM5M2Q3YTQ0YWQ4MGVmMzD3DkNh\ +aG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91czo6TkZBOjpuZXh0X2xpbms6OmgwMGM2ZWYwYW\ +UzYzM5MTFj+A47ZGVub19wYWNrYWdlX2pzb246OlBhY2thZ2VKc29uOjpkaXJfcGF0aDo6aGU3ZGU5\ +M2RlMjg2ZDE4OTP5DjA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDM1NzU1NmY2NDM3ZW\ +QxY2H6DjA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDkxOWNiZDMxNzVlMWYzYjP7DjA8\ +JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGMyYTFiNDJhZjZkYTVhYzn8DjA8JlQgYXMgY2\ +9yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDY0ZGRkMjQzNjNmNjBiZWX9DiFnbG9iOjpjaGFyc19lcTo6\ +aGM5ZjlkZDlkNzlkYzc1ZmT+DkNqc29uY19wYXJzZXI6OnBhcnNlX3RvX2FzdDo6Q29udGV4dDo6c3\ +RhcnRfcmFuZ2U6OmhkNmI5NjViZDRkNTZjY2Rm/w4wPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+Ojpm\ +bXQ6Omg1ODg0ZWY1OGY1YjJhZDQzgA8wPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg3YT\ +Q5OWNmNDI2MDI1MGZhgQ8wPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg3OWRkZWQwZGQ5\ +NjE1MzAzgg9lPGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdlPHVzaXplPiBhcyBjb3JlOjpzbGljZTo6aW\ +5kZXg6OlNsaWNlSW5kZXg8W1RdPj46OmluZGV4X211dDo6aDkxYWE3M2NjNGFmNzAwNjODD1ZyZWdl\ +eF9hdXRvbWF0YTo6dXRpbDo6ZGV0ZXJtaW5pemU6OnN0YXRlOjpTdGF0ZUJ1aWxkZXJORkE6OnRvX3\ +N0YXRlOjpoNWE3NDU0OWVkYmVjNTc0YoQPRTxUIGFzIGNvcmU6OmNsb25lOjpDbG9uZVRvVW5pbml0\ +Pjo6Y2xvbmVfdG9fdW5pbml0OjpoYjc1NGZhYjdmZGFlNjljOYUPMDwmVCBhcyBjb3JlOjpmbXQ6Ok\ +RlYnVnPjo6Zm10OjpoM2FlYmU5Y2YyYzk0ZmZhM4YPMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6\ +Zm10OjpoYWUxOTM0MGMwMzYwZDAxZIcPZTxjb3JlOjphcnJheTo6aXRlcjo6SW50b0l0ZXI8VCxfPi\ +BhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6OmhlN2RlNjhm\ +MGNhNWIxNzU4iA8uYWxsb2M6OnZlYzo6VmVjPFQsQT46OmRyYWluOjpoMDMxYTQ4NzVkNjVhZTk2No\ +kPLmFsbG9jOjp2ZWM6OlZlYzxULEE+OjpkcmFpbjo6aDE1YmEyMWJkNDZlNDc0NjaKD1Y8anNfc3lz\ +OjpBcnJheUl0ZXIgYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZX\ +h0OjpoNjQxMmJlYjVmM2UzMzQwN4sPRWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxzZXJkZV9qc29u\ +Ojp2YWx1ZTo6VmFsdWU+OjpoMTIwOWQwYjQzM2FmOWI0MowPNmNvcmU6OnN0cjo6PGltcGwgc3RyPj\ +o6c3RyaXBfc3VmZml4OjpoOTkyOGE2OWYxMGMxN2ZiYY0PvwFhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0\ +cmVlOjpuYXZpZ2F0ZTo6PGltcGwgYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6Tm9kZV\ +JlZjxCb3Jyb3dUeXBlLEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6\ +OkxlYWZPckludGVybmFsPj46Omxhc3RfbGVhZl9lZGdlOjpoODY3ZTliMTE1NWQwYzI1ZI4PSDxhbG\ +xvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoMThkYTY5\ +Njc1OTY3YzZkMY8PXjxhaG9fY29yYXNpY2s6OmRmYTo6REZBIGFzIGFob19jb3Jhc2ljazo6YXV0b2\ +1hdG9uOjpBdXRvbWF0b24+OjpzdGFydF9zdGF0ZTo6aDhlNmVkMTRmOTkzOGU2OTGQD39haG9fY29y\ +YXNpY2s6OnV0aWw6OnNlYXJjaDo6PGltcGwgY29yZTo6b3BzOjppbmRleDo6SW5kZXg8YWhvX2Nvcm\ +FzaWNrOjp1dGlsOjpzZWFyY2g6OlNwYW4+IGZvciBbdThdPjo6aW5kZXg6Omg4NWRiOTFhOWQ2OTJl\ +M2Q2kQ9MPGFsbG9jOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlOjpmbXQ6OldyaXRlPjo6d3JpdGVfc3\ +RyOjpoYzM1YjBlMTMzZDdkNGUzYS4zM5IPTDxhbGxvYzo6c3RyaW5nOjpTdHJpbmcgYXMgY29yZTo6\ +Y2xvbmU6OkNsb25lPjo6Y2xvbmVfZnJvbTo6aGI4ZWZkYmFjYzUyNTg2YTSTD188Y29yZTo6bmV0Oj\ +pkaXNwbGF5X2J1ZmZlcjo6RGlzcGxheUJ1ZmZlcjxfPiBhcyBjb3JlOjpmbXQ6OldyaXRlPjo6d3Jp\ +dGVfc3RyOjpoYjU2Y2E2MzRlNWZkMzdkMJQPXzxjb3JlOjpuZXQ6OmRpc3BsYXlfYnVmZmVyOjpEaX\ +NwbGF5QnVmZmVyPF8+IGFzIGNvcmU6OmZtdDo6V3JpdGU+Ojp3cml0ZV9zdHI6OmhjMjBiZWY4YTFi\ +NGIxNmUxlQ8+ZGVub19jb25maWc6Omdsb2I6OlBhdGhPclBhdHRlcm46OmJhc2VfcGF0aDo6aGJjZG\ +NkNDhmN2ZhNzA5NzeWD78BYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bmF2aWdhdGU6OjxpbXBs\ +IGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Ok5vZGVSZWY8Qm9ycm93VHlwZSxLLFYsYW\ +xsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpMZWFmT3JJbnRlcm5hbD4+Ojps\ +YXN0X2xlYWZfZWRnZTo6aGUzMWYxY2I3NjBkMjM5NWGXD68BYWxsb2M6OmNvbGxlY3Rpb25zOjpidH\ +JlZTo6bm9kZTo6Tm9kZVJlZjxhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6\ +Ok93bmVkLEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJrZXI6OkludGVybm\ +FsPjo6bmV3X2ludGVybmFsOjpoOTk3ODA1NmMyZmE4N2JjM5gPvwFhbGxvYzo6Y29sbGVjdGlvbnM6\ +OmJ0cmVlOjpuYXZpZ2F0ZTo6PGltcGwgYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6Tm\ +9kZVJlZjxCb3Jyb3dUeXBlLEssVixhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptYXJr\ +ZXI6OkxlYWZPckludGVybmFsPj46Omxhc3RfbGVhZl9lZGdlOjpoYzE0YzQxYzA0ZjFmOWVmM5kPUT\ +xoYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpk\ +cm9wOjpoODk0ZGE3MmE3YWVjNTFiOZoPV2hhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+OjpmaW\ +5kX29yX2ZpbmRfaW5zZXJ0X3Nsb3Q6Ont7Y2xvc3VyZX19OjpoYjRhYWUyN2Q3NzgyOTkyMZsPV2Rl\ +bm9fc2VtdmVyOjpyYW5nZTo6UmFuZ2VCb3VuZDo6aGFzX3ByZV93aXRoX2V4YWN0X21ham9yX21pbm\ +9yX3BhdGNoOjpoZTk3NzlmZTQ3MDc4YWYyOJwPP2FsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6\ +dHJ5X2FsbG9jYXRlX2luOjpoZDM3NmU1YjNhNmNkNTBjM50PQzxhbGxvYzo6dmVjOjpWZWM8VCxBPi\ +BhcyBjb3JlOjpoYXNoOjpIYXNoPjo6aGFzaDo6aDBkNGI4OTZkNDU1ZTkyOGKeD0loYXNoYnJvd246\ +OnNldDo6SGFzaFNldDxULFM+Ojp3aXRoX2NhcGFjaXR5X2FuZF9oYXNoZXI6Omg0NzliMDBmYWM5OD\ +JkMjI3nw9XaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlPFQsQT46OmZpbmRfb3JfZmluZF9pbnNlcnRf\ +c2xvdDo6e3tjbG9zdXJlfX06Omg4MTdhMWY5MjNmNTliY2IxoA9TY29yZTo6cHRyOjpkcm9wX2luX3\ +BsYWNlPGFob19jb3Jhc2ljazo6dXRpbDo6cHJlZmlsdGVyOjpCdWlsZGVyPjo6aGQ5NGY4YTYyYTY1\ +MWM4ODmhDzJhbGxvYzo6c3RyaW5nOjpTdHJpbmc6OnRydW5jYXRlOjpoM2MwYjM2MjdjZjUxZTA2Mq\ +IPSDxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpo\ +M2VlMWU1ZTVlYTE3NDkzN6MPZTxhaG9fY29yYXNpY2s6OmRmYTo6REZBIGFzIGFob19jb3Jhc2ljaz\ +o6YXV0b21hdG9uOjpBdXRvbWF0b24+OjptYXRjaF9wYXR0ZXJuOjpoYmQ0ZTliZTEzNGI5ZDEwNC4x\ +MjE1pA9QcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmNvbXBpbGVyOjpDb21waWxlcjo6YW\ +RkX3NwYXJzZTo6aDk0ZDI5Nzc0MjAxYzZlNDClDzRjb3JlOjpyZXN1bHQ6OlJlc3VsdDxULEU+Ojpl\ +eHBlY3Q6OmhkZDFiMmE1YTdlZTEwMDJkpg9GcmVnZXhfYXV0b21hdGE6OmRmYTo6b25lcGFzczo6Q2\ +FjaGU6OmV4cGxpY2l0X3Nsb3RzOjpoYTBlZjZmNjVmYzIwODZkMKcPRHJlZ2V4X2F1dG9tYXRhOjpo\ +eWJyaWQ6OmRmYTo6Q2FjaGU6OnNlYXJjaF9maW5pc2g6OmhlNDk1NDY4ZDczYzIxODEzqA9dPHJlZ2\ +V4X3N5bnRheDo6aGlyOjpDbGFzc0J5dGVzUmFuZ2UgYXMgY29yZTo6Y21wOjpQYXJ0aWFsT3JkPjo6\ +cGFydGlhbF9jbXA6OmhkMjRiNDEyYmM5MWM0OWIwqQ9XPHJlZ2V4X3N5bnRheDo6YXN0OjpBc3QgYX\ +MgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6e3tjbG9zdXJlfX06Omg3MjVmNmM4YzgyZmFk\ +Y2Niqg9ZcmVnZXhfc3ludGF4OjpoaXI6OnRyYW5zbGF0ZTo6VHJhbnNsYXRvckk6OmNvbnZlcnRfdW\ +5pY29kZV9jbGFzc19lcnJvcjo6aDZjZjYzNDg2MDVmYTk2NjOrDy11cmw6OlVybDo6Y2Fubm90X2Jl\ +X2FfYmFzZTo6aDkxMDJkZTQyNjI2Njc4ZjKsD01jb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8ZGVub1\ +9zZW12ZXI6OnBhY2thZ2U6OlBhY2thZ2VSZXE+OjpoZWE1NWM4MTc5YjdiZGE1Yq0PRjxhbGxvYzo6\ +cmM6OlJjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGU4ZGE3OGIwYjhjMj\ +IxNTiuD0g8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJv\ +cDo6aGE4ZDIxNmZjYTM1YmUwZGSvDzhhbGxvYzo6dmVjOjpWZWM8VCxBPjo6YXBwZW5kX2VsZW1lbn\ +RzOjpoMjM5OTcyNjhkZWM3NDVlYbAPMHNlcmRlOjpkZTo6VmlzaXRvcjo6dmlzaXRfdTY0OjpoZmIx\ +NTI3YzIyYjc3ZDk4MbEPMHNlcmRlOjpkZTo6VmlzaXRvcjo6dmlzaXRfaTY0OjpoYzRmMTMwNjI0Zj\ +YwMDE1NrIPMHNlcmRlOjpkZTo6VmlzaXRvcjo6dmlzaXRfZjY0OjpoNzY3ZTkxM2VmZmYxNWY1ZrMP\ +WDxhbGxvYzo6dmVjOjppbnRvX2l0ZXI6OkludG9JdGVyPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOj\ +pEcm9wPjo6ZHJvcDo6aDE1MTRlNDEyN2IxMmFmM2a0DyN1cmw6OlVybDo6c2NoZW1lOjpoOTMzNmMz\ +YmEwYzk5ZWYzObUPhgFpbmRleG1hcDo6bWFwOjppdGVyOjo8aW1wbCBjb3JlOjppdGVyOjp0cmFpdH\ +M6OmNvbGxlY3Q6OkludG9JdGVyYXRvciBmb3IgaW5kZXhtYXA6Om1hcDo6SW5kZXhNYXA8SyxWLFM+\ +Pjo6aW50b19pdGVyOjpoZTA1YzdlM2YwZmZiZDA4YrYPWDxhbGxvYzo6dmVjOjppbnRvX2l0ZXI6Ok\ +ludG9JdGVyPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDViNDU3YTFkYjY5\ +NzIyMDO3D3A8aGFzaGJyb3duOjpyYXc6OmlubmVyOjpiaXRtYXNrOjpCaXRNYXNrSXRlciBhcyBjb3\ +JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6OmhlNmQ2N2RlMDU4NGFi\ +YWIyuA9SPG1lbWNocjo6YXJjaDo6YWxsOjpyYWJpbmthcnA6OkZpbmRlciBhcyBjb3JlOjpmbXQ6Ok\ +RlYnVnPjo6Zm10OjpoNmJjNDYzZmJkYmNkMDZkNLkPSTxjb3JlOjpzdHI6OmVycm9yOjpVdGY4RXJy\ +b3IgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDUzM2RjMDEwZmVmNzIzZjK6D1k8YWhvX2Nvcm\ +FzaWNrOjp1dGlsOjpwcmVmaWx0ZXI6OlJhcmVCeXRlc09uZSBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6\ +Zm10OjpoNzViMzA5MTU0ZTlhYmU2NLsPWjxhaG9fY29yYXNpY2s6OnV0aWw6OnByZWZpbHRlcjo6U3\ +RhcnRCeXRlc1R3byBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoY2UzZGE3NDc5NzU1ZmQ1Y7wP\ +Rzxjb3JlOjpjaGFyOjpFc2NhcGVEZWJ1ZyBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6Omg4N2\ +VkNzU5MzE4ZjhhNGExvQ9UaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZTxULEE+OjpyZXNl\ +cnZlX3JlaGFzaDo6e3tjbG9zdXJlfX06Omg1YTI1NjM1ZDlhNDVhOWJivg9FY29yZTo6cHRyOjpkcm\ +9wX2luX3BsYWNlPHNlcmRlX2pzb246OmVycm9yOjpFcnJvcj46OmgwMjQ3NzQ3NjM2NjhmZWI4vw9U\ +aGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6e3tjbG\ +9zdXJlfX06Omg1OGYyMGZiZmFlYTMxOGM2wA9JPGpzb25jX3BhcnNlcjo6Y29tbW9uOjpSYW5nZSBh\ +cyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMWVlNGU0OWUzMjE5NzQ3OMEPRjxhbGxvYzo6cmM6Ol\ +JjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGM2NmJiZjc0YzY5OGQ0YzTC\ +D1g8YWxsb2M6OnZlYzo6aW50b19pdGVyOjpJbnRvSXRlcjxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcD\ +o6RHJvcD46OmRyb3A6Omg2NTViZDE0ZTJmODgyNjE5ww9UaGFzaGJyb3duOjpyYXc6OmlubmVyOjpS\ +YXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6e3tjbG9zdXJlfX06Omg1YWNjZDZlOGNhZWJlZD\ +hjxA+EAWluZGV4bWFwOjpzZXQ6Oml0ZXI6OjxpbXBsIGNvcmU6Oml0ZXI6OnRyYWl0czo6Y29sbGVj\ +dDo6SW50b0l0ZXJhdG9yIGZvciBpbmRleG1hcDo6c2V0OjpJbmRleFNldDxULFM+Pjo6aW50b19pdG\ +VyOjpoNzhkNGVlYjdlMWY4MmU3ZsUPLmFsbG9jOjp2ZWM6OlZlYzxULEE+OjpkcmFpbjo6aGIxMTg2\ +ZDZjNDBmODQ5ZDPGD01jb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8ZGVub19zZW12ZXI6OnBhY2thZ2\ +U6OlBhY2thZ2VSZXE+OjpoYjhhYjIxYmFjYTY2MTdlYccPWDxhbGxvYzo6dmVjOjppbnRvX2l0ZXI6\ +OkludG9JdGVyPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGM2N2NjNWE1Zj\ +M5NjM3ZTLID1g8YWxsb2M6OnZlYzo6aW50b19pdGVyOjpJbnRvSXRlcjxULEE+IGFzIGNvcmU6Om9w\ +czo6ZHJvcDo6RHJvcD46OmRyb3A6Omg4ZTdmNjQwNGZhYjNkM2NiyQ9YPGFsbG9jOjp2ZWM6OmludG\ +9faXRlcjo6SW50b0l0ZXI8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoM2Zh\ +MTFiOTY4ODcxYWVjOcoPVGhhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6cmVzZX\ +J2ZV9yZWhhc2g6Ont7Y2xvc3VyZX19OjpoNTRhODc2MDc0MjNiOWY5OcsPVGhhc2hicm93bjo6cmF3\ +Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Ont7Y2xvc3VyZX19OjpoMWQyMD\ +g3OTI4OWMzYTA1M8wPMnJlZ2V4X3N5bnRheDo6aXNfbWV0YV9jaGFyYWN0ZXI6OmhmZTJhMmIwMmY3\ +YTZhNDFkzQ9UaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaG\ +FzaDo6e3tjbG9zdXJlfX06OmhmYWM3N2I2MGU4NzYzMGM4zg9UaGFzaGJyb3duOjpyYXc6OmlubmVy\ +OjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6e3tjbG9zdXJlfX06OmhmZDc5NjAwMDFmYT\ +RjOGI3zw9UaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFz\ +aDo6e3tjbG9zdXJlfX06OmhiZGMzZTEzMTRkMWJkOWYz0A9UaGFzaGJyb3duOjpyYXc6OmlubmVyOj\ +pSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6e3tjbG9zdXJlfX06Omg4ZjRjZmQwYjAzNjRj\ +OTk10Q84YWxsb2M6OnZlYzo6VmVjPFQsQT46OmFwcGVuZF9lbGVtZW50czo6aDQ1ZjRlMzJkMGZjZD\ +RlMGXSD148cmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OmJhY2t0cmFjazo6Q29uZmlnIGFz\ +IGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg1OTc5OTk5NzI4MWQ4OTc00w9bPHJlZ2V4X2F1dG9tYX\ +RhOjpuZmE6OnRob21wc29uOjpwaWtldm06OkNvbmZpZyBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10\ +OjpoZWYxMTQ4NmRjZjk5MDFlYdQPT3JlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpjb21waW\ +xlcjo6Q29tcGlsZXI6OmFkZF9lbXB0eTo6aGMxNjRiZTdjNzRjOWQ5NjnVD2U8Y29yZTo6b3BzOjpy\ +YW5nZTo6UmFuZ2U8dXNpemU+IGFzIGNvcmU6OnNsaWNlOjppbmRleDo6U2xpY2VJbmRleDxbVF0+Pj\ +o6aW5kZXhfbXV0OjpoM2Y2MDlmYjRjOTFiZTk2NtYPRnJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpkZXRl\ +cm1pbml6ZTo6c3RhdGU6OndyaXRlX3UzMjo6aDYzMTA4MWMxZmU1MWY1MDLXD1Fjb3JlOjpwdHI6Om\ +Ryb3BfaW5fcGxhY2U8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpDb3JlPjo6aDZlNjYy\ +NjNiNDNjYmQ5MmPYD1s8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpSZXZlcnNlU3VmZm\ +l4IGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg0ZDhiNjI1ZGFjNGM4OGY02Q9UPHJlZ2V4X2F1\ +dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+IGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Om\ +gwNTEzMDIyOTFmY2MyOTQ42g9hPHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpzZWFyY2g6OlBhdHRlcm5T\ +ZXRJbnNlcnRFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNjExNTE4N2U0N2Y3ZTVmZN\ +sPVDxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyBjb3JlOjpmbXQ6OkRl\ +YnVnPjo6Zm10OjpoNmZiMDkzMDkxYjYxOTUzYtwPVDxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYX\ +RlZ3k6OlByZTxQPiBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMDgxMzJjNDMzNzAyYzdlZt0P\ +VDxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyBjb3JlOjpmbXQ6OkRlYn\ +VnPjo6Zm10OjpoNWI4NGVhZDM5YmVkODlkZt4PVDxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRl\ +Z3k6OlByZTxQPiBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNjNhOWMyZjE3M2FjNTY0Md8PVD\ +xyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyBjb3JlOjpmbXQ6OkRlYnVn\ +Pjo6Zm10OjpoMTQ5NTczODQyMWRjZjZjZOAPVDxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3\ +k6OlByZTxQPiBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZjhlOTlmYjkzNGIzNmY0MOEPTGNv\ +cmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9zeW50YXg6OmFzdDo6Q2xhc3NVbmljb2RlPjo6aG\ +U0NWZmNDM5ZDk4YTRiOGLiD1g8YWxsb2M6OnZlYzo6aW50b19pdGVyOjpJbnRvSXRlcjxULEE+IGFz\ +IGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhhZmY4ZGNmNzU4NGE4N2E54w9OPGNvcmU6On\ +N0cjo6ZXJyb3I6OlV0ZjhFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNTMzZGMwMTBm\ +ZWY3MjNmMi4xNDE45A9GcmVnZXhfc3ludGF4OjpoaXI6OmxpdGVyYWw6OlNlcTo6ZGVkdXA6Ont7Y2\ +xvc3VyZX19OjpoMWY0ZDIzMDMwZGI0MDYwYuUPSjxhbGxvYzo6c3RyaW5nOjpGcm9tVXRmOEVycm9y\ +IGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhmYzEwMjc2Y2QwMjhiY2Vm5g9AcmVnZXhfc3ludG\ +F4OjpoaXI6OmxpdGVyYWw6OlNlcTo6bWFrZV9pbmV4YWN0OjpoOWUzOGYwNzJhYTAzNjQ2MucPUDxz\ +ZXJkZV9qc29uOjpyZWFkOjpTbGljZVJlYWQgYXMgc2VyZGVfanNvbjo6cmVhZDo6UmVhZD46Om5leH\ +Q6OmhjZjFiOWFiZWFkOThmMGFm6A+HAXdhc21fYmluZGdlbjo6Y29udmVydDo6c2xpY2VzOjo8aW1w\ +bCB3YXNtX2JpbmRnZW46OmNvbnZlcnQ6OnRyYWl0czo6RnJvbVdhc21BYmkgZm9yIGFsbG9jOjpzdH\ +Jpbmc6OlN0cmluZz46OmZyb21fYWJpOjpoNmVkMzU0MTEzOGYxNmVlZukPOGFsbG9jOjpyYXdfdmVj\ +OjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6OmgxNGNiNjU4MTFlYTcwZDQ26g84YWxsb2M6OnJhd192ZW\ +M6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aGQ4YjY5NDVkNWU5MmNmNTbrD0k8YWxsb2M6OmJveGVk\ +OjpCb3g8VD4gYXMgY29yZTo6Y29udmVydDo6RnJvbTxUPj46OmZyb206OmhlMWRmMTkzMWMyNzg1NW\ +Nm7A+yATxkZW5vX2NvbmZpZzo6ZGVub19qc29uOjpfOjo8aW1wbCBzZXJkZTo6ZGU6OkRlc2VyaWFs\ +aXplIGZvciBkZW5vX2NvbmZpZzo6ZGVub19qc29uOjpMb2NrQ29uZmlnPjo6ZGVzZXJpYWxpemU6Ol\ +9fRmllbGRWaXNpdG9yIGFzIHNlcmRlOjpkZTo6VmlzaXRvcj46OnZpc2l0X3N0cjo6aDA1NGNjZDE4\ +MTliZTkwZTDtDyljb3JlOjpwYW5pY2tpbmc6OnBhbmljOjpoY2FjYTI1OThhMjdlYzBmY+4POGFsbG\ +9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbmU6OmgzZWQzM2EyODM2MjQzNzll7w9SY29y\ +ZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFob19jb3Jhc2ljazo6bmZhOjpub25jb250aWd1b3VzOjpORk\ +E+OjpoMGJiNzU4OTZiY2EzMzZjMPAPbjxhaG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91czo6\ +TkZBIGFzIGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+OjptZW1vcnlfdXNhZ2U6Om\ +gyZmM4MjZlZmFhZGQ5OTg48Q89YWhvX2NvcmFzaWNrOjp1dGlsOjplcnJvcjo6TWF0Y2hFcnJvcjo6\ +bmV3OjpoZjJjMmEwMDAyZjY0OWQzOPIPImNvcmU6Om1lbTo6c3dhcDo6aDBhZGNjYTI1MDhhOTBkNW\ +LzDzhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoMTQyMGE5OGJjZGE5MGE0\ +ZvQPMmNvcmU6Om9wdGlvbjo6T3B0aW9uPFQ+OjptYXBfb3I6OmgyYTY0MDZhNjU5MzRkYWJj9Q84YW\ +xsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aGI0MWM4ZjMzMjZjODM0MzT2Dzhh\ +bGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoNzAzMDVkMGU4MmY0NzAyMvcPV2\ +hhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+OjpmaW5kX29yX2ZpbmRfaW5zZXJ0X3Nsb3Q6Ont7\ +Y2xvc3VyZX19OjpoOWM4ZjFjOTBmZjgwOTczN/gPL2NvcmU6OmludHJpbnNpY3M6OnR5cGVkX3N3YX\ +A6OmgxMjZkMmQzNzBmZjA5NWQ1+Q+yATxkZW5vX2xvY2tmaWxlOjpfOjo8aW1wbCBzZXJkZTo6ZGU6\ +OkRlc2VyaWFsaXplIGZvciBkZW5vX2xvY2tmaWxlOjpXb3Jrc3BhY2VNZW1iZXJDb25maWdDb250ZW\ +50Pjo6ZGVzZXJpYWxpemU6Ol9fRmllbGRWaXNpdG9yIGFzIHNlcmRlOjpkZTo6VmlzaXRvcj46OnZp\ +c2l0X3N0cjo6aDhjY2U2ZGNkMzQwZTVhOWX6D98BPGRlbm9fbG9ja2ZpbGU6OkxvY2tmaWxlQ29udG\ +VudDo6ZnJvbV9qc29uOjpfOjo8aW1wbCBzZXJkZTo6ZGU6OkRlc2VyaWFsaXplIGZvciBkZW5vX2xv\ +Y2tmaWxlOjpMb2NrZmlsZUNvbnRlbnQ6OmZyb21fanNvbjo6UmF3SnNyUGFja2FnZUluZm8+OjpkZX\ +NlcmlhbGl6ZTo6X19GaWVsZFZpc2l0b3IgYXMgc2VyZGU6OmRlOjpWaXNpdG9yPjo6dmlzaXRfc3Ry\ +OjpoYmI4NmM2OGY1NTlmNmRmOPsPOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6Z3Jvd19vbm\ +U6OmgxMDc2ZWFjNmQ0NDkzMzRm/A8zYWxsb2M6OnN5bmM6OkFyYzxULEE+Ojpkcm9wX3Nsb3c6Omg0\ +MjFiZDhiNTBlOGQwM2E1/Q9RY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X2F1dG9tYXRhOj\ +ptZXRhOjpyZWdleDo6QnVpbGRlcj46OmgwNDkwMjM3YTk5NTY0ZjNj/g84YWxsb2M6OnJhd192ZWM6\ +OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDhhYjhjYTVhNmFiM2IzNjb/D1F1bmljb2RlX25vcm1hbG\ +l6YXRpb246OmRlY29tcG9zZTo6RGVjb21wb3NpdGlvbnM8ST46OnB1c2hfYmFjazo6aGVlMjVjZjcz\ +OGQ0ZmNhN2SAEFF1bmljb2RlX25vcm1hbGl6YXRpb246OmRlY29tcG9zZTo6RGVjb21wb3NpdGlvbn\ +M8ST46OnB1c2hfYmFjazo6aDM3ZDE5ZDg5NGZiYzY4YzKBEDhhbGxvYzo6cmF3X3ZlYzo6UmF3VmVj\ +PFQsQT46Omdyb3dfb25lOjpoMzYyMWUyZTk2M2JhNTQ3NYIQRGNvcmU6OmNoYXI6Om1ldGhvZHM6Oj\ +xpbXBsIGNoYXI+Ojppc19hbHBoYW51bWVyaWM6OmgwNzU3Mjc4YWMyODEyZjJigxBBanNvbmNfcGFy\ +c2VyOjpwYXJzZV90b19hc3Q6OkNvbnRleHQ6OmVuZF9yYW5nZTo6aDczOGMwODk1NWM3ZTE1MzmEED\ +hhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoYzhlMTYxZDVlYTIyMDg2ZIUQ\ +Pm1lbWNocjo6bWVtbWVtOjpzZWFyY2hlcjo6UHJlOjppc19lZmZlY3RpdmU6OmgxZWY3ZmUyZmY2OW\ +YyNWZjhhA4YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDkxZTlkMjA3OWZh\ +ZGE0ZDCHEGg8Y29yZTo6aXRlcjo6YWRhcHRlcnM6Om1hcDo6TWFwPEksRj4gYXMgY29yZTo6aXRlcj\ +o6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoMmEyNGMzOGFkOWFiNmZkM4gQV2hh\ +c2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+OjpmaW5kX29yX2ZpbmRfaW5zZXJ0X3Nsb3Q6Ont7Y2\ +xvc3VyZX19OjpoY2JiNGViOGNlMDc5ZGZjNIkQV2hhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+\ +OjpmaW5kX29yX2ZpbmRfaW5zZXJ0X3Nsb3Q6Ont7Y2xvc3VyZX19OjpoZDFlMmNmNDVmMThiMzEyM4\ +oQQHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpjYXB0dXJlczo6Q2FwdHVyZXM6OmFsbDo6aDUyNGI1NGJj\ +YzYxZTI0NTiLEDVjb3JlOjpyZXN1bHQ6OlJlc3VsdDxULEU+OjptYXBfZXJyOjpoNGQ5NWVmZmVjYz\ +M0N2JiMIwQNWNvcmU6OnJlc3VsdDo6UmVzdWx0PFQsRT46Om1hcF9lcnI6OmgxZjJmMmUwNTUzZGFk\ +MjU5jRAiY29yZTo6bWVtOjpzd2FwOjpoNGI1MjkzYzllMGI2MTQ0YY4QS3JlZ2V4X2F1dG9tYXRhOj\ +puZmE6OnRob21wc29uOjpwaWtldm06OkFjdGl2ZVN0YXRlczo6bmV3OjpoNTk3MmY5MDkzZTM0YWM3\ +NI8QfTxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjpieXRlc2V0OjpCeXRlU2V0IGFzIH\ +JlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OlByZWZpbHRlckk+OjpwcmVmaXg6OmhjZmY1\ +N2ViZGRjMTk5OGMzkBBMY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X3N5bnRheDo6YXN0Oj\ +pDbGFzc1NldEl0ZW0+OjpoYjg2NGFkMDgxYjRkZmVmN5EQOGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8\ +VCxBPjo6Z3Jvd19vbmU6OmgzMWEwMjY5MDNmZGZmZDdjkhBFY29yZTo6cHRyOjpkcm9wX2luX3BsYW\ +NlPHJlZ2V4X3N5bnRheDo6YXN0OjpHcm91cD46OmgzNTM5MWE3YzQ5MzZmODIzkxAwcmVnZXhfc3lu\ +dGF4Ojphc3Q6OkFzdDo6ZW1wdHk6OmgwMmVhY2RkMzRjODM0ZmE1lBA4YWxsb2M6OnJhd192ZWM6Ol\ +Jhd1ZlYzxULEE+Ojpncm93X29uZTo6aDYzMjMyNTk0YjY3OGZhYmaVEDhhbGxvYzo6cmF3X3ZlYzo6\ +UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoYmVmOTFkNGZkNDg1YjE4MpYQOHJ5dTo6ZDJzX2ludHJpbn\ +NpY3M6Om11bF9zaGlmdF9hbGxfNjQ6Omg1ZTcxZjEwMzllMGFlMDI0lxA4YWxsb2M6OnJhd192ZWM6\ +OlJhd1ZlYzxULEE+Ojpncm93X29uZTo6aDQ0NjgzMjBkYjhkOTFkYzCYEFQ8c2VyZGVfanNvbjo6cm\ +VhZDo6U2xpY2VSZWFkIGFzIHNlcmRlX2pzb246OnJlYWQ6OlJlYWQ+Ojpwb3NpdGlvbjo6aGU4MGY2\ +MzZjZmUyMzhlNzGZECh1cmw6OlVybDo6c2NoZW1lOjpoOTMzNmMzYmEwYzk5ZWYzOS4yMjExmhA4ZG\ +Vub19jb25maWc6OmZzOjpEZW5vQ29uZmlnRnM6OmV4aXN0czo6aGI1YjY5ZjAzNWZkODZiMTObEE5h\ +bGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnJlc2VydmU6OmRvX3Jlc2VydmVfYW5kX2hhbmRsZT\ +o6aDNhMWVkMDc4ZGFkNTdjNTmcEDA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDc2YTQ4\ +NjUwYzYxN2EyNWOdEEZhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpMZWFmTm9kZTxLLF\ +Y+OjpuZXc6OmgzZDg2YTY2MjlmZDUwZTg3nhBKYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9k\ +ZTo6SW50ZXJuYWxOb2RlPEssVj46Om5ldzo6aDE2ODdlYmYzMzAwOWY0ZmGfEP4BYWxsb2M6OmNvbG\ +xlY3Rpb25zOjpidHJlZTo6bm9kZTo6SGFuZGxlPGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5v\ +ZGU6Ok5vZGVSZWY8YWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpNdXQsSy\ +xWLGFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6TGVhZj4sYWxsb2M6OmNv\ +bGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bWFya2VyOjpFZGdlPjo6aW5zZXJ0X2ZpdDo6aDAxMDEzYT\ +M1Nzk5Y2NlMDagEE5hbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnJlc2VydmU6OmRvX3Jlc2Vy\ +dmVfYW5kX2hhbmRsZTo6aDAwMzgzODAzZmQyNDRiMzGhEFVhaG9fY29yYXNpY2s6OnV0aWw6OnByZW\ +ZpbHRlcjo6UmFyZUJ5dGVzQnVpbGRlcjo6YWRkX29uZV9yYXJlX2J5dGU6OmhkMWFkYmZjZjMyNzEz\ +MTBhohAqdXJsOjpVcmw6Omhhc19hdXRob3JpdHk6Omg4YTVjZjUwM2E0N2Y2ODRjoxAidXJsOjpVcm\ +w6OnNsaWNlOjpoYTZjNWQ3NjU0YzllMDJiMqQQMWNvcmU6OnB0cjo6c3dhcF9ub25vdmVybGFwcGlu\ +Zzo6aGRjMWUzOGJlY2MzNGUyNGGlEE5hbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnJlc2Vydm\ +U6OmRvX3Jlc2VydmVfYW5kX2hhbmRsZTo6aDlkZDY5MTE1YjdkMDVmYzSmEE5hbGxvYzo6cmF3X3Zl\ +Yzo6UmF3VmVjPFQsQT46OnJlc2VydmU6OmRvX3Jlc2VydmVfYW5kX2hhbmRsZTo6aDYwYmFiMTUwND\ +czMjc5NzWnEHU8Y29yZTo6aXRlcjo6YWRhcHRlcnM6OmZpbHRlcl9tYXA6OkZpbHRlck1hcDxJLEY+\ +IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aGU2YmFhOT\ +FlNmFkM2JiYWGoEEZhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpMZWFmTm9kZTxLLFY+\ +OjpuZXc6Omg2OWFkNTgwMDY5MTZmZjM2qRBKYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZT\ +o6SW50ZXJuYWxOb2RlPEssVj46Om5ldzo6aDk0YjQzN2I3ZDczMGI2NTKqEDhhbGxvYzo6cmF3X3Zl\ +Yzo6UmF3VmVjPFQsQT46Omdyb3dfb25lOjpoNzU0YTlkMmQ1YzFjM2Q0ZqsQTWhhc2hicm93bjo6cm\ +F3OjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6e3tjbG9zdXJlfX06Omg3ZmNhODk5MDBl\ +ZTMwNDYxrBBNaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlPFQsQT46OnJlc2VydmVfcmVoYXNoOjp7e2\ +Nsb3N1cmV9fTo6aGFiZDRlOGQyNzdiNWQ1ZjOtEE1oYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxB\ +Pjo6cmVzZXJ2ZV9yZWhhc2g6Ont7Y2xvc3VyZX19OjpoNWVmZmI5MGFkNTkxZDVhZa4QRmFsbG9jOj\ +pjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6OkxlYWZOb2RlPEssVj46Om5ldzo6aDUxOGU4NmE0ODgz\ +MDg5YzWvEEZhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpMZWFmTm9kZTxLLFY+OjpuZX\ +c6Omg2MWUyYzhjYjhkYmJhMmY3sBBKYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6SW50\ +ZXJuYWxOb2RlPEssVj46Om5ldzo6aDQ0Yjc2ODk1ZTY5MTVhMjOxEEZhbGxvYzo6Y29sbGVjdGlvbn\ +M6OmJ0cmVlOjpub2RlOjpMZWFmTm9kZTxLLFY+OjpuZXc6OmgzMGY3ZGM0ZjljMzlmNDA2shBKYWxs\ +b2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6SW50ZXJuYWxOb2RlPEssVj46Om5ldzo6aDBkYj\ +Y3YWI0Zjk2NjYxZTWzEEphbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpJbnRlcm5hbE5v\ +ZGU8SyxWPjo6bmV3OjpoOGI4ZmRhNWQzMWViNzM1MrQQRmFsbG9jOjpjb2xsZWN0aW9uczo6YnRyZW\ +U6Om5vZGU6OkxlYWZOb2RlPEssVj46Om5ldzo6aDFlOWIzNDFkNWRjNzE1MmS1EEphbGxvYzo6Y29s\ +bGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpJbnRlcm5hbE5vZGU8SyxWPjo6bmV3OjpoNjJiMGYwNTU1MD\ +g0ZDI5ZrYQTWhhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6e3tj\ +bG9zdXJlfX06OmhkODA3NmM5MjNjNmVmMTE5txBOYWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Oj\ +pyZXNlcnZlOjpkb19yZXNlcnZlX2FuZF9oYW5kbGU6Omg5MmQ3OWZlNTRiNDQxMzJjuBBOYWxsb2M6\ +OnJhd192ZWM6OlJhd1ZlYzxULEE+OjpyZXNlcnZlOjpkb19yZXNlcnZlX2FuZF9oYW5kbGU6OmhiZG\ +QwYzA2ZDU0YWRiNmIxuRAuc3RkOjppbzo6ZXJyb3I6OkVycm9yOjpfbmV3OjpoOGJjMTNlZTE5YmY0\ +NWM2MLoQTmFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6cmVzZXJ2ZTo6ZG9fcmVzZXJ2ZV9hbm\ +RfaGFuZGxlOjpoOWRjZDg0NGZhNTE5YmQzOLsQTmFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPjo6\ +cmVzZXJ2ZTo6ZG9fcmVzZXJ2ZV9hbmRfaGFuZGxlOjpoOGY5Mjg5ODFhOTU1YjgxMLwQTmFsbG9jOj\ +pyYXdfdmVjOjpSYXdWZWM8VCxBPjo6cmVzZXJ2ZTo6ZG9fcmVzZXJ2ZV9hbmRfaGFuZGxlOjpoMDVm\ +MmVlODllZmRmMjQ1ZL0QQnJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmltaXRpdmVzOjpTdGF0ZUlEOj\ +ptdXN0OjpoMTlkZDIyNmI2YzU3MDBiOL4QVHJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpi\ +dWlsZGVyOjpCdWlsZGVyOjpjaGVja19zaXplX2xpbWl0OjpoYTdmN2E4MTA5ZTc5MGFlZb8QTnJlZ2\ +V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpidWlsZGVyOjpCdWlsZGVyOjphZGRfc3BhcnNlOjpo\ +MmNjNWVmYjlmZjE5MTE1ZcAQTXJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpidWlsZGVyOj\ +pCdWlsZGVyOjphZGRfdW5pb246Omg3ZGRiOWM3MmNhMGE0OWRiwRA3YWxsb2M6OnZlYzo6VmVjPFQs\ +QT46OmV4dGVuZF90cnVzdGVkOjpoNmVmMzFmMTEyNTkyZjUwM8IQSHJlZ2V4X2F1dG9tYXRhOjp1dG\ +lsOjpzcGFyc2Vfc2V0OjpTcGFyc2VTZXQ6OmNvbnRhaW5zOjpoMTcxZWFiMTYxOWE2MTAzN8MQRXJl\ +Z2V4X2F1dG9tYXRhOjp1dGlsOjpsb29rOjpMb29rTWF0Y2hlcjo6aXNfZW5kX2xmOjpoMzkwMjU2Mz\ +QyMWI4YjM5OcQQVXJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpuZmE6OkRlbnNlVHJhbnNp\ +dGlvbnM6Om1hdGNoZXNfYnl0ZTo6aGQ5YmEwYTNmMmI5ZjNiNzfFEFU8YWxsb2M6OnZlYzo6VmVjPF\ +QsQT4gYXMgY29yZTo6b3BzOjppbmRleDo6SW5kZXhNdXQ8ST4+OjppbmRleF9tdXQ6OmhhMzljOWJk\ +YTBlODc5ZDRhxhB7PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZUlubmVyIG\ +FzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjptZW1vcnlfdXNhZ2U6\ +OmhiYzc0MTM3ZDkzMGMzMmU2xxB7PHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6Om1lbW\ +Nocjo6TWVtY2hyIGFzIHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OlByZWZpbHRlckk+\ +OjpwcmVmaXg6Omg0YTFiMjA1MDliZDU3ZWMyyBBOYWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+Oj\ +pyZXNlcnZlOjpkb19yZXNlcnZlX2FuZF9oYW5kbGU6Omg0ODE2MmExYzZhNmYzOTJhyRBCcmVnZXhf\ +c3ludGF4OjpoaXI6OnRyYW5zbGF0ZTo6VHJhbnNsYXRvckk6OnB1c2g6OmhlOWU2YWQxOWQ2OWYzOG\ +QwyhBKPGNoYXIgYXMgcmVnZXhfc3ludGF4OjpoaXI6OmludGVydmFsOjpCb3VuZD46OmluY3JlbWVu\ +dDo6aGM0NGMwZDdmNzYyNzY3NmTLEE88YWxsb2M6OnN0cmluZzo6U3RyaW5nIGFzIGNvcmU6Om9wcz\ +o6aW5kZXg6OkluZGV4PEk+Pjo6aW5kZXg6OmgyNjRmMGUzYzAzZWNlOTM4zBCVAWNvcmU6OnB0cjo6\ +ZHJvcF9pbl9wbGFjZTxhbGxvYzo6dmVjOjpWZWM8KGFsbG9jOjpyYzo6UmM8dXJsOjpVcmw+LGRlbm\ +9fY29uZmlnOjp3b3Jrc3BhY2U6OnJlc29sdmVyOjpQa2dKc29uUmVzb2x2ZXJGb2xkZXJDb25maWcp\ +Pj46OmgwMDI3Y2I0NTkzOGI3OGI3zRBZY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGRlbm9fc2Vtdm\ +VyOjpqc3I6OkpzckRlcFBhY2thZ2VSZXFQYXJzZUVycm9yPjo6aDc3NjgyZmE4ZDRlNmU1YzPOEDVj\ +b3JlOjpzdHI6OjxpbXBsIHN0cj46OnN0YXJ0c193aXRoOjpoM2Q3YTc1M2M2YWU3NjhiNM8QM2Nvcm\ +U6OnN0cjo6PGltcGwgc3RyPjo6ZW5kc193aXRoOjpoZjA1YTU1MzBlMjViZDA2OdAQbDxjb3JlOjpp\ +dGVyOjphZGFwdGVyczo6Y29waWVkOjpDb3BpZWQ8ST4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdG\ +VyYXRvcjo6SXRlcmF0b3I+OjpuZXh0OjpoZDdhYjNmNDcyZGRkN2M0ONEQOWNvcmU6OmVzY2FwZTo6\ +RXNjYXBlSXRlcklubmVyPF8+OjpuZXh0OjpoMDVjZTBkNzAwNGM0OTlmZNIQVGFob19jb3Jhc2ljaz\ +o6ZGZhOjpCdWlsZGVyOjpmaW5pc2hfYnVpbGRfYm90aF9zdGFydHM6Ont7Y2xvc3VyZX19OjpoZGZk\ +ZDk0ZTViYTBhYTlhMNMQTjxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmluZGV4Oj\ +pJbmRleDxJPj46OmluZGV4OjpoNjA4ZTQyZmZlNTYwNjY2ZdQQLWFsbG9jOjp2ZWM6OlZlYzxULEE+\ +OjpwdXNoOjpoY2M1NWE5OTllMzRhMTdmMdUQQ21lbWNocjo6bWVtbWVtOjpzZWFyY2hlcjo6c2Vhcm\ +NoZXJfa2luZF9vbmVfYnl0ZTo6aGI4MzIyN2FiMTM3YjE3ZWPWEFs8Y29yZTo6c3RyOjppdGVyOjpC\ +eXRlcyBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6OmgwMT\ +cwNmE5YjJiN2U4YjRm1xBDY29yZTo6Zm10OjpGb3JtYXR0ZXI6OnBhZF9pbnRlZ3JhbDo6d3JpdGVf\ +cHJlZml4OjpoZDBkOTZhMWM2OTJkZWMxOdgQbDxjb3JlOjppdGVyOjphZGFwdGVyczo6Y2xvbmVkOj\ +pDbG9uZWQ8ST4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3I+OjpuZXh0\ +OjpoMmY2ZTg1Mjc0YmE1OTM0ZdkQfWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxvYzo6dmVjOj\ +pWZWM8KGFsbG9jOjpyYzo6UmM8dXJsOjpVcmw+LGRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6OkZvbGRl\ +ckNvbmZpZ3MpPj46OmgxOWYxZWNkNzMwMzc0ZmFl2hBFY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPG\ +pzb25jX3BhcnNlcjo6YXN0OjpWYWx1ZT46Omg2MzUzOGNjODAwZjcxY2Mx2xBcY29yZTo6cHRyOjpk\ +cm9wX2luX3BsYWNlPGFsbG9jOjp2ZWM6OlZlYzxkZW5vX2NvbmZpZzo6Z2xvYjo6R2xvYlBhdHRlcm\ +4+Pjo6aGZhYWUzMWFmYzgxNmE0MDTcEFdoYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPjo6Zmlu\ +ZF9vcl9maW5kX2luc2VydF9zbG90Ojp7e2Nsb3N1cmV9fTo6aDQ5NmVmZTM5NjUzNWE1YjDdEE5hbG\ +xvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT46OnJlc2VydmU6OmRvX3Jlc2VydmVfYW5kX2hhbmRsZTo6\ +aDI3NDUwODlhMzgwZjUwNDDeEI0BY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9jOjp2ZWM6Ol\ +ZlYzwoc2VyZGU6Ol9fcHJpdmF0ZTo6ZGU6OmNvbnRlbnQ6OkNvbnRlbnQsc2VyZGU6Ol9fcHJpdmF0\ +ZTo6ZGU6OmNvbnRlbnQ6OkNvbnRlbnQpPj46OmhhNzVkZjllZmFhNjRiMWVm3xBkY29yZTo6cHRyOj\ +pkcm9wX2luX3BsYWNlPGFsbG9jOjp2ZWM6OlZlYzxzZXJkZTo6X19wcml2YXRlOjpkZTo6Y29udGVu\ +dDo6Q29udGVudD4+OjpoM2E3ZTAxM2U2M2VjZjhmZuAQLWFsbG9jOjp2ZWM6OlZlYzxULEE+OjpwdX\ +NoOjpoNjgzMThkN2JkNmM0NDFjY+EQXmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxvYzo6dmVj\ +OjpWZWM8ZGVub19zZW12ZXI6Om5wbTo6UmFuZ2VPckludmFsaWQ+Pjo6aDYyMTQ1ZTFiODQzYTZlYj\ +HiEDRjb3JlOjpoYXNoOjpCdWlsZEhhc2hlcjo6aGFzaF9vbmU6OmgxZjRmZjY1NjU1Y2Y0ZWVm4xA0\ +Y29yZTo6aGFzaDo6QnVpbGRIYXNoZXI6Omhhc2hfb25lOjpoZDdhOTY2ZDViNGQ2YmYxNuQQSGdsb2\ +JzZXQ6Omdsb2I6OlBhcnNlcjo6cGFyc2VfY2xhc3M6OmFkZF90b19sYXN0X3JhbmdlOjpoOGVhZWYy\ +ZDQwMTU5OWJhNeUQZzxjb3JlOjpvcHM6OnJhbmdlOjpSYW5nZVRvPHVzaXplPiBhcyBjb3JlOjpzbG\ +ljZTo6aW5kZXg6OlNsaWNlSW5kZXg8W1RdPj46OmluZGV4X211dDo6aDg0NDRhYjg3MGRhNzJhN2Tm\ +EC1hbGxvYzo6dmVjOjpWZWM8VCxBPjo6cHVzaDo6aDJkZWI1Y2YxMWU1ZDViYmXnEE88YWxsb2M6On\ +N0cmluZzo6U3RyaW5nIGFzIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4PEk+Pjo6aW5kZXg6OmgwYTY2\ +MGMyN2FmMDdhYWNi6BAtYWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6OmgwNGUyNThlNmY5YmQxOT\ +Zm6RAvY29yZTo6c3RyOjo8aW1wbCBzdHI+OjpyZmluZDo6aDAxYzg5NTgyMTg0MDUxYmPqEC1hbGxv\ +Yzo6dmVjOjpWZWM8VCxBPjo6cHVzaDo6aGRhZjM5NzA4Y2JlYTkwYTjrEE5yZWdleF9hdXRvbWF0YT\ +o6bmZhOjp0aG9tcHNvbjo6cmFuZ2VfdHJpZTo6TmV4dEluc2VydDo6cHVzaDo6aGU2OGEzYmQ5MDFl\ +YjYxYjnsEEdyZWdleF9hdXRvbWF0YTo6dXRpbDo6bG9vazo6TG9va01hdGNoZXI6OmlzX3N0YXJ0X2\ +xmOjpoY2MxMjMwNmU0ZmMwNWI4Mu0QPHJlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6QnVpbGRl\ +cjo6bmV3OjpoMjRmYjgyNjI3YTFlMjU4Ze4QLWFsbG9jOjp2ZWM6OlZlYzxULEE+OjpwdXNoOjpoM2\ +RlNTBjMGRlYWE2ODhkMu8QSnJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpzdGFydDo6Q29uZmlnOjpmcm9t\ +X2lucHV0X3JldmVyc2U6OmgxM2M0OWNmNDYxYjFhMWJh8BAtYWxsb2M6OnZlYzo6VmVjPFQsQT46On\ +B1c2g6Omg5ZGFiMTYyZWFjZWYxOTY38RBDcmVnZXhfc3ludGF4OjpoaXI6OnRyYW5zbGF0ZTo6VHJh\ +bnNsYXRvckk6OmVycm9yOjpoMTk4ODViOTY5YWI1OGMwY/IQLWFsbG9jOjp2ZWM6OlZlYzxULEE+Oj\ +pwdXNoOjpoODg0MjY5NjIxOWM2OWM3YfMQLWFsbG9jOjp2ZWM6OlZlYzxULEE+OjpwdXNoOjpoMGFk\ +OTZkMzk2MmRjZjRiMfQQR3JlZ2V4X3N5bnRheDo6aGlyOjppbnRlcnZhbDo6SW50ZXJ2YWw6OmlzX2\ +NvbnRpZ3VvdXM6OmgyZmZiYWRmOWExMTIxNjk29RA6cmVnZXhfc3ludGF4Ojp1dGY4OjpVdGY4U2Vx\ +dWVuY2VzOjpwdXNoOjpoYTJmNmE2MDU5OTE0NDdlY/YQVGhhc2hicm93bjo6cmF3Ojppbm5lcjo6Um\ +F3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Ont7Y2xvc3VyZX19OjpoOTRiM2EwODk5MjQ4ZTFi\ +YfcQSDxjb3JlOjpvcHRpb246Ok9wdGlvbjxUPiBhcyBjb3JlOjpjbXA6OlBhcnRpYWxFcT46OmVxOj\ +poMjg2MmVlMTRjMGYxMDA3NPgQInVybDo6VXJsOjpzbGljZTo6aGJmNWNhNjdmMzk5MzkzNTL5ECJ1\ +cmw6OlVybDo6c2xpY2U6Omg5MWY2N2M0YjllMGQwZmI4+hBPPGFsbG9jOjpzdHJpbmc6OlN0cmluZy\ +BhcyBjb3JlOjpvcHM6OmluZGV4OjpJbmRleDxJPj46OmluZGV4OjpoODNjMjdkYTc5YTA0OTBhZfsQ\ +RWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxzZXJkZV9qc29uOjp2YWx1ZTo6VmFsdWU+OjpoYWYxM2\ +EyYzFhODFlMGNkM/wQOHNlcmRlX3dhc21fYmluZGdlbjo6ZXJyb3I6OkVycm9yOjpuZXc6OmhiOTUx\ +Y2RhMWQyZjhkZDZj/RBDPGFsbG9jOjpyYzo6UmM8VCxBPiBhcyBjb3JlOjpjbXA6OlBhcnRpYWxFcT\ +46Om5lOjpoYmNmMmMzZGEzYzQ0NzA0Y/4QUDxhbGxvYzo6YWxsb2M6Okdsb2JhbCBhcyBjb3JlOjph\ +bGxvYzo6QWxsb2NhdG9yPjo6YWxsb2NhdGU6Omg1ZmI4ZmVjNDU4NjNiOWQwLjEx/xAvY29yZTo6Zm\ +10OjpXcml0ZTo6d3JpdGVfY2hhcjo6aGY0ZGVmY2VjZjEzYjBiYTeAEVRjb3JlOjpwdHI6OmRyb3Bf\ +aW5fcGxhY2U8ZGVub19wYWNrYWdlX2pzb246OlBhY2thZ2VKc29uTG9hZEVycm9yPjo6aGQ3YTNjYz\ +djNTU0OThmZDKBEUg8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9w\ +Pjo6ZHJvcDo6aDljMTI0NWY2MjY2OWEzOTSCES9jb3JlOjpmbXQ6OldyaXRlOjp3cml0ZV9jaGFyOj\ +poOTQ0NWZlNjg5YTkwMDNmZoMRRzxhbGxvYzo6Ym9ycm93OjpDb3c8Qj4gYXMgY29yZTo6Y2xvbmU6\ +OkNsb25lPjo6Y2xvbmU6OmhkOTQwZDZlMzE4Yjk1ZWZihBEyYW55aG93OjplcnJvcjo6Y29udGV4dF\ +9kb3duY2FzdDo6aGYzNmNiYjFlNDAzZGJjOGOFETNhbGxvYzo6c3luYzo6QXJjPFQsQT46OmRyb3Bf\ +c2xvdzo6aDgyNTg1NzEzMmVhZTJhMGaGEUs8YW55aG93OjplcnJvcjo6RXJyb3JJbXBsPEU+IGFzIG\ +NvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aDBlYTYxMjdiNzE4ZWU3OWSHEU1oYXNoYnJvd246OnJh\ +dzo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Ont7Y2xvc3VyZX19OjpoZjllYzEwNjgzNW\ +M1NGIxOIgRTWhhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6e3tj\ +bG9zdXJlfX06OmhlNDdiMTk1MmJmZTFjZGEyiRFFY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHNlcm\ +RlX2pzb246OnZhbHVlOjpWYWx1ZT46OmgzNzE2NjIyYWM0NWY4YTRmihFNaGFzaGJyb3duOjpyYXc6\ +OlJhd1RhYmxlPFQsQT46OnJlc2VydmVfcmVoYXNoOjp7e2Nsb3N1cmV9fTo6aDM3YzkzZDdiYzhlYT\ +c0ZDGLEU1oYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Ont7Y2xv\ +c3VyZX19OjpoMThjMjZmMTZkYzNjOTcxOYwRRWhhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibG\ +VJbm5lcjo6ZnJlZV9idWNrZXRzOjpoNDhmYjdlNjExNWJhMDc5OI0RRjxnbG9ic2V0OjpmbnY6Okhh\ +c2hlciBhcyBjb3JlOjpoYXNoOjpIYXNoZXI+Ojp3cml0ZTo6aDllYjZjNDMwMjc4ZTI1N2KOETBnbG\ +9ic2V0OjpMaXRlcmFsU3RyYXRlZ3k6OmFkZDo6aDMxNTJlZTBmNjU5MTgzNTGPEU1oYXNoYnJvd246\ +OnJhdzo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Ont7Y2xvc3VyZX19OjpoN2E2YzhjMz\ +M2ODdmYmExZpARRWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxzZXJkZV9qc29uOjplcnJvcjo6RXJy\ +b3I+OjpoYWI3OTU2Yzc0NjBhZDhjYpERVmpzb25jX3BhcnNlcjo6cGFyc2VfdG9fYXN0OjpDb250ZX\ +h0OjpjcmVhdGVfZXJyb3JfZm9yX2N1cnJlbnRfcmFuZ2U6OmhmYjNjMTkwMmRlM2UwNDg1khEwPCZU\ +IGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg5NjgyZmRmZjJhNzAxMzAxkxEzYWxsb2M6OnN5bm\ +M6OkFyYzxULEE+Ojpkcm9wX3Nsb3c6Omg2MjhmNTI5NGY1NTMxMzA0lBFsPHJlZ2V4X2F1dG9tYXRh\ +OjpkZmE6Om9uZXBhc3M6OlNsb3RzSXRlciBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOj\ +pJdGVyYXRvcj46Om5leHQ6OmgzZDIzNGE4ZDg5MjRhMTg5lRFaY29yZTo6cHRyOjpkcm9wX2luX3Bs\ +YWNlPHJlZ2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpidWlsZGVyOjpTdGF0ZT46OmhlZTU5MT\ +U4NTg0MTBlMWI4lhFNaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlPFQsQT46OnJlc2VydmVfcmVoYXNo\ +Ojp7e2Nsb3N1cmV9fTo6aDUwMWU0OWVmNGNiODQyZjaXEU1oYXNoYnJvd246OnJhdzo6UmF3VGFibG\ +U8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Ont7Y2xvc3VyZX19OjpoZTY1MDk1NTg0YmQyYjY1ZpgRSXJl\ +Z2V4X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpuZmE6Ok5GQTo6c3RhcnRfcGF0dGVybjo6aDJlOD\ +kwYjg3NmQ0MmY4YzCZEVdyZWdleF9hdXRvbWF0YTo6dXRpbDo6bG9vazo6TG9va01hdGNoZXI6OmFk\ +ZF90b19ieXRlc2V0Ojp7e2Nsb3N1cmV9fTo6aDQyNGFmYmE3ZWVkYTFlZWSaEURyZWdleF9hdXRvbW\ +F0YTo6dXRpbDo6c3BhcnNlX3NldDo6U3BhcnNlU2V0OjppdGVyOjpoMmZiMjdkYjQ2M2I5ZjM5N5sR\ +Q3JlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OlByZWZpbHRlcjo6ZmluZDo6aDVlMTI0Yz\ +A2ZDg0NzliOWScEVRyZWdleF9hdXRvbWF0YTo6dXRpbDo6bG9vazo6TG9va01hdGNoZXI6OmlzX3dv\ +cmRfc3RhcnRfaGFsZl9hc2NpaTo6aGUwZTJmNDRmODkxYzUwYTmdEUVyZWdleF9hdXRvbWF0YTo6bW\ +V0YTo6d3JhcHBlcnM6Okh5YnJpZENhY2hlOjpyZXNldDo6aDNjNWNhOTc3NWI4YmNlZDaeETA8JlQg\ +YXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDQ3ZTVlZjBiZTk5NDk0ZTifEU48YWxsb2M6OnZlYz\ +o6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjppbmRleDo6SW5kZXg8ST4+OjppbmRleDo6aDI1ZjA3YWZk\ +NWRkNDE2MWagEVRjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfc3ludGF4Ojphc3Q6OnZpc2\ +l0b3I6OkhlYXBWaXNpdG9yPjo6aGE1MWY1NDViY2Y2ZWE0MTmhEVByZWdleF9zeW50YXg6Omhpcjo6\ +aW50ZXJ2YWw6OkludGVydmFsU2V0PEk+OjpjYXNlX2ZvbGRfc2ltcGxlOjpoYmRlNmEzYTJjNTIzOG\ +NkZqIRMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoN2ZkZDUyODVkY2VlN2ViZKMRYzxp\ +bmRleG1hcDo6bWFwOjppdGVyOjpJdGVyPEssVj4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYX\ +Rvcjo6SXRlcmF0b3I+OjpuZXh0OjpoNzAxMmNjOWQ1N2Q0MWYzZaQRMHdhc21fYmluZGdlbjo6SnNW\ +YWx1ZTo6YXNfZjY0OjpoYzk3OTE4NDI1ZWY1MmZkMqURLWFsbG9jOjp2ZWM6OlZlYzxULEE+OjpwdX\ +NoOjpoMTE3OGMwY2JjMDYwNThjZKYRMndhc21fYmluZGdlbjo6YmlnaW50X2dldF9hc19pNjQ6Omg1\ +OTJlZWRkMTk1Zjc5ZThipxEidXJsOjpVcmw6OnBhcnNlOjpoMDRjMzhkNTk0Zjk1NzkyYagRT2Nvcm\ +U6OnB0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX2NvbmZpZzo6ZGVub19qc29uOjpMb2NrQ29uZmlnPjo6\ +aGMzY2VmZDUwZWRkZjI4YjGpESF1cmw6OlVybDo6am9pbjo6aDAxYjViNjFjYTMwZDFhYjOqEUg8YW\ +xsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDQ2Njlm\ +MDgzNWQxMzE2N2WrEUg8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm\ +9wPjo6ZHJvcDo6aDQzYThjZDBmMmZmNWNiZjasETA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZt\ +dDo6aGEwYjljYmNhYzNlMWNjYjGtEUFhbGxvYzo6c2xpY2U6OjxpbXBsIFtUXT46OnNvcnRfYnk6On\ +t7Y2xvc3VyZX19OjpoN2YzZTRjZTkwNDg2NWU3Za4RRWFob19jb3Jhc2ljazo6dXRpbDo6cHJlZmls\ +dGVyOjpvcHBvc2l0ZV9hc2NpaV9jYXNlOjpoYzU1YWE5ZjgyNTA3NmM1M68RXDxjb3JlOjpjaGFyOj\ +pUb0xvd2VyY2FzZSBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5l\ +eHQ6OmhmZGI4MmExMDA4NjFhYTNisBFEY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGRlbm9fc2Vtdm\ +VyOjpWZXJzaW9uUmVxPjo6aDIyMDgwZTNmNDVmYjEwMjKxES1hbGxvYzo6dmVjOjpWZWM8VCxBPjo6\ +cHVzaDo6aDhkYzliMTQxMTMzZDYyYjiyES1hbGxvYzo6dmVjOjpWZWM8VCxBPjo6cHVzaDo6aDMzZW\ +MxMmMxNTYzM2Q4YzSzETRhbGxvYzo6Ym9ycm93OjpDb3c8Qj46OmludG9fb3duZWQ6OmhjODhhYWY1\ +NmEwMWVkNTk4tBEmdXJsOjpVcmw6OnBhcnNlOjpoMDRjMzhkNTk0Zjk1NzkyYS41MzW1ETA8JlQgYX\ +MgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDYwNjlmNmU2ZDI5ZTQ1ZDK2ES1hbGxvYzo6dmVjOjpW\ +ZWM8VCxBPjo6cHVzaDo6aDZjOWY1YzJiMjkyNDFlMGS3EUtjb3JlOjpmbXQ6Om51bTo6PGltcGwgY2\ +9yZTo6Zm10OjpEZWJ1ZyBmb3IgdTY0Pjo6Zm10OjpoYmE5YzMzNzNiNGIzNWY0Ni43ODS4ES1hbGxv\ +Yzo6dmVjOjpWZWM8VCxBPjo6cHVzaDo6aGU1NDE2YjNjOGY2ODNlNTG5ETRyZWdleF9zeW50YXg6Om\ +hpcjo6SGlyOjppbnRvX2tpbmQ6Omg3NWE1MDUyYzk5NDZkZWRjuhF7PHJlZ2V4X2F1dG9tYXRhOjpt\ +ZXRhOjpzdHJhdGVneTo6UmV2ZXJzZVN1ZmZpeCBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYX\ +RlZ3k6OlN0cmF0ZWd5Pjo6cmVzZXRfY2FjaGU6OmgzZDY3ZDViNzU0OThhNTRhuxF9PHJlZ2V4X2F1\ +dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZUFuY2hvcmVkIGFzIHJlZ2V4X2F1dG9tYXRhOj\ +ptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpyZXNldF9jYWNoZTo6aGZlZTZmZTEzOTcyZmRjNmW8\ +ES1hbGxvYzo6dmVjOjpWZWM8VCxBPjo6cHVzaDo6aDYxYjM0NWRmOTRjNWE5NDa9ETA8JlQgYXMgY2\ +9yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDkxNWE4MzI0YWU1MDFjNWS+ETA8JlQgYXMgY29yZTo6Zm10\ +OjpEZWJ1Zz46OmZtdDo6aGJhYzNhZjA2NmJkNGEyOWa/ES1hbGxvYzo6dmVjOjpWZWM8VCxBPjo6cH\ +VzaDo6aDY2ZDMzZTg3YWQ0ZDcxYmPAES1hbGxvYzo6dmVjOjpWZWM8VCxBPjo6cHVzaDo6aGJmODdl\ +MjM3OGNjMmU5YmbBET1yZWdleF9zeW50YXg6Omhpcjo6bGl0ZXJhbDo6U2VxOjpzaW5nbGV0b246Om\ +g1ZmMzODNkODZiNTVkODc2whFFaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZUlubmVyOjpm\ +cmVlX2J1Y2tldHM6OmhkMGI0M2VlOTFmMDBjNDgywxEydXJsOjpwYXJzZXI6OklucHV0OjpzcGxpdF\ +9maXJzdDo6aDU5NDFlOTFlNzJlN2IyNDPEEUJ1cmw6OnBhcnNlcjo6aXNfbm9ybWFsaXplZF93aW5k\ +b3dzX2RyaXZlX2xldHRlcjo6aDZmYTIzMDk3MzNmZTMwNDDFERFfX3diaW5kZ2VuX21hbGxvY8YRVG\ +NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX3BhY2thZ2VfanNvbjo6UGFja2FnZUpzb25Mb2Fk\ +RXJyb3I+OjpoMjgyZTBlZDU0ZTBjZWY1OMcRWzxjb3JlOjpzdHI6Oml0ZXI6OkNoYXJzIGFzIGNvcm\ +U6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aDVmMmMwYjYzM2QyNjI5\ +Y2HIEV48ZGVub19jb25maWc6OmRlbm9fanNvbjo6Tm9kZU1vZHVsZXNEaXJQYXJzZUVycm9yIGFzIG\ +NvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhmYjNhNjU4MDQ3MTE1YWFhyRFEaGFzaGJyb3duOjpyYXc6\ +OmlubmVyOjpSYXdUYWJsZTxUPjo6d2l0aF9jYXBhY2l0eTo6aGM4MDQwNzUxMDE0OTQzZmHKEWk8bG\ +9hZGVyOjpXYXNtV29ya3NwYWNlIGFzIHdhc21fYmluZGdlbjo6Y29udmVydDo6dHJhaXRzOjpSZWZG\ +cm9tV2FzbUFiaT46OnJlZl9mcm9tX2FiaTo6aDQyOTYwYTcwMTQ2NTU2NTnLETFjb3JlOjpwYW5pY2\ +tpbmc6OmFzc2VydF9mYWlsZWQ6Omg2Y2FlYjYyYjlhYWVhNGEwzBE1YWxsb2M6OmFsbG9jOjpleGNo\ +YW5nZV9tYWxsb2M6Omg2YjFhMzY5NDQ4ZmEwYmM1LjEyNDbNEV08YWhvX2NvcmFzaWNrOjp1dGlsOj\ +pwcmltaXRpdmVzOjpTbWFsbEluZGV4RXJyb3IgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDEw\ +MzdhZmZkODE3NDc3MjLOETFjb3JlOjpwYW5pY2tpbmc6OmFzc2VydF9mYWlsZWQ6OmgxMTg5NWNmND\ +YxMWExOWZlzxExY29yZTo6cGFuaWNraW5nOjphc3NlcnRfZmFpbGVkOjpoNDI3MjFjMWZiMWE4YWI1\ +M9ARMWNvcmU6OnBhbmlja2luZzo6YXNzZXJ0X2ZhaWxlZDo6aGZlNjk5MWFiOThkMjIyOWHREUVtZW\ +1jaHI6OmFyY2g6OmFsbDo6dHdvd2F5OjpBcHByb3hpbWF0ZUJ5dGVTZXQ6Om5ldzo6aGE0NzNmZDc0\ +ZTRkYmU5N2bSEVo8YWhvX2NvcmFzaWNrOjp1dGlsOjpwcmVmaWx0ZXI6OlN0YXJ0Qnl0ZXNPbmUgYX\ +MgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDQxOWE0ZTAyZGE1MzllMDbTETNhbGxvYzo6YWxsb2M6\ +OmV4Y2hhbmdlX21hbGxvYzo6aDZiMWEzNjk0NDhmYTBiYzUuNDbUETFjb3JlOjpwYW5pY2tpbmc6Om\ +Fzc2VydF9mYWlsZWQ6Omg5ZjBkMmRiZWEyMmYxYjhj1RExY29yZTo6cGFuaWNraW5nOjphc3NlcnRf\ +ZmFpbGVkOjpoYWIxNzc1NjQ0NWUxNDA5YtYRMWNvcmU6OnBhbmlja2luZzo6YXNzZXJ0X2ZhaWxlZD\ +o6aDdjZDc1MGYzMjE0MGY1ZDbXEUtjb3JlOjpmbXQ6OmZsb2F0Ojo8aW1wbCBjb3JlOjpmbXQ6OkRp\ +c3BsYXkgZm9yIGY2ND46OmZtdDo6aDQ0ODM5OGEwN2ExNzgxNDnYET9pbmRleG1hcDo6bWFwOjpjb3\ +JlOjplcXVpdmFsZW50Ojp7e2Nsb3N1cmV9fTo6aGU4ZDRiMGE0NDdjNmYxN2bZEUM8YWxsb2M6OnJj\ +OjpSYzxULEE+IGFzIGNvcmU6OmNtcDo6UGFydGlhbEVxPjo6ZXE6OmgwOWQ2YWE0ZDExYTBlYWE32h\ +EwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhmODE1OTAxZTBmYjU4Njk12xE0YWxsb2M6\ +OmFsbG9jOjpleGNoYW5nZV9tYWxsb2M6Omg2YjFhMzY5NDQ4ZmEwYmM1Ljg1MtwRYzxkZW5vX3NlbX\ +Zlcjo6c3BlY2lmaWVyOjpWZXJzaW9uUmVxU3BlY2lmaWVyUGFyc2VFcnJvciBhcyBjb3JlOjpmbXQ6\ +OkRlYnVnPjo6Zm10OjpoMmQ1MGM1YWMwNmE3MTFlZt0RQ2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZT\ +xhaG9fY29yYXNpY2s6OmRmYTo6REZBPjo6aDAxMDY2NjMzNjNmMzYwZWLeEUFjb3JlOjpwdHI6OmRy\ +b3BfaW5fcGxhY2U8Z2xvYnNldDo6Z2xvYjo6VG9rZW4+OjpoYTA0MTNmNzA0YzdjM2JjZd8RLmdsb2\ +JzZXQ6Omdsb2I6OlBhcnNlcjo6YnVtcDo6aGM4ZmI4YzE1MWI5MzZkNTPgEVM8YWhvX2NvcmFzaWNr\ +Ojp1dGlsOjplcnJvcjo6QnVpbGRFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNzIyN2\ +QzNmUwMWVhYzA5ZuERO2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxnbG9ic2V0OjpFcnJvcj46Omhk\ +NTQxYjZlYzg1OTU0NDQ04hFCY29yZTo6b3BzOjpyYW5nZTo6UmFuZ2VJbmNsdXNpdmU8SWR4Pjo6Y2\ +9udGFpbnM6OmgwYTJhMjg1ZDRkYzczNWY14xExY29yZTo6cGFuaWNraW5nOjphc3NlcnRfZmFpbGVk\ +OjpoYTgyYWM0ZDI2ZmI0MDRmYuQRNWFsbG9jOjphbGxvYzo6ZXhjaGFuZ2VfbWFsbG9jOjpoNmIxYT\ +M2OTQ0OGZhMGJjNS4xMzkx5RFVPHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjphbHBoYWJldDo6Qnl0ZVNl\ +dCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoM2YwNTY1YWY0ZjE0N2RlYuYRXDxyZWdleF9hdX\ +RvbWF0YTo6dXRpbDo6Y2FwdHVyZXM6Okdyb3VwSW5mb0Vycm9yIGFzIGNvcmU6OmZtdDo6RGVidWc+\ +OjpmbXQ6Omg1ZmYxMDAzZDFhMzAwYjEw5xF8PGNvcmU6Oml0ZXI6OmFkYXB0ZXJzOjptYXA6Ok1hcD\ +xJLEY+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6ZG91YmxlX2VuZGVkOjpEb3VibGVFbmRlZEl0ZXJh\ +dG9yPjo6bmV4dF9iYWNrOjpoMDNkZjYzOTkzYmRiNTAzOegRfDxjb3JlOjppdGVyOjphZGFwdGVycz\ +o6bWFwOjpNYXA8SSxGPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6OmRvdWJsZV9lbmRlZDo6RG91Ymxl\ +RW5kZWRJdGVyYXRvcj46Om5leHRfYmFjazo6aDBlNGI1NGZjNjU4ZGU4MWbpETFjb3JlOjpwYW5pY2\ +tpbmc6OmFzc2VydF9mYWlsZWQ6OmgwNTlmM2E5NDRjOGI4YWVi6hExY29yZTo6cGFuaWNraW5nOjph\ +c3NlcnRfZmFpbGVkOjpoOTcyMjAxMmNmNmZjMGQ5OOsRUXJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpzZW\ +FyY2g6Ok1hdGNoRXJyb3I6OnVuc3VwcG9ydGVkX2FuY2hvcmVkOjpoNTlhZGM5MDU1NTJkYjdlZuwR\ +ggE8cmVnZXhfYXV0b21hdGE6OnV0aWw6OmFscGhhYmV0OjpCeXRlU2V0UmFuZ2VJdGVyIGFzIGNvcm\ +U6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6e3tjbG9zdXJlfX06Omhh\ +ODhjYjk1Mjc3MGVhNGZk7RFaPHJlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmlkOjpMYXp5U3RhdGVJRE\ +Vycm9yIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg4ZmVhYzUzNGE1ZWE3NDE37hFbcmVnZXhf\ +YXV0b21hdGE6OnV0aWw6OmRldGVybWluaXplOjpzdGF0ZTo6U3RhdGVCdWlsZGVyTWF0Y2hlczo6bG\ +9va19oYXZlOjpoMDlhZGVkYzRlMWE0MmJlMO8RTHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpkZXRlcm1p\ +bml6ZTo6c3RhdGU6OlJlcHI6Omxvb2tfbmVlZDo6aDI2MzA4YzdkNmUzNzQyMjTwEUxyZWdleF9hdX\ +RvbWF0YTo6dXRpbDo6ZGV0ZXJtaW5pemU6OnN0YXRlOjpSZXByOjpsb29rX2hhdmU6OmhiMzRiOTM3\ +YzBkY2VhNjk58RFBcmVnZXhfYXV0b21hdGE6OnV0aWw6OnNlYXJjaDo6TWF0Y2hFcnJvcjo6cXVpdD\ +o6aDM2NmQwMDM4OGQ1YTFkZjXyEThhbGxvYzo6Ym94ZWQ6OkJveDxULEE+OjpuZXdfdW5pbml0X2lu\ +OjpoYzAzY2YyMDYyYTBlMWJiN/MRXTxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjptZW\ +1tZW06Ok1lbW1lbSBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoM2I4NGI3YzQwOTBlOTU1N/QR\ +aDxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjphaG9fY29yYXNpY2s6OkFob0NvcmFzaW\ +NrIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhlYTM0ODRiMmQ3MDE5YWMy9RFdPHJlZ2V4X2F1\ +dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZUFuY2hvcmVkIGFzIGNvcmU6OmZtdDo6RGVidW\ +c+OjpmbXQ6OmhlZjBiMjUxOTg1YjFmMzkz9hExY29yZTo6cGFuaWNraW5nOjphc3NlcnRfZmFpbGVk\ +OjpoNDFkZWRhNzNiNGY5NzkwN/cRMWNvcmU6OnBhbmlja2luZzo6YXNzZXJ0X2ZhaWxlZDo6aGJlMj\ +E1MjVkYTVmMDRjMzX4ETFjb3JlOjpwYW5pY2tpbmc6OmFzc2VydF9mYWlsZWQ6OmhmZjRiZTJlOWUw\ +YjhlNDY2+RExY29yZTo6Y2VsbDo6UmVmQ2VsbDxUPjo6Ym9ycm93OjpoOWMzNTlkY2M0YjRmMmI1OP\ +oRTTxjb3JlOjpudW06OmVycm9yOjpQYXJzZUludEVycm9yIGFzIGNvcmU6OmZtdDo6RGVidWc+Ojpm\ +bXQ6Omg4ZjU4YjJmODFjOTQwZjdk+xFSPGNvcmU6Om51bTo6ZXJyb3I6OlBhcnNlSW50RXJyb3IgYX\ +MgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDhmNThiMmY4MWM5NDBmN2QuMTY2N/wRLGNvcmU6OmVy\ +cm9yOjpFcnJvcjo6Y2F1c2U6Omg1ZGNiYjgxYjFmNWI0Nzkz/RExY29yZTo6cGFuaWNraW5nOjphc3\ +NlcnRfZmFpbGVkOjpoZDNiZjQ5ZmRkZDMyM2RjYf4RQWFsbG9jOjpzbGljZTo6PGltcGwgW1RdPjo6\ +c29ydF9ieTo6e3tjbG9zdXJlfX06OmgxNGY5NDA3Yzg2NmVjMWU0/xFPY29yZTo6c2xpY2U6OnNvcn\ +Q6OnNoYXJlZDo6c21hbGxzb3J0OjpwYW5pY19vbl9vcmRfdmlvbGF0aW9uOjpoNjI2NjIwNmRmMTM0\ +MTg4OIASSWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxpbXBvcnRfbWFwOjpJbXBvcnRNYXBPcHRpb2\ +5zPjo6aGFmNzBmZDk3ZGEyMDU0Y2WBEkZjb3JlOjpmbXQ6Om51bTo6PGltcGwgY29yZTo6Zm10OjpE\ +ZWJ1ZyBmb3IgdTg+OjpmbXQ6OmhjOGM5Y2E4ZWMyNzMzYjdmghJHY29yZTo6Zm10OjpudW06OjxpbX\ +BsIGNvcmU6OmZtdDo6RGVidWcgZm9yIHUzMj46OmZtdDo6aGI3YTNiZTUzYjUzZmFiYjODEi1hbGxv\ +Yzo6dmVjOjpWZWM8VCxBPjo6cHVzaDo6aDE5MjY4ZTVkMmMwZTE5NmSEEkdjb3JlOjpmbXQ6Om51bT\ +o6PGltcGwgY29yZTo6Zm10OjpEZWJ1ZyBmb3IgaTMyPjo6Zm10OjpoMDkzNWU4MDE5NWUxOWJjZoUS\ +LWFsbG9jOjp2ZWM6OlZlYzxULEE+OjpwdXNoOjpoNWFiNTQxYTQzMGI0NzBkNIYSNGFsbG9jOjpyYX\ +dfdmVjOjpjYXBhY2l0eV9vdmVyZmxvdzo6aDc2ZjkzMDhkN2Q4YjU5NjGHEkhjb3JlOjpwYW5pY2tp\ +bmc6OnBhbmljX2NvbnN0OjpwYW5pY19jb25zdF9kaXZfYnlfemVybzo6aGU5MzEzMjdhZDliYTA5ZD\ +iIEko8Y29yZTo6b3BzOjpyYW5nZTo6UmFuZ2U8SWR4PiBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10\ +OjpoNDQxOWRjOTBlNGEyM2RjOYkSPWNvcmU6OnN0cjo6dHJhaXRzOjpzdHJfaW5kZXhfb3ZlcmZsb3\ +dfZmFpbDo6aGI1ZmM4ZGVlNjZmNDFkYzCKEkhjb3JlOjpwYW5pY2tpbmc6OnBhbmljX2NvbnN0Ojpw\ +YW5pY19jb25zdF9yZW1fYnlfemVybzo6aDAxODExNzYzOTE2MmNkYTSLElxjb3JlOjpwdHI6OmRyb3\ +BfaW5fcGxhY2U8ZGVub19jb25maWc6OndvcmtzcGFjZTo6ZGlzY292ZXJ5OjpDb25maWdGb2xkZXI+\ +OjpoMmFlYzRjMjU2YTk0OTM5N4wSSGhhc2hicm93bjo6cmF3Ojppbm5lcjo6RmFsbGliaWxpdHk6Om\ +NhcGFjaXR5X292ZXJmbG93OjpoODk2MjVhOGFiNWQ5OTE0MI0SQWhhc2hicm93bjo6cmF3OjpGYWxs\ +aWJpbGl0eTo6Y2FwYWNpdHlfb3ZlcmZsb3c6OmhmMzI0MDcwNDNiNjUzODIwjhJBPGFsbG9jOjpzdH\ +Jpbmc6OlN0cmluZyBhcyBjb3JlOjpjbXA6Ok9yZD46OmNtcDo6aGRjNjM3ZTA1ZmE3NGI3ZGOPEjA8\ +JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDg0NjNiMjZhMWJlNmQxYjiQEjA8JlQgYXMgY2\ +9yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGNhOGE0Nzg5ZDg2ZDk5ZWWREi1hbGxvYzo6dmVjOjpWZWM8\ +VCxBPjo6cHVzaDo6aDFkOGJkZjgzNDE3NzZmNDGSEl88YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY2\ +9yZTo6aXRlcjo6dHJhaXRzOjpjb2xsZWN0OjpFeHRlbmQ8VD4+OjpleHRlbmRfb25lOjpoYWVmYWJj\ +OGRlM2VjYjFhYpMSV2hhc2hicm93bjo6cmF3OjpSYXdUYWJsZTxULEE+OjpmaW5kX29yX2ZpbmRfaW\ +5zZXJ0X3Nsb3Q6Ont7Y2xvc3VyZX19OjpoMDdlZTBmNTY0ZGM2ZmNlMJQSLWFsbG9jOjp2ZWM6OlZl\ +YzxULEE+OjpwdXNoOjpoY2IyMzFlNGJkOThjNTBkZJUSMmNvcmU6Om9wdGlvbjo6T3B0aW9uPFQ+Oj\ +pleHBlY3Q6Omg2NDI4YThhNDUyZjFiNmZmlhJXaGFzaGJyb3duOjpyYXc6OlJhd1RhYmxlPFQsQT46\ +OmZpbmRfb3JfZmluZF9pbnNlcnRfc2xvdDo6e3tjbG9zdXJlfX06Omg4NWU5NmQ4M2MxZTA2YzQ3lx\ +ItYWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6OmgyODVlNzM2YTliMzAxYzk4mBJ1PHJlZ2V4X2F1\ +dG9tYXRhOjp1dGlsOjpwcmltaXRpdmVzOjpTbWFsbEluZGV4SXRlciBhcyBjb3JlOjppdGVyOjp0cm\ +FpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6Omg1MzkyZjBmODUzNzYwZWI0mRItYWxsb2M6\ +OnZlYzo6VmVjPFQsQT46OnB1c2g6Omg0M2FmNjk5YzBlY2QzMDhjmhItYWxsb2M6OnZlYzo6VmVjPF\ +QsQT46OnB1c2g6Omg5OTMwYzJiOWRjMzIyZTY2mxIwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+Ojpm\ +bXQ6OmgwMjg2MGUwMjk3MmQ2MmIwnBIwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhiYT\ +dhZWIzODVkZWY4MjI1nRIwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg2NzhiZmQ5NTU4\ +MzY2NWFhnhIwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhhYTk5N2YwOTNjZDFiOTY0nx\ +IwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhlMzU5OTZhODI4YWYyMTBloBIwPCZUIGFz\ +IGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgyYjM4ZjhhMzc4MmJhM2MwoRIwPCZUIGFzIGNvcmU6Om\ +ZtdDo6RGVidWc+OjpmbXQ6OmgzODZmMzAyYzE4NzZlZDBiohIwPCZUIGFzIGNvcmU6OmZtdDo6RGVi\ +dWc+OjpmbXQ6OmgzYzA3ZjkyMjhjMTU3NmRioxIwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbX\ +Q6Omg0ZTc0NWZiZjU1MGE4MWYypBIwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg4YWQ5\ +N2I1OTc0ZTVmZmIypRIwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhiN2QyNjI2Yzc2OD\ +c5NzdhphIwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhiMTViMzJhZWI0Y2JiMzIzpxIw\ +PCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhmMTJhNDdjZTAxOTViZTk4qBItYWxsb2M6On\ +ZlYzo6VmVjPFQsQT46OnB1c2g6OmgyY2YwNDQwMTUzNGJmZDI2qRJoPGNvcmU6Oml0ZXI6OmFkYXB0\ +ZXJzOjptYXA6Ok1hcDxJLEY+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG\ +9yPjo6bmV4dDo6aDIwOTg2ZmM3ODI4YzBmNjGqEmc8Y29yZTo6b3BzOjppbmRleF9yYW5nZTo6SW5k\ +ZXhSYW5nZSBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6Om\ +hkYTNlNDczYjE0M2QyZGU3qxJWcmVnZXhfYXV0b21hdGE6OnV0aWw6OmRldGVybWluaXplOjpzdGF0\ +ZTo6UmVwcjo6ZW5jb2RlZF9wYXR0ZXJuX2xlbjo6aDdkMGJhYzNjZmYyY2FkOGSsEktyZWdleF9hdX\ +RvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjpQcmVmaWx0ZXI6Om1lbW9yeV91c2FnZTo6aDgyZTgzNTIw\ +YmZjOTI0NzKtEjtyZWdleF9zeW50YXg6OmFzdDo6dmlzaXRvcjo6RnJhbWU6OmNoaWxkOjpoNDMzND\ +E1NTBlMjQ1MDVlOa4SeGNvcmU6Oml0ZXI6OnJhbmdlOjo8aW1wbCBjb3JlOjppdGVyOjp0cmFpdHM6\ +Oml0ZXJhdG9yOjpJdGVyYXRvciBmb3IgY29yZTo6b3BzOjpyYW5nZTo6UmFuZ2U8QT4+OjpuZXh0Oj\ +poMzEwZDIyYjNkZmE5YmEwOa8SOHN0ZDo6dGhyZWFkOjpUaHJlYWRJZDo6bmV3OjpleGhhdXN0ZWQ6\ +Omg2Y2UxOTI5ZmJiY2JmMzlmsBJMY29yZTo6Zm10OjpudW06OjxpbXBsIGNvcmU6OmZtdDo6RGVidW\ +cgZm9yIGkzMj46OmZtdDo6aDA5MzVlODAxOTVlMTliY2YuMjA0MLESL3VybDo6cGFyc2VyOjpJbnB1\ +dDo6aXNfZW1wdHk6OmgzZWM5YzY1YmY0NDE4ZWRjshIydXJsOjpwYXJzZXI6OklucHV0OjpzdGFydH\ +Nfd2l0aDo6aGEwODAzN2M3ZmNmOWU3Y2GzElY8c3RkOjpoYXNoOjpyYW5kb206OlJhbmRvbVN0YXRl\ +IGFzIGNvcmU6OmRlZmF1bHQ6OkRlZmF1bHQ+OjpkZWZhdWx0OjpoMjNkMTI4ODFmNDA1YjY0OLQSRX\ +NlcmRlX3dhc21fYmluZGdlbjo6ZGU6OkRlc2VyaWFsaXplcjo6aW52YWxpZF90eXBlOjpoMzUzMzFk\ +NzU2ODlhZmJjMbUSaTxjb3JlOjpvcHM6OnJhbmdlOjpSYW5nZUZyb208dXNpemU+IGFzIGNvcmU6On\ +NsaWNlOjppbmRleDo6U2xpY2VJbmRleDxbVF0+Pjo6aW5kZXhfbXV0OjpoMzRlMDg5ZTE3NGE2NDM3\ +ObYSRXNlcmRlX3dhc21fYmluZGdlbjo6ZGU6OkRlc2VyaWFsaXplcjo6aW52YWxpZF90eXBlOjpoOW\ +UzOTY3ZDY5NTVkYWQ4ZLcSRWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxzZXJkZV9qc29uOjplcnJv\ +cjo6RXJyb3I+OjpoZjVjYTZlZTNiMmViYjY1ObgSR2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxpbX\ +BvcnRfbWFwOjpJbXBvcnRNYXBFcnJvcj46OmgwYjAxZWJhN2VjODJhMGM0uRJIPGFsbG9jOjp2ZWM6\ +OlZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhlZGYyOThiZGU1MTVjYT\ +Y1uhJIPGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6\ +Omg2MGM5MTBkM2Y3NTYxZTRiuxJMPGRlbm9fcGF0aF91dGlsOjpQYXRoVG9VcmxFcnJvciBhcyBjb3\ +JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMzU2YjJkMmQxMTFkZTgyObwSTjxzZXJkZV93YXNtX2JpbmRn\ +ZW46OmVycm9yOjpFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNWQ5ZTgyMGJlN2FmOW\ +JkNr0SXDxkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpXb3Jrc3BhY2VEaXNjb3ZlckVycm9yIGFzIGNv\ +cmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg0YTkwNDk0NTUzMTlmNWU1vhJWPHN0ZDo6aGFzaDo6cmFuZG\ +9tOjpEZWZhdWx0SGFzaGVyIGFzIGNvcmU6Omhhc2g6Okhhc2hlcj46OndyaXRlX3N0cjo6aDkxM2Jk\ +ZGI5YjgwNGMxOTS/EkM8bWVtY2hyOjpjb3c6OkNvd0J5dGVzIGFzIGNvcmU6OmZtdDo6RGVidWc+Oj\ +pmbXQ6OmhiZWM0NDQ3YmI4NDZhZGYywBJpPGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdlRnJvbTx1c2l6\ +ZT4gYXMgY29yZTo6c2xpY2U6OmluZGV4OjpTbGljZUluZGV4PFtUXT4+OjppbmRleF9tdXQ6OmgxNj\ +IwYzVkZmNjZWNhMDVkwRJPPGNvcmU6Om51bTo6ZXJyb3I6OlRyeUZyb21JbnRFcnJvciBhcyBjb3Jl\ +OjpmbXQ6OkRlYnVnPjo6Zm10OjpoNTJiOTNhYmQxNGM5NmIzYsISTjxhbGxvYzo6dmVjOjpWZWM8VC\ +xBPiBhcyBjb3JlOjpvcHM6OmluZGV4OjpJbmRleDxJPj46OmluZGV4OjpoMzg3MDQ0ODg2NDZlNTcx\ +NcMSazxhaG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91czo6TkZBIGFzIGFob19jb3Jhc2ljaz\ +o6YXV0b21hdG9uOjpBdXRvbWF0b24+OjptYXRjaF9sZW46Omg2ZGFhMGYyZTc5OGNhYzdixBJlPGNv\ +cmU6Om9wczo6cmFuZ2U6OlJhbmdlRnJvbTx1c2l6ZT4gYXMgY29yZTo6c2xpY2U6OmluZGV4OjpTbG\ +ljZUluZGV4PFtUXT4+OjppbmRleDo6aDVmNmQxNWEyYTFlOWFhNGXFElo8YWhvX2NvcmFzaWNrOjp1\ +dGlsOjpwcmltaXRpdmVzOjpTdGF0ZUlERXJyb3IgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aG\ +EzZmI5YTkyZjMzYzc0NzjGEl88YWhvX2NvcmFzaWNrOjpkZmE6OkRGQSBhcyBhaG9fY29yYXNpY2s6\ +OmF1dG9tYXRvbjo6QXV0b21hdG9uPjo6bWVtb3J5X3VzYWdlOjpoODc5YjNjMWZiY2U0Yjc2Y8cSUz\ +xhaG9fY29yYXNpY2s6OnV0aWw6OnByZWZpbHRlcjo6UGFja2VkIGFzIGNvcmU6OmZtdDo6RGVidWc+\ +OjpmbXQ6OmgxNmZjOTMyNjdiNzA0MzE4yBJTPGFob19jb3Jhc2ljazo6dXRpbDo6cHJlZmlsdGVyOj\ +pNZW1tZW0gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDBlOGQzMGU0YjFhYzVjOGLJElA8ZGVu\ +b19wYXRoX3V0aWw6OlVybFRvRmlsZVBhdGhFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10Oj\ +poMjRmM2EwZTgwZDUyNDZlMMoSaTxjb3JlOjpvcHM6OnJhbmdlOjpSYW5nZUZyb208dXNpemU+IGFz\ +IGNvcmU6OnNsaWNlOjppbmRleDo6U2xpY2VJbmRleDxbVF0+Pjo6aW5kZXhfbXV0OjpoM2MyMjJlZW\ +ZmMDJiOGE0YssSMmNvcmU6OnN0cjo6PGltcGwgc3RyPjo6Y29udGFpbnM6OmgzYjAzMmM2ZGI0Mjk0\ +ZmFmzBJFY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGpzb25jX3BhcnNlcjo6YXN0OjpWYWx1ZT46Om\ +gyNmRkMGQ4Mjc0NDA3YjUzzRJIPGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJv\ +cDo6RHJvcD46OmRyb3A6OmgwZDBhNTE4ZWQyMzRiZDA2zhJIPGFsbG9jOjp2ZWM6OlZlYzxULEE+IG\ +FzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmgyNTkzZjA0Yzc3NTM2ZWYzzxJpPGNvcmU6\ +Om9wczo6cmFuZ2U6OlJhbmdlRnJvbTx1c2l6ZT4gYXMgY29yZTo6c2xpY2U6OmluZGV4OjpTbGljZU\ +luZGV4PFtUXT4+OjppbmRleF9tdXQ6OmhiMzBhNDc0YzQ2MTAyYWE40BJIPGFsbG9jOjp2ZWM6OlZl\ +YzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6Omg5M2M3ZDg5MDMxNzUyZDA50R\ +JIPGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6Omgx\ +MDhkZmVjZGU3YmI1NDg10hJaPHN0ZDo6aGFzaDo6cmFuZG9tOjpEZWZhdWx0SGFzaGVyIGFzIGNvcm\ +U6Omhhc2g6Okhhc2hlcj46OndyaXRlX3N0cjo6aDkxM2JkZGI5YjgwNGMxOTQuNDEw0xJEPGFsbG9j\ +OjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlOjpoYXNoOjpIYXNoPjo6aGFzaDo6aDM1N2QwYmU4NWVlMT\ +M3ZjjUEjJjb3JlOjpzdHI6OjxpbXBsIHN0cj46OmNvbnRhaW5zOjpoYTdkMmRjZjk5Mzg1MjgwM9US\ +UzxhaG9fY29yYXNpY2s6OnV0aWw6OmVycm9yOjpNYXRjaEVycm9yIGFzIGNvcmU6OmZtdDo6RGVidW\ +c+OjpmbXQ6OmgzYzNlOGVlNzU1YzI5NTZl1hJIPGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6\ +Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhhMzAwYzZhODI3NDFmNjJk1xJOPGFsbG9jOjp2ZWM6Ol\ +ZlYzxULEE+IGFzIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4PEk+Pjo6aW5kZXg6OmgyOTM2MTViYWVj\ +ZmY3OTQz2BJpPGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdlRnJvbTx1c2l6ZT4gYXMgY29yZTo6c2xpY2\ +U6OmluZGV4OjpTbGljZUluZGV4PFtUXT4+OjppbmRleF9tdXQ6OmgxMGVjMGNkZmFlNjA5MGM12RJp\ +PGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdlRnJvbTx1c2l6ZT4gYXMgY29yZTo6c2xpY2U6OmluZGV4Oj\ +pTbGljZUluZGV4PFtUXT4+OjppbmRleF9tdXQ6OmhhYWMyNTg2MTQ3OGNlY2Qx2hJpPGNvcmU6Om9w\ +czo6cmFuZ2U6OlJhbmdlRnJvbTx1c2l6ZT4gYXMgY29yZTo6c2xpY2U6OmluZGV4OjpTbGljZUluZG\ +V4PFtUXT4+OjppbmRleF9tdXQ6OmhkZWQyZjFmNDNkY2IzMjVl2xJpPGNvcmU6Om9wczo6cmFuZ2U6\ +OlJhbmdlRnJvbTx1c2l6ZT4gYXMgY29yZTo6c2xpY2U6OmluZGV4OjpTbGljZUluZGV4PFtUXT4+Oj\ +ppbmRleF9tdXQ6OmhmNjRhYmU5NjMzODA2NjIz3BJQPG1lbWNocjo6YXJjaDo6YWxsOjpyYWJpbmth\ +cnA6Okhhc2ggYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDQyMzQzZTEzODgxMGFmMTjdEmI8cm\ +VnZXhfYXV0b21hdGE6OnV0aWw6Omxvb2s6OlVuaWNvZGVXb3JkQm91bmRhcnlFcnJvciBhcyBjb3Jl\ +OjpmbXQ6OkRlYnVnPjo6Zm10OjpoZjA5NGJjMmNlNDAyOTU0Nd4SWjxyZWdleF9hdXRvbWF0YTo6aH\ +licmlkOjppZDo6TGF6eVN0YXRlSUQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDJiOGEzYzA5\ +NzQ3ODcyMGYuMTI3Md8SVDxyZWdleF9hdXRvbWF0YTo6bWV0YTo6d3JhcHBlcnM6Okh5YnJpZCBhcy\ +Bjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoN2Y3ZDBhZmM3NDU3NmRjNOASTmNvcmU6OnB0cjo6ZHJv\ +cF9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6ZGZhOjpvbmVwYXNzOjpERkE+OjpoNDY2YTQ3ODJiYz\ +cyYjQxYeESVTxyZWdleF9hdXRvbWF0YTo6bWV0YTo6d3JhcHBlcnM6Ok9uZVBhc3MgYXMgY29yZTo6\ +Zm10OjpEZWJ1Zz46OmZtdDo6aDQyYjZhYjEwMjA5MGMzYmHiEmA8cmVnZXhfYXV0b21hdGE6Om1ldG\ +E6OndyYXBwZXJzOjpCb3VuZGVkQmFja3RyYWNrZXIgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6\ +aGE3NjJiZTNhMTk5MDZiODjjElQ8cmVnZXhfYXV0b21hdGE6Om1ldGE6OndyYXBwZXJzOjpQaWtlVk\ +0gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGZiZDNlYzZjNmU1YTkzOTLkElQ8cmVnZXhfYXV0\ +b21hdGE6Om1ldGE6OnJlZ2V4OjpSZWdleEluZm8gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aG\ +IxZjI3NTkwZGZlZjRhODXlEmU8Y29yZTo6b3BzOjpyYW5nZTo6UmFuZ2VGcm9tPHVzaXplPiBhcyBj\ +b3JlOjpzbGljZTo6aW5kZXg6OlNsaWNlSW5kZXg8W1RdPj46OmluZGV4OjpoNjlhYmJlNzdiOGMxMT\ +Q4ZOYSaDxjb3JlOjppdGVyOjphZGFwdGVyczo6bWFwOjpNYXA8SSxGPiBhcyBjb3JlOjppdGVyOjp0\ +cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6OmgxYjk5ZWYwM2UxZDYzNmMx5xJLY29yZT\ +o6aGFzaDo6aW1wbHM6OjxpbXBsIGNvcmU6Omhhc2g6Okhhc2ggZm9yIFtUXT46Omhhc2g6Omg3YmFm\ +OGRmYjgyNDQ4MzY56BJLY29yZTo6aGFzaDo6aW1wbHM6OjxpbXBsIGNvcmU6Omhhc2g6Okhhc2ggZm\ +9yIHN0cj46Omhhc2g6OmhmMTE2NGE2NDRhYzAwMTVi6RJpPGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdl\ +RnJvbTx1c2l6ZT4gYXMgY29yZTo6c2xpY2U6OmluZGV4OjpTbGljZUluZGV4PFtUXT4+OjppbmRleF\ +9tdXQ6OmgxYmUxNTE0YWI1YzZhNzFl6hJBcmVnZXhfYXV0b21hdGE6Omh5YnJpZDo6ZGZhOjpMYXp5\ +UmVmOjppc192YWxpZDo6aDc0MmY0ZGE3MWNmYmQ4ODPrElc8cmVnZXhfYXV0b21hdGE6Omh5YnJpZD\ +o6ZXJyb3I6OkNhY2hlRXJyb3IgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDRmNzU4NjQzZWRh\ +YmU5YzPsEkhjb3JlOjpvcHM6OmZ1bmN0aW9uOjpGbk9uY2U6OmNhbGxfb25jZXt7dnRhYmxlLnNoaW\ +19fTo6aGIyZDA3YWVkMjQyZWI5ODPtElY8cmVnZXhfYXV0b21hdGE6OnV0aWw6OnNlYXJjaDo6TWF0\ +Y2hFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZTQ3NjhhMjI4NDQyY2RiNe4SWzxyZW\ +dleF9hdXRvbWF0YTo6bWV0YTo6d3JhcHBlcnM6OlJldmVyc2VIeWJyaWQgYXMgY29yZTo6Zm10OjpE\ +ZWJ1Zz46OmZtdDo6aDk3ODkzOGVmNzJhNGQ5MDDvEl08cmVnZXhfYXV0b21hdGE6OnV0aWw6OnByZW\ +ZpbHRlcjo6bWVtY2hyOjpNZW1jaHIgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGVkNzNlZjli\ +YTBmNzUzOTXwEl88cmVnZXhfYXV0b21hdGE6OnV0aWw6OnByZWZpbHRlcjo6Ynl0ZXNldDo6Qnl0ZV\ +NldCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMzM3YTM4YjA1Zjk3N2EyYvESL2NvcmU6Om9w\ +dGlvbjo6T3B0aW9uPFQ+OjptYXA6OmgwMDRhMTA3ZjhiNjE1ZjJl8hJKPGNvcmU6OmNoYXI6OlRyeU\ +Zyb21DaGFyRXJyb3IgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDhkZDczMmM3MWNjNDliMTPz\ +Ekg8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aD\ +Q0OWE5MWQzZGI3NWM1MGX0Emk8Y29yZTo6b3BzOjpyYW5nZTo6UmFuZ2VGcm9tPHVzaXplPiBhcyBj\ +b3JlOjpzbGljZTo6aW5kZXg6OlNsaWNlSW5kZXg8W1RdPj46OmluZGV4X211dDo6aDViYTJjZDI4Ym\ +UyMTQ3Mzf1Ekw8cmVnZXhfc3ludGF4Ojphc3Q6OlBvc2l0aW9uIGFzIGNvcmU6OmNtcDo6UGFydGlh\ +bEVxPjo6ZXE6OmhlODg1NmZkOWI0ZDUwMTY49hIzcmVnZXhfc3ludGF4Ojphc3Q6OnBhcnNlOjppc1\ +9oZXg6Omg5ZjU3ZWQ2ZTRjZDhkNDAz9xJlPGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdlRnJvbTx1c2l6\ +ZT4gYXMgY29yZTo6c2xpY2U6OmluZGV4OjpTbGljZUluZGV4PFtUXT4+OjppbmRleDo6aDUyMGJmMG\ +ZkZjhkMTI0M2P4EhJfX3diaW5kZ2VuX3JlYWxsb2P5EkpzZXJkZV93YXNtX2JpbmRnZW46OmRlOjpE\ +ZXNlcmlhbGl6ZXI6OmFzX29iamVjdF9lbnRyaWVzOjpoMzI3MzM0YmMzZTNlNmU2NPoShAFjb3JlOj\ +pwdHI6OmRyb3BfaW5fcGxhY2U8KGFsbG9jOjpyYzo6UmM8dXJsOjpVcmw+LGRlbm9fY29uZmlnOjp3\ +b3Jrc3BhY2U6OnJlc29sdmVyOjpQa2dKc29uUmVzb2x2ZXJGb2xkZXJDb25maWcpPjo6aDRlYmZiYT\ +Q3NGEwZmEzNmH7EkJpbmRleG1hcDo6bWFwOjpjb3JlOjpJbmRleE1hcENvcmU8SyxWPjo6cmVzZXJ2\ +ZTo6aDg1MTFkYzNkN2RiMmJkMWP8Ekg8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6b3BzOj\ +pkcm9wOjpEcm9wPjo6ZHJvcDo6aDkwZDg2MzkxMDczYjY1OTT9Ekg8YWxsb2M6OnZlYzo6VmVjPFQs\ +QT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDI0YTM1ZjFiZWFmZjJlMDH+Ejpjb3\ +JlOjp1bmljb2RlOjp1bmljb2RlX2RhdGE6OmNjOjpsb29rdXA6Omg2ZjIxOTg3ODk0ZmQ2ZGFm/xJI\ +PGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhhZW\ +IyNTliMzVlNzA4NDligBMzYW55aG93OjplcnJvcjo6Y29udGV4dF9kcm9wX3Jlc3Q6OmgxYTJlNmEx\ +M2I5YTA3NGRmgRM7Z2xvYnNldDo6RXh0ZW5zaW9uU3RyYXRlZ3k6Om1hdGNoZXNfaW50bzo6aDFhYz\ +g5ODAzMzQ0ZTQzNDGCE0g8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpE\ +cm9wPjo6ZHJvcDo6aDA1ZTk3NmRjMmJlZDVkNzODE148aGFzaGJyb3duOjptYXA6Okl0ZXI8SyxWPi\ +BhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6OmgzODliYmZh\ +NWU4OTUwMzY5hBOHAWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9wdGlvbj\ +xpbmRleG1hcDo6bWFwOjpJbmRleE1hcDxhbGxvYzo6c3RyaW5nOjpTdHJpbmcsYWxsb2M6OnN0cmlu\ +Zzo6U3RyaW5nPj4+OjpoYWUwNjQxYzc3NjA0NjIwOIUTSDxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcy\ +Bjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoYmEzNzE4NDBlMzI5NTI3N4YTQmNvcmU6Oml0\ +ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yOjpjb2xsZWN0OjpoMjRiOGM1YTIxMmIzNmI2NI\ +cTSDxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpo\ +MGE4OTI4MjAxZGZiZDBlZogTSDxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3\ +A6OkRyb3A+Ojpkcm9wOjpoMzI2YzYxZDIyODFhM2NkOYkTMWlkbmE6OnB1bnljb2RlOjp2YWx1ZV90\ +b19kaWdpdDo6aDMwZmE2MWM4MjljNzcyYmaKE0FhaG9fY29yYXNpY2s6OnV0aWw6OnByaW1pdGl2ZX\ +M6OlBhdHRlcm5JRDo6bmV3OjpoMDg0NjRhMDFjNTk5NjcxMYsTLWFsbG9jOjp2ZWM6OlZlYzxULEE+\ +OjpwdXNoOjpoMWNiOWNhMGU1ZWE4MWE0Y4wTRHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpzZWFyY2g6Ok\ +1hdGNoRXJyb3I6OmdhdmVfdXA6OmhmOTI4MDE2NWU5MTI2OWFljRNIPGFsbG9jOjp2ZWM6OlZlYzxU\ +LEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6Omg1MjI4OWY2YTU3NGJjNzc3jhM8cm\ +VnZXhfc3ludGF4OjpoaXI6OnRyYW5zbGF0ZTo6YXNjaWlfY2xhc3M6OmgyYzA3MTZjNjc2MjVkOWEx\ +jxMtYWxsb2M6OnZlYzo6VmVjPFQsQT46OnB1c2g6OmhjZGYwNTA0OTc2MDA4MzE5kBMzd2FzbV9iaW\ +5kZ2VuOjpKc1ZhbHVlOjphc19zdHJpbmc6Omg4YTJiYTVjMTZjZDc1Y2I0kRNWc2VyZGU6Ol9fcHJp\ +dmF0ZTo6ZGU6OmNvbnRlbnQ6OkNvbnRlbnREZXNlcmlhbGl6ZXI8RT46OmludmFsaWRfdHlwZTo6aD\ +k5ZmZjNGFjZGMzZjRhYjCSE2A8YWhvX2NvcmFzaWNrOjpkZmE6OkRGQSBhcyBhaG9fY29yYXNpY2s6\ +OmF1dG9tYXRvbjo6QXV0b21hdG9uPjo6bWF0Y2hfcGF0dGVybjo6aGJkNGU5YmUxMzRiOWQxMDSTE0\ +phaG9fY29yYXNpY2s6OmFob2NvcmFzaWNrOjplbmZvcmNlX2FuY2hvcmVkX2NvbnNpc3RlbmN5Ojpo\ +NzA3YzZhZGM2ODNkNzBiZpQTZTxjb3JlOjpvcHM6OnJhbmdlOjpSYW5nZUZyb208dXNpemU+IGFzIG\ +NvcmU6OnNsaWNlOjppbmRleDo6U2xpY2VJbmRleDxbVF0+Pjo6aW5kZXg6OmgxMTE1ZjUxMDNlYTU2\ +NDBllRNEaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZUlubmVyOjpzZXRfY3RybF9oMjo6aD\ +A3YzE5ZjI0YmRiM2MzYjaWE5IBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6Om9wdGlvbjo6\ +T3B0aW9uPGFsbG9jOjpib3hlZDo6Qm94PGRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6OnJlc29sdmVyOj\ +pNYXBwZWRSZXNvbHV0aW9uRGlhZ25vc3RpYz4+Pjo6aGI5YzRiODlhNjdkOTE2YWOXE01oYXNoYnJv\ +d246OnJhdzo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Ont7Y2xvc3VyZX19OjpoY2Q4Yj\ +UwZTZlODJkZTQzYZgTVnNlcmRlOjpfX3ByaXZhdGU6OmRlOjpjb250ZW50OjpDb250ZW50RGVzZXJp\ +YWxpemVyPEU+OjppbnZhbGlkX3R5cGU6OmhiZjU1ZWRkMTQyNGMyZWFlmRNNaGFzaGJyb3duOjpyYX\ +c6OlJhd1RhYmxlPFQsQT46OnJlc2VydmVfcmVoYXNoOjp7e2Nsb3N1cmV9fTo6aDE5MWRiMTNhYTgz\ +Mzg2Y2SaE01oYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Ont7Y2\ +xvc3VyZX19OjpoOWUzZWZkYTZhMTAyOTQ4M5sTRGNvcmU6Oml0ZXI6OmFkYXB0ZXJzOjpwZWVrYWJs\ +ZTo6UGVla2FibGU8ST46OnBlZWs6OmgyNmEwNWFmMTkyYmNmMGY0nBNQaGFzaGJyb3duOjpyYXc6Om\ +lubmVyOjpSYXdUYWJsZUlubmVyOjpwcmVwYXJlX2luc2VydF9zbG90OjpoYTI2ZjBkYjJkNjU3Y2Y2\ +Ny45MTCdE0RwZXJjZW50X2VuY29kaW5nOjpBc2NpaVNldDo6c2hvdWxkX3BlcmNlbnRfZW5jb2RlOj\ +poZTg3YmUwODM2OWYzMjRjZJ4TN3JlZ2V4X3N5bnRheDo6aGlyOjpDbGFzc0J5dGVzOjplbXB0eTo6\ +aGYyY2RiYmQ4NjQ5OTdhNTKfE1Njb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWhvX2NvcmFzaWNrOj\ +p1dGlsOjpwcmVmaWx0ZXI6OkJ1aWxkZXI+OjpoYzY0NDlkMGI5YzYwMDZkMaATMDwmVCBhcyBjb3Jl\ +OjpmbXQ6OkRlYnVnPjo6Zm10OjpoYmU2MTNjNTg3YjFhNjgzY6ETaDxjb3JlOjppdGVyOjphZGFwdG\ +Vyczo6bWFwOjpNYXA8SSxGPiBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRv\ +cj46Om5leHQ6OmgxZTM2NDU3MGMxOGY0ZTI0ohN8PGNvcmU6Oml0ZXI6OmFkYXB0ZXJzOjptYXA6Ok\ +1hcDxJLEY+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6ZG91YmxlX2VuZGVkOjpEb3VibGVFbmRlZEl0\ +ZXJhdG9yPjo6bmV4dF9iYWNrOjpoYTNhNzk1YTU4YWExNDM5MKMTQHJlZ2V4X2F1dG9tYXRhOjpkZm\ +E6Om9uZXBhc3M6OkRGQTo6dHJhbnNpdGlvbjo6aDBhZTk3YWU4OGQzODhlYTikE1U8YWxsb2M6OnZl\ +Yzo6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjppbmRleDo6SW5kZXhNdXQ8ST4+OjppbmRleF9tdXQ6Om\ +hmOWU3NzBlZWNjYzI2OTlmpRMwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgxNjJjOTkx\ +MjMwNGFiMDFlphM5cmVnZXhfc3ludGF4OjpoaXI6OkNsYXNzVW5pY29kZTo6ZW1wdHk6OmgyYTg0ZT\ +JlNWI1OWQ0OGJipxNBcmVnZXhfc3ludGF4OjpoaXI6OmxpdGVyYWw6OlNlcTo6bWF4X3VuaW9uX2xl\ +bjo6aDhjYTAxMDljN2VhNzllYmGoEy1zdGQ6OmlvOjplcnJvcjo6RXJyb3I6Om5ldzo6aGQxNzRmN2\ +RkOTYxMjI5MWWpE1BoYXNoYnJvd246OnJhdzo6UmF3VGFibGVJbm5lcjo6ZmluZF9pbnNlcnRfc2xv\ +dF9pbl9ncm91cDo6aDRlZmIyYWVlYjc0OGVlNjMuMTA0MaoTNmNvcmU6OnN0cjo6PGltcGwgc3RyPj\ +o6c3RyaXBfcHJlZml4OjpoZjczOTFmZTMxZmY5NDJkZKsTa2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFj\ +ZTxjb3JlOjpvcHRpb246Ok9wdGlvbjxhaG9fY29yYXNpY2s6OnV0aWw6OnByZWZpbHRlcjo6UHJlZm\ +lsdGVyPj46OmgwMjU0NWNiMjg4YWFmZDYwrBNSaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJs\ +ZUlubmVyOjpmaW5kX2luc2VydF9zbG90X2luX2dyb3VwOjpoMDhlMTc5ODI5YTdhZGEzN60TNmNvcm\ +U6OnN0cjo6PGltcGwgc3RyPjo6c3RyaXBfcHJlZml4OjpoOWI5ZDQwNDk5N2I3OWM3Za4TTGNvcmU6\ +OnB0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX2NvbmZpZzo6Z2xvYjo6RmlsZVBhdHRlcm5zPjo6aDhhZT\ +llMjVkOThiNTJhN2WvE0s8ZGVub19zZW12ZXI6OnBhY2thZ2U6OlBhY2thZ2VOdiBhcyBjb3JlOjpj\ +bXA6Ok9yZD46OmNtcDo6aDI0ZTY5ZWI0YTBiNTRhNDGwE0Rjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2\ +U8ZGVub19zZW12ZXI6OlZlcnNpb25SZXE+OjpoYzIwNmM0MmY2ZWNmM2QyNrETTWhhc2hicm93bjo6\ +cmF3OjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6e3tjbG9zdXJlfX06OmgwYTkxN2EwNm\ +U5MTQ4M2M2shM1Z2xvYnNldDo6TXVsdGlTdHJhdGVneUJ1aWxkZXI6OmFkZDo6aDE3MGNhNzNlOGIy\ +YjkxMTezE0g8Y29yZTo6b3B0aW9uOjpPcHRpb248VD4gYXMgY29yZTo6Y21wOjpQYXJ0aWFsRXE+Oj\ +plcTo6aGU3YjYxMTRmYzYwN2UwYjW0E0FhbGxvYzo6c2xpY2U6OjxpbXBsIFtUXT46OnNvcnRfYnk6\ +Ont7Y2xvc3VyZX19OjpoYjRkNDM4YmQ1MzY0MGQwM7UTQWFsbG9jOjpzbGljZTo6PGltcGwgW1RdPj\ +o6c29ydF9ieTo6e3tjbG9zdXJlfX06OmgyOTAwYmE1OGQ1MWQwNDAxthMwPCZUIGFzIGNvcmU6OmZt\ +dDo6RGVidWc+OjpmbXQ6OmhiN2VmY2RhMWQzYzVlOWZitxMwPCZUIGFzIGNvcmU6OmZtdDo6RGVidW\ +c+OjpmbXQ6Omg1YWU5NTI4ZTk0MDdjMzJkuBM1Y29yZTo6Y2VsbDo6UmVmQ2VsbDxUPjo6Ym9ycm93\ +X211dDo6aDA5NmVlZTE3Y2FmZGM0M2a5E01yZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6Yn\ +VpbGRlcjo6QnVpbGRlcjo6YWRkX3JhbmdlOjpoMjdiYzlmNTM5YWJiN2Y2M7oTRHJlZ2V4X2F1dG9t\ +YXRhOjpuZmE6OnRob21wc29uOjpuZmE6Ok5GQTo6cGF0dGVybnM6Omg3ZDNhZmE1NmZkYmFkN2Q2ux\ +NFcmVnZXhfYXV0b21hdGE6OnV0aWw6OmFscGhhYmV0OjpVbml0Ojppc193b3JkX2J5dGU6OmhhNDZj\ +MGViNmMyZGNjNjFkvBNFcmVnZXhfYXV0b21hdGE6Om1ldGE6OndyYXBwZXJzOjpQaWtlVk1DYWNoZT\ +o6cmVzZXQ6OmgyYmU3ZmYzYTQwZDc0N2E3vRNSY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFob19j\ +b3Jhc2ljazo6cGFja2VkOjphcGk6OlNlYXJjaEtpbmQ+OjpoZGY5YmRmYjdiNjA1Yjk0Yb4TMDwmVC\ +BhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZmZjZmI5NmI1NzA2OWNlYb8TXzxyZWdleF9zeW50\ +YXg6Omhpcjo6Q2xhc3NVbmljb2RlUmFuZ2UgYXMgY29yZTo6Y21wOjpQYXJ0aWFsT3JkPjo6cGFydG\ +lhbF9jbXA6Omg3NTBkNjNiNjJhYTc2YTgxwBMwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6\ +Omg5YTdhMmQ4M2UwN2MzMmFhwRM7c3RkOjpwYW5pY2tpbmc6OmJlZ2luX3BhbmljOjp7e2Nsb3N1cm\ +V9fTo6aDUxOGQ2ZDQ1YmYzYzYyOWLCE4IBPDxzZXJkZTo6ZGU6OldpdGhEZWNpbWFsUG9pbnQgYXMg\ +Y29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpMb29rRm9yRGVjaW1hbFBvaW50IGFzIGNvcmU6OmZtdD\ +o6V3JpdGU+Ojp3cml0ZV9jaGFyOjpoNjM5YWFkZTkzYjhiN2Q3ZcMTPmluZGV4bWFwOjptYXA6Oklu\ +ZGV4TWFwPEssVj46OndpdGhfY2FwYWNpdHk6Omg2MzMxMTIwODkyN2U1MTE0xBNFPHVybDo6cGFyc2\ +VyOjpQYXJzZUVycm9yIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhlYTI5OTllNThmZGM2ZGI2\ +xRM6d2FzbV9iaW5kZ2VuOjpfX3J0Ojp0YWtlX2xhc3RfZXhjZXB0aW9uOjpoNmQxMjBjYzQ2YjBlM2\ +ZkNcYTGF9fd2JnX3dhc213b3Jrc3BhY2VfZnJlZccTWXNlcmRlOjpfX3ByaXZhdGU6OmRlOjpjb250\ +ZW50OjpDb250ZW50UmVmRGVzZXJpYWxpemVyPEU+OjppbnZhbGlkX3R5cGU6OmgwZTQ3NTM4MmQ5ZT\ +E3MDRkyBNLPGFsbG9jOjphbGxvYzo6R2xvYmFsIGFzIGNvcmU6OmFsbG9jOjpBbGxvY2F0b3I+Ojpz\ +aHJpbms6OmhjMjNlYjEwZjU3YzVhM2JlyRNTPGFob19jb3Jhc2ljazo6dXRpbDo6c2VhcmNoOjpNYX\ +RjaEtpbmQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDg3MDAyNjdjNTJlM2Q4NDbKE0RhaG9f\ +Y29yYXNpY2s6OnV0aWw6OnByZWZpbHRlcjo6UHJlZmlsdGVyOjpmaW5kX2luOjpoMmQwNzRlNTg2YW\ +U0MjZhOcsTTmNvcmU6OmZtdDo6bnVtOjppbXA6OjxpbXBsIGNvcmU6OmZtdDo6RGlzcGxheSBmb3Ig\ +aTMyPjo6Zm10OjpoZDYzMDhkODQ1M2RjYzNiYcwTSGhhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VG\ +FibGVJbm5lcjo6Zml4X2luc2VydF9zbG90OjpoMzA5YzQ4N2M0ZWY1OTljOM0TSTx1cmw6OnBhcnNl\ +cjo6UGFyc2VFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZWEyOTk5ZTU4ZmRjNmRiNi\ +4yMzHOE0ZoYXNoYnJvd246OnJhdzo6UmF3VGFibGVJbm5lcjo6Zml4X2luc2VydF9zbG90OjpoOGEz\ +NGI2ZThhMmFjY2Q2OC4xMDQyzxNLY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGpzb25jX3BhcnNlcj\ +o6c2Nhbm5lcjo6U2Nhbm5lcj46OmhjMDU5NjJjOTBjOTY2Yzlm0BM5Z2xvYnNldDo6TGl0ZXJhbFN0\ +cmF0ZWd5OjptYXRjaGVzX2ludG86OmgwYjgzOGUxMTAyZjcwYzgx0RMyY29yZTo6aGFzaDo6SGFzaG\ +VyOjp3cml0ZV91c2l6ZTo6aGRmOGY2MjYyYWQ5ZjgxZjnSE0tjb3JlOjpoYXNoOjppbXBsczo6PGlt\ +cGwgY29yZTo6aGFzaDo6SGFzaCBmb3IgdTY0Pjo6aGFzaDo6aDQzYTBjZWY0YjkyY2YwY2HTE0k8dX\ +JsOjpwYXJzZXI6OlBhcnNlRXJyb3IgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGVhMjk5OWU1\ +OGZkYzZkYjYuNTM31BNJPHVybDo6cGFyc2VyOjpQYXJzZUVycm9yIGFzIGNvcmU6OmZtdDo6RGVidW\ +c+OjpmbXQ6OmhlYTI5OTllNThmZGM2ZGI2LjU3MNUTNWNvcmU6OnNsaWNlOjo8aW1wbCBbVF0+Ojpl\ +bmRzX3dpdGg6OmgyYzQxNDUwYmY2ZjM3YjY41hM6Y29yZTo6aGFzaDo6SGFzaGVyOjp3cml0ZV9sZW\ +5ndGhfcHJlZml4OjpoZDUwMmEwNmZiYTMzYWM4YtcTUWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTx0\ +aW55dmVjOjp0aW55dmVjOjpUaW55VmVjPFtjaGFyOyA0XT4+OjpoNzU3NGQ1NjIyMzQ0OTA0ZNgTST\ +x1cmw6OnBhcnNlcjo6UGFyc2VFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoZWEyOTk5\ +ZTU4ZmRjNmRiNi45NzDZEztqc29uY19wYXJzZXI6OnNjYW5uZXI6OlNjYW5uZXI6OmlzX2RpZ2l0Oj\ +poYzQ1NjlmYjlhNzk4MmU5NtoTUDxyZWdleF9hdXRvbWF0YTo6dXRpbDo6c3RhcnQ6OlN0YXJ0IGFz\ +IGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgxYjM1OTlhOTYwOTY2OGRl2xM5cmVnZXhfc3ludGF4Oj\ +p1dGY4OjpVdGY4U2VxdWVuY2VzOjpuZXc6OmgyNzJmOGRkNGVmMGEyNWUx3BNOcmVnZXhfYXV0b21h\ +dGE6Om5mYTo6dGhvbXBzb246OnJhbmdlX3RyaWU6OlJhbmdlVHJpZTo6c3RhdGU6OmhlMzBlOGFjYz\ +kwZDIwODBi3RNBcmVnZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246Om5mYTo6TkZBOjpzdGF0ZTo6\ +aDdjYjI2MDg5ZTY5N2M2ZTfeE0RyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpkZmE6OkxhenlSZWY6Om\ +lzX3NlbnRpbmVsOjpoNTc0Y2Y3ZmY4OTQ0NWIyYd8TUXJlZ2V4X2F1dG9tYXRhOjptZXRhOjp3cmFw\ +cGVyczo6Qm91bmRlZEJhY2t0cmFja2VyQ2FjaGU6OnJlc2V0OjpoMWE4YmEzZGFiYjVjYjI3ZeATRn\ +JlZ2V4X2F1dG9tYXRhOjptZXRhOjp3cmFwcGVyczo6T25lUGFzc0NhY2hlOjpyZXNldDo6aDg4Nzdj\ +MDFlMjI2Y2QwYWLhE1Fjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfc3ludGF4Ojphc3Q6On\ +BhcnNlOjpDbGFzc1N0YXRlPjo6aDhlZDMxZmQzYjM4ZWFmZTPiE2U8Y29yZTo6b3BzOjpyYW5nZTo6\ +UmFuZ2VGcm9tPHVzaXplPiBhcyBjb3JlOjpzbGljZTo6aW5kZXg6OlNsaWNlSW5kZXg8W1RdPj46Om\ +luZGV4OjpoZTBhZjAwYTA4M2U3M2ZiZOMTRzxzdGQ6OmlvOjplcnJvcjo6RXJyb3JLaW5kIGFzIGNv\ +cmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhlYWQzNzZiNGFlNDQyMTNm5BNAY29yZTo6c2xpY2U6OnNvcn\ +Q6OnN0YWJsZTo6ZHJpZnQ6OnNxcnRfYXBwcm94OjpoZjEwN2M3Yjc5YTJhMDcyNeUTZTxjb3JlOjpv\ +cHM6OnJhbmdlOjpSYW5nZTx1c2l6ZT4gYXMgY29yZTo6c2xpY2U6OmluZGV4OjpTbGljZUluZGV4PF\ +tUXT4+OjppbmRleF9tdXQ6Omg4NWJhZjM4NTNjZmZhYmY05hM4YWxsb2M6OmFsbG9jOjpHbG9iYWw6\ +OmFsbG9jX2ltcGw6Omg5MzcxNjljMzllYWM3OTIxLjEwMzbnE0FhbGxvYzo6Y29sbGVjdGlvbnM6Om\ +J0cmVlOjpub2RlOjptb3ZlX3RvX3NsaWNlOjpoM2E0ZDRmMjk2NmYzZjhhZegTOWNvcmU6OmZtdDo6\ +YnVpbGRlcnM6OkRlYnVnTGlzdDo6ZmluaXNoOjpoMmUzMjczMzVlZWUzYjIzZekTQzxhbGxvYzo6c3\ +luYzo6QXJjPFQsQT4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDU1NzU0YTEyYmMxMDJmMDnq\ +E0Vjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6OnNvcnQ4X3N0YWJsZTo6aGEyMG\ +M0MDU0YzY4M2MwYjPrE2U8Y29yZTo6b3BzOjpyYW5nZTo6UmFuZ2U8dXNpemU+IGFzIGNvcmU6OnNs\ +aWNlOjppbmRleDo6U2xpY2VJbmRleDxbVF0+Pjo6aW5kZXhfbXV0OjpoMGRmZDc2YWFkYjI0NDczMO\ +wTZTxjb3JlOjpvcHM6OnJhbmdlOjpSYW5nZTx1c2l6ZT4gYXMgY29yZTo6c2xpY2U6OmluZGV4OjpT\ +bGljZUluZGV4PFtUXT4+OjppbmRleF9tdXQ6OmgyNzI1Yzc0MDI5OWU4MjA37RNDPGFsbG9jOjpzeW\ +5jOjpBcmM8VCxBPiBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMWY5MDFlNWY4YjQ3MTAzNe4T\ +XTxhaG9fY29yYXNpY2s6OmRmYTo6REZBIGFzIGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbW\ +F0b24+OjpuZXh0X3N0YXRlOjpoZmYxY2ViZjJmMmRjMmRiNO8TRmNvcmU6OnB0cjo6ZHJvcF9pbl9w\ +bGFjZTxhbnlob3c6OmNoYWluOjpDaGFpblN0YXRlPjo6aDZjZTczYWQzZTRmYjA0NTfwEzhhbGxvYz\ +o6YWxsb2M6Okdsb2JhbDo6YWxsb2NfaW1wbDo6aDkzNzE2OWMzOWVhYzc5MjEuMTM5MvETOGNvcmU6\ +OmZtdDo6YnVpbGRlcnM6OkRlYnVnU2V0OjpmaW5pc2g6OmgzMDMwYWZkOWI3YmFjM2Iy8hNBYWxsb2\ +M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bW92ZV90b19zbGljZTo6aDU3MzU5OTE0NDc0MGMz\ +ZTfzEz48YWxsb2M6OnJjOjpSYzxULEE+IGFzIGNvcmU6OmNtcDo6T3JkPjo6Y21wOjpoYjI4OGU0Mz\ +M3YjEwYzllZvQTZTxjb3JlOjpvcHM6OnJhbmdlOjpSYW5nZTx1c2l6ZT4gYXMgY29yZTo6c2xpY2U6\ +OmluZGV4OjpTbGljZUluZGV4PFtUXT4+OjppbmRleF9tdXQ6OmgwNTdhZmNmNTkwMjU5MTg59RNJPC\ +ZzdHIgYXMgY29yZTo6c3RyOjpwYXR0ZXJuOjpQYXR0ZXJuPjo6c3RyaXBfc3VmZml4X29mOjpoZjgw\ +ZWQzODRkYzY1ZWNkOPYTZTxjb3JlOjpvcHM6OnJhbmdlOjpSYW5nZTx1c2l6ZT4gYXMgY29yZTo6c2\ +xpY2U6OmluZGV4OjpTbGljZUluZGV4PFtUXT4+OjppbmRleF9tdXQ6OmgzYTViOTY0MDk1NmVhZjBi\ +9xNBYWxsb2M6OmNvbGxlY3Rpb25zOjpidHJlZTo6bm9kZTo6bW92ZV90b19zbGljZTo6aDBlMGE0Zj\ +NmOWQwYzJjNDP4E2U8Y29yZTo6b3BzOjpyYW5nZTo6UmFuZ2U8dXNpemU+IGFzIGNvcmU6OnNsaWNl\ +OjppbmRleDo6U2xpY2VJbmRleDxbVF0+Pjo6aW5kZXhfbXV0OjpoNmRkZjQxNzNkOWRhOTc3ZPkTQW\ +FsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1vdmVfdG9fc2xpY2U6Omg0Njc5OWJmZDI1\ +YWM0NWRh+hNdPGFsbG9jOjpib3Jyb3c6OkNvdzxCPiBhcyBjb3JlOjpjbXA6OlBhcnRpYWxFcTxhbG\ +xvYzo6Ym9ycm93OjpDb3c8Qz4+Pjo6ZXE6Omg5ZDJjOTA0M2I5ZTU4Mzc1+xNlPGNvcmU6Om9wczo6\ +cmFuZ2U6OlJhbmdlPHVzaXplPiBhcyBjb3JlOjpzbGljZTo6aW5kZXg6OlNsaWNlSW5kZXg8W1RdPj\ +46OmluZGV4X211dDo6aGQwNjBmNDk2YWMwNDRkMmb8E0FhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVl\ +Ojpub2RlOjptb3ZlX3RvX3NsaWNlOjpoMDI4YTkyZGJkM2M5NWZjOf0TMG1vbmNoOjpQYXJzZUVycm\ +9yRmFpbHVyZTo6bmV3OjpoYTE5NTBkZDFjYzVkMjllZP4TTWhhc2hicm93bjo6cmF3OjpSYXdUYWJs\ +ZTxULEE+OjpyZXNlcnZlX3JlaGFzaDo6e3tjbG9zdXJlfX06Omg2YjRjMDQwODkzNzAyOTZk/xNFY2\ +9yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X3N5bnRheDo6aGlyOjpDbGFzcz46OmgyNmUxMWY0\ +YTZmYTA2OGQygBQwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg2MDBiMmZmNjg4ZmFlYm\ +ZmgRRlPGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdlPHVzaXplPiBhcyBjb3JlOjpzbGljZTo6aW5kZXg6\ +OlNsaWNlSW5kZXg8W1RdPj46OmluZGV4X211dDo6aDMxZGQwZWMxNjZlYTM4MjaCFDtjb3JlOjpzbG\ +ljZTo6PGltcGwgW1RdPjo6Y29weV9mcm9tX3NsaWNlOjpoYmIxMzBjMGFkZWFlNWRjOIMUWXJlZ2V4\ +X2F1dG9tYXRhOjptZXRhOjpyZWdleDo6QnVpbGRlcjo6YnVpbGRfbWFueV9mcm9tX2hpcjo6e3tjbG\ +9zdXJlfX06OmhiMDJjNWU0MzE5ZWU5MzRkhBRlPGNvcmU6Om9wczo6cmFuZ2U6OlJhbmdlPHVzaXpl\ +PiBhcyBjb3JlOjpzbGljZTo6aW5kZXg6OlNsaWNlSW5kZXg8W1RdPj46OmluZGV4X211dDo6aGEyMW\ +JmMzM5YmM3MGVlYjSFFFFjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfc3ludGF4Ojphc3Q6\ +OnBhcnNlOjpHcm91cFN0YXRlPjo6aGFiZDQyYTljOGMxMTc1OTWGFExyZWdleF9zeW50YXg6OmFzdD\ +o6cGFyc2U6OlBhcnNlckk8UD46OmJ1bXBfYW5kX2J1bXBfc3BhY2U6OmhhODA4OGEzNDE3MTM5MzEy\ +hxRPY29yZTo6Y21wOjppbXBsczo6PGltcGwgY29yZTo6Y21wOjpQYXJ0aWFsRXE8JkI+IGZvciAmQT\ +46OmVxOjpoOTVlM2NjMTY1YWQwYmU1YYgUPHJlZ2V4X3N5bnRheDo6YXN0OjpwYXJzZTo6UHJpbWl0\ +aXZlOjpzcGFuOjpoOTBjZTlhZmE0Y2ZlNTY0Y4kUPnJ5dTo6ZDJzX2ludHJpbnNpY3M6Om11bHRpcG\ +xlX29mX3Bvd2VyX29mXzU6OmhkMjY3ZDM0NDAwYTRhZDcwihQ3c2VyZGVfd2FzbV9iaW5kZ2VuOjpk\ +ZTo6Y29udmVydF9wYWlyOjpoNzIwZTg1ZjcyYjQyZmM2YYsUSDxhbGxvYzo6dmVjOjpWZWM8VCxBPi\ +BhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoOGI1YjM2NjA0NjYwY2E2MowUXGNvcmU6\ +OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9wdGlvbjxzdGQ6OmJhY2t0cmFjZTo6Qm\ +Fja3RyYWNlPj46Omg5Yjk1Y2M2NzFhZjhkOGM5jRRFPGFsbG9jOjpib3Jyb3c6OkNvdzxCPiBhcyBj\ +b3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6OmhhNDdjNzJhNmY3YjEwNzUwjhQ0YWxsb2M6OmJvcnJvdz\ +o6Q293PEI+OjppbnRvX293bmVkOjpoNzA4ZWZkYjExODIwNTg1MI8UcmNvcmU6OnB0cjo6ZHJvcF9p\ +bl9wbGFjZTxhbGxvYzo6c3luYzo6QXJjPGR5biBhaG9fY29yYXNpY2s6OnBhY2tlZDo6dGVkZHk6Om\ +J1aWxkZXI6OlNlYXJjaGVyVD4+OjpoZDUxNjIxOTk2MzY2NDI2OJAUZmNvcmU6OnB0cjo6ZHJvcF9p\ +bl9wbGFjZTxhbGxvYzo6c3luYzo6QXJjPGFob19jb3Jhc2ljazo6cGFja2VkOjpwYXR0ZXJuOjpQYX\ +R0ZXJucz4+OjpoOWUyM2VmODllNzk4ZjY2MpEUUjxhaG9fY29yYXNpY2s6OnBhY2tlZDo6YXBpOjpN\ +YXRjaEtpbmQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGE3NGI0NWQ3ZTljOGZjN2KSFERhaG\ +9fY29yYXNpY2s6OnBhY2tlZDo6YXBpOjpTZWFyY2hlcjo6ZmluZF9pbl9zbG93OjpoMmQ4ZjBjM2Q2\ +ODhiYTE0MpMUU2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhaG9fY29yYXNpY2s6OmFob2NvcmFzaW\ +NrOjpBaG9Db3Jhc2ljaz46OmgyZDgxN2NiN2M2ZTE5ZGJklBRJPGNvcmU6Om9wdGlvbjo6T3B0aW9u\ +PFQ+IGFzIGNvcmU6OmNsb25lOjpDbG9uZT46OmNsb25lOjpoNDQ0NmY2YTVjMDBhMGFiYZUUSDxhbG\ +xvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoODAxYTA3\ +YWM5MjEyMjY1YpYUSDxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3\ +A+Ojpkcm9wOjpoMzc2ZTgxMTcxY2Y5NGMwNJcUSDxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3Jl\ +OjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoNDI3NWQyMDk2N2Q3NWE1ZpgUSDxhbGxvYzo6dmVjOj\ +pWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoOTc0MmJhZmFmZGFkMTZi\ +MZkUL2dsb2JzZXQ6Omdsb2I6OlBhcnNlcjo6ZXJyb3I6OmhiMTg4ZDgxNzYwNTRlOTczmhRHY29yZT\ +o6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X3N5bnRheDo6ZXJyb3I6OkVycm9yPjo6aDEyZWQyOTRk\ +NDM4OTNiZGabFEg8dXNpemUgYXMgY29yZTo6c2xpY2U6OmluZGV4OjpTbGljZUluZGV4PFtUXT4+Oj\ +ppbmRleDo6aDViNGEwMzc1NjUyNTA3YzecFEw8dXNpemUgYXMgY29yZTo6c2xpY2U6OmluZGV4OjpT\ +bGljZUluZGV4PFtUXT4+OjppbmRleF9tdXQ6OmgzYWQ1YjYzOTgyYWVhYTVlnRRIY29yZTo6cHRyOj\ +pkcm9wX2luX3BsYWNlPGpzb25jX3BhcnNlcjo6dG9rZW5zOjpUb2tlbj46OmhmNzk3OTNlZDJhYTdl\ +NDg0nhRAY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHN0ZDo6dGhyZWFkOjpUaHJlYWQ+OjpoYmY0Zm\ +NhMmVjODk0YzY1Y58UVGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6bmZh\ +Ojp0aG9tcHNvbjo6bmZhOjpORkE+OjpoMDE5NTljODdiNTljNTY2NaAUVmNvcmU6OnB0cjo6ZHJvcF\ +9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6dXRpbDo6Y2FwdHVyZXM6Okdyb3VwSW5mbz46OmgxNjhk\ +YTM5ZmQ5ZTgwNDg3oRRCY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9jOjpzeW5jOjpBcmM8c3\ +RyPj46Omg5MmE5ODFjN2QxMmY1MzgxohRTY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X2F1\ +dG9tYXRhOjptZXRhOjpyZWdleDo6UmVnZXhJbmZvPjo6aGVlZjQ4NTM0NzlkNzQ1M2GjFE1yZWdleF\ +9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6YnVpbGRlcjo6QnVpbGRlcjo6YWRkX2VtcHR5OjpoMzUy\ +OGY2ZWVjNWFjYmNmNaQUL2FsbG9jOjp2ZWM6OlZlYzxULEE+OjpyZXNpemU6Omg1ZWRlMzRjN2QyMG\ +MyNzBjpRQvYWxsb2M6OnZlYzo6VmVjPFQsQT46OnJlc2l6ZTo6aGYxN2RmM2RmM2IyZTZiNGWmFFxj\ +b3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfYXV0b21hdGE6OnV0aWw6OmRldGVybWluaXplOj\ +pzdGF0ZTo6U3RhdGU+OjpoNDc0NjBjZThlNzlhZWYxM6cURnJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpj\ +YXB0dXJlczo6R3JvdXBJbmZvOjpzbG90X2xlbjo6aDkwNTU4Nzg3MmEzMTdjZjCoFEg8YWxsb2M6On\ +ZlYzo6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDFkMTA5NGIxODJi\ +M2JjNzSpFI0BcmVnZXhfYXV0b21hdGE6OnV0aWw6OnByaW1pdGl2ZXM6OjxpbXBsIGNvcmU6Om9wcz\ +o6aW5kZXg6OkluZGV4PHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmltaXRpdmVzOjpTdGF0ZUlEPiBm\ +b3IgW1RdPjo6aW5kZXg6OmhkNzdlOWRlNjg1ZGQyZTkwqhRAcmVnZXhfYXV0b21hdGE6OnV0aWw6On\ +NlYXJjaDo6TWF0Y2hFcnJvcjo6bmV3OjpoNmQzMDdlY2IwYjJmMjMyN6sUXHJlZ2V4X2F1dG9tYXRh\ +Ojp1dGlsOjpkZXRlcm1pbml6ZTo6c3RhdGU6OlN0YXRlQnVpbGRlckVtcHR5OjppbnRvX21hdGNoZX\ +M6OmgyOWQyODU2MmNiMmI4YzIyrBRScmVnZXhfYXV0b21hdGE6OnV0aWw6OmRldGVybWluaXplOjpz\ +dGF0ZTo6UmVwcjo6aGFzX3BhdHRlcm5faWRzOjpoZTlkMjMxYTEzMjJmZjM5Zq0UUnJlZ2V4X2F1dG\ +9tYXRhOjp1dGlsOjpkZXRlcm1pbml6ZTo6c3RhdGU6OlJlcHJWZWM6OnNldF9pc19tYXRjaDo6aDgy\ +MDI3NzA5N2M4NTliYTauFElyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpkZmE6OkxhenlSZWY6OmdldF\ +9jYWNoZWRfc3RhdGU6OmhkYzI0M2FlMTUyNGYwNDRlrxRrY29yZTo6cHRyOjpkcm9wX2luX3BsYWNl\ +PGFsbG9jOjpzeW5jOjpBcmM8ZHluIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYX\ +RlZ3k+Pjo6aGRhNzQzM2U1MGRiYzM2NGWwFERyZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6\ +cGlrZXZtOjpDYWNoZTo6bmV3OjpoZWYzYjQ5OThmY2Y5OTcyZrEUlwFyZWdleF9hdXRvbWF0YTo6dX\ +RpbDo6cHJpbWl0aXZlczo6PGltcGwgY29yZTo6b3BzOjppbmRleDo6SW5kZXhNdXQ8cmVnZXhfYXV0\ +b21hdGE6OnV0aWw6OnByaW1pdGl2ZXM6OlNtYWxsSW5kZXg+IGZvciBbVF0+OjppbmRleF9tdXQ6Om\ +g5MTlmZWJhMGI1ZTA3ZDE1shRTY29yZTo6YXJyYXk6OjxpbXBsIGNvcmU6Om9wczo6aW5kZXg6Oklu\ +ZGV4PEk+IGZvciBbVDsgTl0+OjppbmRleDo6aGZjNjMxOGFjYTk0N2U3M2KzFE48YWxsb2M6OnZlYz\ +o6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjppbmRleDo6SW5kZXg8ST4+OjppbmRleDo6aDBiMDkxZmFj\ +YjYxNzFiN2K0FGdjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfYXV0b21hdGE6OnV0aWw6On\ +ByZWZpbHRlcjo6YWhvX2NvcmFzaWNrOjpBaG9Db3Jhc2ljaz46Omg0NTZlYmQxYmJhMGQwNDNhtRRT\ +Y29yZTo6YXJyYXk6OjxpbXBsIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4PEk+IGZvciBbVDsgTl0+Oj\ +ppbmRleDo6aDhiNmU3YjI4YTlmMWJhMDm2FHNjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6\ +b3B0aW9uOjpPcHRpb248KGFsbG9jOjpzdHJpbmc6OlN0cmluZyxzZXJkZV9qc29uOjp2YWx1ZTo6Vm\ +FsdWUpPj46OmhhNjVhOTIwNmE3YzEyNzE0txRCY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPG1lbWNo\ +cjo6Y293OjpDb3dCeXRlcz46OmgwZDUzZWJkMGRhNDU2MTI0uBSaAWFob19jb3Jhc2ljazo6dXRpbD\ +o6cHJpbWl0aXZlczo6PGltcGwgY29yZTo6b3BzOjppbmRleDo6SW5kZXg8YWhvX2NvcmFzaWNrOjp1\ +dGlsOjpwcmltaXRpdmVzOjpQYXR0ZXJuSUQ+IGZvciBhbGxvYzo6dmVjOjpWZWM8VD4+OjppbmRleD\ +o6aGQzOGY0MzM3NjVhNTM0NGO5FEVjb3JlOjpzbGljZTo6c29ydDo6c3RhYmxlOjpkcmlmdDo6c3Rh\ +YmxlX3F1aWNrc29ydDo6aDQ5ZWZiMWIyZGNkYTNkMDG6FEVjb3JlOjpzbGljZTo6c29ydDo6c3RhYm\ +xlOjpkcmlmdDo6c3RhYmxlX3F1aWNrc29ydDo6aDM4ZWI5YjUyZmRhNWYwZDa7FJgBYWhvX2NvcmFz\ +aWNrOjp1dGlsOjpwcmltaXRpdmVzOjo8aW1wbCBjb3JlOjpvcHM6OmluZGV4OjpJbmRleDxhaG9fY2\ +9yYXNpY2s6OnV0aWw6OnByaW1pdGl2ZXM6OlN0YXRlSUQ+IGZvciBhbGxvYzo6dmVjOjpWZWM8VD4+\ +OjppbmRleDo6aDkyY2NiMWQ2N2ZhMDM0MGW8FJoBYWhvX2NvcmFzaWNrOjp1dGlsOjpwcmltaXRpdm\ +VzOjo8aW1wbCBjb3JlOjpvcHM6OmluZGV4OjpJbmRleDxhaG9fY29yYXNpY2s6OnV0aWw6OnByaW1p\ +dGl2ZXM6OlBhdHRlcm5JRD4gZm9yIGFsbG9jOjp2ZWM6OlZlYzxUPj46OmluZGV4OjpoNDdkNzNkZj\ +ZlYTlhNTU0Yr0UmAFhaG9fY29yYXNpY2s6OnV0aWw6OnByaW1pdGl2ZXM6OjxpbXBsIGNvcmU6Om9w\ +czo6aW5kZXg6OkluZGV4PGFob19jb3Jhc2ljazo6dXRpbDo6cHJpbWl0aXZlczo6U3RhdGVJRD4gZm\ +9yIGFsbG9jOjp2ZWM6OlZlYzxUPj46OmluZGV4OjpoMDZkNGRkNmQyMWQ3N2Q5Mb4UmAFhaG9fY29y\ +YXNpY2s6OnV0aWw6OnByaW1pdGl2ZXM6OjxpbXBsIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4PGFob1\ +9jb3Jhc2ljazo6dXRpbDo6cHJpbWl0aXZlczo6U3RhdGVJRD4gZm9yIGFsbG9jOjp2ZWM6OlZlYzxU\ +Pj46OmluZGV4OjpoNTQxNTZiYzc0MzdkZTg3Y78UTWFob19jb3Jhc2ljazo6dXRpbDo6cmVtYXBwZX\ +I6OlJlbWFwcGVyOjpyZW1hcDo6e3tjbG9zdXJlfX06Omg3MmQ4YTMzZDk2ODIxODU1wBROY29yZTo6\ +Zm10OjpudW06OmltcDo6PGltcGwgY29yZTo6Zm10OjpEaXNwbGF5IGZvciBpNjQ+OjpmbXQ6OmhlNT\ +E2ODQ5OGRkMjYzODc1wRRLY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGRlbm9fY29uZmlnOjpnbG9i\ +OjpHbG9iUGF0dGVybj46Omg1MTUxN2Q2M2IyMjVhYjgxwhRVPGFsbG9jOjp2ZWM6OlZlYzxULEE+IG\ +FzIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4TXV0PEk+Pjo6aW5kZXhfbXV0OjpoODQ2YWRkMzQxOTVh\ +YTQxM8MURWNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0OjpzdGFibGVfcXVpY2tzb3J0Oj\ +poMjc2MDQ1NjE3ZDAwMzI5ZcQURWNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0OjpzdGFi\ +bGVfcXVpY2tzb3J0OjpoYTlhNzZhNzA2OGQwOGU0ZMUUSTxjb3JlOjpvcHRpb246Ok9wdGlvbjxUPi\ +BhcyBjb3JlOjpjbG9uZTo6Q2xvbmU+OjpjbG9uZTo6aDFiMTE0Yjg0MDdkMjk0MTfGFERjb3JlOjpw\ +dHI6OmRyb3BfaW5fcGxhY2U8aWdub3JlOjpnaXRpZ25vcmU6Okdsb2I+OjpoOTYxNmUwZjBiNzRjNG\ +MxMMcUTjxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmluZGV4OjpJbmRleDxJPj46\ +OmluZGV4OjpoNjc2NDQ5OTdlNDYwYmYxNcgUTDxhbGxvYzo6c3luYzo6QXJjPFQsQT4gYXMgY29yZT\ +o6b3BzOjpkZXJlZjo6RGVyZWY+OjpkZXJlZjo6aDI3YTc1MWFiNWZmOGIwYTnJFD9jb3JlOjpwdHI6\ +OmRyb3BfaW5fcGxhY2U8Z2xvYnNldDo6Q2FuZGlkYXRlPjo6aDdlMzZiZTdmYzMwZmM2NDDKFFdoYX\ +NoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPjo6ZmluZF9vcl9maW5kX2luc2VydF9zbG90Ojp7e2Ns\ +b3N1cmV9fTo6aDY1NjlkNmZiMTExOTU4MTbLFFdoYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPj\ +o6ZmluZF9vcl9maW5kX2luc2VydF9zbG90Ojp7e2Nsb3N1cmV9fTo6aDczNWI1NzkyM2E1OGJiOTbM\ +FFdoYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPjo6ZmluZF9vcl9maW5kX2luc2VydF9zbG90Oj\ +p7e2Nsb3N1cmV9fTo6aDdmYWQwMzM2ZjA1ZmZiYjPNFFU8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMg\ +Y29yZTo6b3BzOjppbmRleDo6SW5kZXhNdXQ8ST4+OjppbmRleF9tdXQ6Omg4ZGFlMzg0OGJjNzNhYz\ +AwzhRFY29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnQ6OnN0YWJsZV9xdWlja3NvcnQ6Omhh\ +ZTVmMTc5ODIzYzI2MmNizxRFY29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6ZHJpZnQ6OnN0YWJsZV\ +9xdWlja3NvcnQ6OmhjZTFjZWI5ZTU2ZWQ0NGZh0BRFY29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6\ +ZHJpZnQ6OnN0YWJsZV9xdWlja3NvcnQ6Omg5ZmY3NGFjMzAzZmQyNzE50RRFY29yZTo6c2xpY2U6On\ +NvcnQ6OnN0YWJsZTo6ZHJpZnQ6OnN0YWJsZV9xdWlja3NvcnQ6OmgyOTcxMTIyZWI0OGRiOTRj0hRV\ +PGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4TXV0PEk+Pjo6aW\ +5kZXhfbXV0OjpoNzhiZDUzNTM4OGQxOTIzZNMURWNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRy\ +aWZ0OjpzdGFibGVfcXVpY2tzb3J0OjpoMTUyYWY2MjU2YjU4MDJmY9QURWNvcmU6OnNsaWNlOjpzb3\ +J0OjpzdGFibGU6OmRyaWZ0OjpzdGFibGVfcXVpY2tzb3J0OjpoZGMwZTU5NDQwMTZlYzEwM9UUP3dh\ +c21fYmluZGdlbjo6Y29udmVydDo6Y2xvc3VyZXM6Omludm9rZTRfbXV0OjpoZTI3ODFjNDlkOTAyZj\ +FmZtYUOGpzb25jX3BhcnNlcjo6c2Nhbm5lcjo6U2Nhbm5lcjo6dG9rZW46OmgwMjU0MWFmM2Q2MmIw\ +YzY51xROPGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4PEk+Pj\ +o6aW5kZXg6OmgzNzVkYzVjOWQ1MDIxYjRh2BQ8cmVnZXhfc3ludGF4OjpoaXI6OkNsYXNzVW5pY29k\ +ZTo6aXNfYXNjaWk6Omg1NDkzZjE0MWZlYTVmOTlh2RROPGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIG\ +NvcmU6Om9wczo6aW5kZXg6OkluZGV4PEk+Pjo6aW5kZXg6OmhmNjVhNTY2ODRmNmUzNjJj2hRScmVn\ +ZXhfYXV0b21hdGE6Om5mYTo6dGhvbXBzb246OnJhbmdlX3RyaWU6OlJhbmdlVHJpZTo6c3RhdGVfbX\ +V0OjpoMjUwNDRhOTljNmM3OGRkYdsUnAFyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJpbWl0aXZlczo6\ +PGltcGwgY29yZTo6b3BzOjppbmRleDo6SW5kZXg8cmVnZXhfYXV0b21hdGE6OnV0aWw6OnByaW1pdG\ +l2ZXM6OlN0YXRlSUQ+IGZvciBhbGxvYzo6dmVjOjpWZWM8VD4+OjppbmRleDo6aGRjM2RjZTk1MzE1\ +MjFiMjDcFE48YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6b3BzOjppbmRleDo6SW5kZXg8ST\ +4+OjppbmRleDo6aDZkMTIzMTY2ZWIyMjBkMmXdFEVjb3JlOjpzbGljZTo6c29ydDo6c3RhYmxlOjpk\ +cmlmdDo6c3RhYmxlX3F1aWNrc29ydDo6aGIxM2E2OWE5ZTcyZGE4YzjeFEpyZWdleF9hdXRvbWF0YT\ +o6ZGZhOjpvbmVwYXNzOjpERkE6OnNldF9wYXR0ZXJuX2Vwc2lsb25zOjpoMzBiNmVlNWFmNzYxMjdk\ +Od8UTnJlZ2V4X2F1dG9tYXRhOjpkZmE6OnJlbWFwcGVyOjpSZW1hcHBlcjo6cmVtYXA6Ont7Y2xvc3\ +VyZX19OjpoODY1NWViYTM4ODc2ZTkzOOAUnAFyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJpbWl0aXZl\ +czo6PGltcGwgY29yZTo6b3BzOjppbmRleDo6SW5kZXg8cmVnZXhfYXV0b21hdGE6OnV0aWw6OnByaW\ +1pdGl2ZXM6OlN0YXRlSUQ+IGZvciBhbGxvYzo6dmVjOjpWZWM8VD4+OjppbmRleDo6aDg5OGUxYjk2\ +NDQzMTJiMTnhFKUBcmVnZXhfYXV0b21hdGE6OnV0aWw6OnByaW1pdGl2ZXM6OjxpbXBsIGNvcmU6Om\ +9wczo6aW5kZXg6OkluZGV4TXV0PHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmltaXRpdmVzOjpQYXR0\ +ZXJuSUQ+IGZvciBhbGxvYzo6dmVjOjpWZWM8VD4+OjppbmRleF9tdXQ6OmhmZWFlMzdiNzRlZWYyMz\ +Mx4hSeAXJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmltaXRpdmVzOjo8aW1wbCBjb3JlOjpvcHM6Omlu\ +ZGV4OjpJbmRleDxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJpbWl0aXZlczo6UGF0dGVybklEPiBmb3\ +IgYWxsb2M6OnZlYzo6VmVjPFQ+Pjo6aW5kZXg6Omg4OGM0Nzg0OTIzZjllNTky4xSlAXJlZ2V4X2F1\ +dG9tYXRhOjp1dGlsOjpwcmltaXRpdmVzOjo8aW1wbCBjb3JlOjpvcHM6OmluZGV4OjpJbmRleE11dD\ +xyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJpbWl0aXZlczo6UGF0dGVybklEPiBmb3IgYWxsb2M6OnZl\ +Yzo6VmVjPFQ+Pjo6aW5kZXhfbXV0OjpoN2FlYzMzMGE1OGE5MmJhNuQUTjxhbGxvYzo6dmVjOjpWZW\ +M8VCxBPiBhcyBjb3JlOjpvcHM6OmluZGV4OjpJbmRleDxJPj46OmluZGV4OjpoMzk1ZjQyOWUyZDc1\ +NGI0ZOUUR3JlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6TGF6eTo6cHV0X3N0YXRlX2J1aWxkZX\ +I6OmhhMGI2ZDIyNDU4YzZhZGIz5hRZY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6Om9wdGlv\ +bjo6T3B0aW9uPGFsbG9jOjpib3hlZDo6Qm94PHN0cj4+Pjo6aDM0MWVkOTI3OTJhODRiNzTnFDtjb3\ +JlOjpzbGljZTo6PGltcGwgW1RdPjo6Y29weV9mcm9tX3NsaWNlOjpoYjIxYWQzZmY3ZTAzYzg5MegU\ +RWNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0OjpzdGFibGVfcXVpY2tzb3J0OjpoNjM2MG\ +M3MDA3Y2JkNDI3MukURWNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0OjpzdGFibGVfcXVp\ +Y2tzb3J0OjpoODk0ODkxMjdhNGI2ZGUyMOoUTjxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOj\ +pvcHM6OmluZGV4OjpJbmRleDxJPj46OmluZGV4OjpoNjdhY2JlZTE3ZjM2ZDQ0Y+sUTjxhbGxvYzo6\ +dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmluZGV4OjpJbmRleDxJPj46OmluZGV4OjpoODAxMW\ +Y1MjA3MDIyODFkNewUTjxhbGxvYzo6dmVjOjpWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmluZGV4OjpJ\ +bmRleDxJPj46OmluZGV4OjpoNTRhZDg1NTFlNDg1YWZhMu0UOnJlZ2V4X3N5bnRheDo6aGlyOjpDbG\ +Fzc0J5dGVzOjppc19hc2NpaTo6aDk2YmY0OGM4YTVkOTMzMTTuFGE8Y29yZTo6c3RyOjppdGVyOjpD\ +aGFycyBhcyBjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46OmNvdW50OjpoZD\ +BiMTY4NjNkYWQyNGE4ZC4xNjcw7xRXPHVybDo6cGFyc2VyOjpJbnB1dCBhcyBjb3JlOjppdGVyOjp0\ +cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcj46Om5leHQ6OmhhYjQ1NmFhMzE3Njc0NmEz8BRoPGNvcm\ +U6Oml0ZXI6OmFkYXB0ZXJzOjp0YWtlOjpUYWtlPEk+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRl\ +cmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6aDIwZDE5ZmVjZTVmNDRmMGXxFEY8W0FdIGFzIGNvcmU6On\ +NsaWNlOjpjbXA6OlNsaWNlUGFydGlhbEVxPEI+Pjo6ZXF1YWw6Omg0NjlkMWM1ZmI2Y2RlYTZk8hRf\ +PHNlcmRlX3dhc21fYmluZGdlbjo6ZGU6Ok1hcEFjY2VzcyBhcyBzZXJkZTo6ZGU6Ok1hcEFjY2Vzcz\ +46Om5leHRfdmFsdWVfc2VlZDo6aDBmNjIzYWRkNDNjZGU4ZWHzFHRjb3JlOjpwdHI6OmRyb3BfaW5f\ +cGxhY2U8aW5kZXhtYXA6Om1hcDo6SW5kZXhNYXA8YWxsb2M6OnN0cmluZzo6U3RyaW5nLHNlcmRlX2\ +pzb246OnZhbHVlOjpWYWx1ZT4+OjpoNjcxN2E4N2JhZDI5NmNjM/QUkgFjb3JlOjpwdHI6OmRyb3Bf\ +aW5fcGxhY2U8Y29yZTo6b3B0aW9uOjpPcHRpb248YWxsb2M6OmJveGVkOjpCb3g8ZGVub19jb25maW\ +c6OndvcmtzcGFjZTo6cmVzb2x2ZXI6Ok1hcHBlZFJlc29sdXRpb25EaWFnbm9zdGljPj4+OjpoNjU4\ +NDcwYmY3MDFkMGYwOPUUN2NvcmU6OnNsaWNlOjo8aW1wbCBbVF0+OjpzdGFydHNfd2l0aDo6aDE4Mj\ +g2OWM3MWU3ZmIyMGH2FC9jb3JlOjpzdHI6OjxpbXBsIHN0cj46OnNwbGl0OjpoNjdiMDlhMTQyYTg3\ +YWY5OfcURWNvcmU6OnNsaWNlOjpzb3J0OjpzdGFibGU6OmRyaWZ0OjpzdGFibGVfcXVpY2tzb3J0Oj\ +poYTc0NzI2YTE0ZTJhZWQwN/gUXzxzZXJkZV93YXNtX2JpbmRnZW46OmRlOjpNYXBBY2Nlc3MgYXMg\ +c2VyZGU6OmRlOjpNYXBBY2Nlc3M+OjpuZXh0X3ZhbHVlX3NlZWQ6OmhiN2RlOWFhNWUxNWQ5MDg2+R\ +Qzc2VyZGVfanNvbjo6dmFsdWU6OlZhbHVlOjphc19zdHI6OmgzOGFjYWY0MDg2ZmJmM2Qw+hQ4YWxs\ +b2M6OmFsbG9jOjpHbG9iYWw6OmFsbG9jX2ltcGw6Omg5MzcxNjljMzllYWM3OTIxLjIyODj7FDBzZX\ +JkZV9qc29uOjp2YWx1ZTo6VmFsdWU6OmdldDo6aDZiYzVjMTc1YWU1YTAzNDH8FEVjb3JlOjpwdHI6\ +OmRyb3BfaW5fcGxhY2U8aW1wb3J0X21hcDo6U3BlY2lmaWVyTWFwPjo6aDFlNWNmYWU1YWViMTRmNT\ +P9FEVjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6OnNvcnQ4X3N0YWJsZTo6aDhh\ +Y2I2MjczMWU4ZGM5Nmb+FE9jb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWhvX2NvcmFzaWNrOjpuZm\ +E6OmNvbnRpZ3VvdXM6Ok5GQT46OmgxNzNkY2FiZTU2MDBmNjVj/xRrPGFob19jb3Jhc2ljazo6bmZh\ +Ojpjb250aWd1b3VzOjpORkEgYXMgYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbj46Om\ +1lbW9yeV91c2FnZTo6aGI5OTdjYjU3ZWQ1OTAxOTaAFUhhaG9fY29yYXNpY2s6OnV0aWw6OmFscGhh\ +YmV0OjpCeXRlQ2xhc3NTZXQ6OnNldF9yYW5nZTo6aDAyN2UxNmJlOTk0ZWE4OTCBFU88Y29yZTo6bn\ +VtOjplcnJvcjo6UGFyc2VJbnRFcnJvciBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6Omg5ZWUw\ +MzU2MThlZmJhNGYxghU0Y29yZTo6b3B0aW9uOjpPcHRpb248VD46OmFzX2RlcmVmOjpoYzVjMGY2M2\ +VmODU5YmY3M4MVT2NvcmU6OmNtcDo6aW1wbHM6OjxpbXBsIGNvcmU6OmNtcDo6UGFydGlhbEVxPCZC\ +PiBmb3IgJkE+OjplcTo6aDE0ZGRhMzE1Y2QyOThmZDaEFUVjb3JlOjpzbGljZTo6c29ydDo6c2hhcm\ +VkOjpzbWFsbHNvcnQ6OnNvcnQ4X3N0YWJsZTo6aGNlMmQzYTRjZmM3NWNjYjmFFWM8ZGVub19jb25m\ +aWc6OndvcmtzcGFjZTo6V29ya3NwYWNlRGlzY292ZXJFcnJvciBhcyBjb3JlOjpjb252ZXJ0OjpGcm\ +9tPEU+Pjo6ZnJvbTo6aDE0YmI2YzAzYWVmNDc2MTOGFWM8ZGVub19jb25maWc6OndvcmtzcGFjZTo6\ +V29ya3NwYWNlRGlzY292ZXJFcnJvciBhcyBjb3JlOjpjb252ZXJ0OjpGcm9tPEU+Pjo6ZnJvbTo6aD\ +Q2NjQ5ODg5ZTk2ZWJhNTOHFbABPGRlbm9fbG9ja2ZpbGU6Ol86OjxpbXBsIHNlcmRlOjpkZTo6RGVz\ +ZXJpYWxpemUgZm9yIGRlbm9fbG9ja2ZpbGU6OkxvY2tmaWxlUGFja2FnZUpzb25Db250ZW50Pjo6ZG\ +VzZXJpYWxpemU6Ol9fRmllbGRWaXNpdG9yIGFzIHNlcmRlOjpkZTo6VmlzaXRvcj46OnZpc2l0X3N0\ +cjo6aGM0NjlmNTFhYWJlNjg2NGSIFeMBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGhhc2hicm93bj\ +o6c2NvcGVndWFyZDo6U2NvcGVHdWFyZDxoYXNoYnJvd246OnJhdzo6aW5uZXI6OlJhd1RhYmxlSW5u\ +ZXIsaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZUlubmVyOjpwcmVwYXJlX3Jlc2l6ZTxoYX\ +NoYnJvd246OnJhdzo6aW5uZXI6OmFsbG9jOjppbm5lcjo6R2xvYmFsPjo6e3tjbG9zdXJlfX0+Pjo6\ +aDA5Yjc1NWRkZDQ5ZjJkMzWJFU1jb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8ZGVub19zZW12ZXI6Om\ +5wbTo6UmFuZ2VPckludmFsaWQ+OjpoZTg3NzZiNDQ0OGQ3NDhiZooVRWNvcmU6OnNsaWNlOjpzb3J0\ +OjpzaGFyZWQ6OnNtYWxsc29ydDo6c29ydDhfc3RhYmxlOjpoZGVkMjA2NTkyM2ZlMDg0MosVRWNvcm\ +U6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6c29ydDhfc3RhYmxlOjpoMjJjNzJmY2I0\ +OTljMTAwNYwVRWNvcmU6OnNsaWNlOjpzb3J0OjpzaGFyZWQ6OnNtYWxsc29ydDo6c29ydDhfc3RhYm\ +xlOjpoMjlkYmUyY2U4ZTI4OWE1Yo0VL2NvcmU6OnN0cjo6PGltcGwgc3RyPjo6c3BsaXQ6OmhiNWEx\ +ZjM1MGEyMzVlZWVmjhU/d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6aW52b2tlM19tdX\ +Q6OmgxNGNkMjFiNzY0NTM4MTA1jxU/d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6aW52\ +b2tlM19tdXQ6OmgxY2JlOTQ5NTBkMGZmZTE2kBU/d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdX\ +Jlczo6aW52b2tlM19tdXQ6OmgyNDJhNzJiZmI4MTJkNmMykRU/d2FzbV9iaW5kZ2VuOjpjb252ZXJ0\ +OjpjbG9zdXJlczo6aW52b2tlM19tdXQ6Omg0NjYzZjhlZDVlMmZlMDRmkhU/d2FzbV9iaW5kZ2VuOj\ +pjb252ZXJ0OjpjbG9zdXJlczo6aW52b2tlM19tdXQ6Omg5M2EzMWRkNDI0MDdkMmFmkxU/d2FzbV9i\ +aW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6aW52b2tlM19tdXQ6OmhhODRhMGJjZDQ0NmQwM2YxlB\ +U/d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6aW52b2tlM19tdXQ6OmhlN2U1NWRhNWQ3\ +NDhhNGVmlRU/d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6aW52b2tlM19tdXQ6OmhmMG\ +FiMmExNGVhOWI5NjM1lhVGcmVnZXhfYXV0b21hdGE6OmRmYTo6b25lcGFzczo6REZBOjpwYXR0ZXJu\ +X2Vwc2lsb25zOjpoNjU2OGZmNmZjNzExYjE1NZcVX2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZW\ +dleF9hdXRvbWF0YTo6bWV0YTo6d3JhcHBlcnM6OkJvdW5kZWRCYWNrdHJhY2tlcj46Omg3MDkzNjY4\ +Yjc4YWFiYThmmBVFY29yZTo6c2xpY2U6OnNvcnQ6OnNoYXJlZDo6c21hbGxzb3J0Ojpzb3J0OF9zdG\ +FibGU6OmhiYjE3YWI2ZjJmZTVhMmVhmRVPcmVnZXhfYXV0b21hdGE6OnV0aWw6OmNhcHR1cmVzOjpH\ +cm91cEluZm86OmV4cGxpY2l0X3Nsb3RfbGVuOjpoYjk0YjAwZDliNzExYzdkYZoVTHJlZ2V4X2F1dG\ +9tYXRhOjpoeWJyaWQ6OmRmYTo6TGF6eVJlZjo6c3RhdGVfZml0c19pbl9jYWNoZTo6aDhkNjRhMWM0\ +YTFmYzU2MzCbFUtyZWdleF9hdXRvbWF0YTo6dXRpbDo6ZGV0ZXJtaW5pemU6OnN0YXRlOjpSZXByOj\ +ppc19tYXRjaDo6aDQwNWZhYzhhNjhhYWJjOTacFVByZWdleF9hdXRvbWF0YTo6dXRpbDo6ZGV0ZXJt\ +aW5pemU6OnN0YXRlOjpTdGF0ZTo6aXNfaGFsZl9jcmxmOjpoOTFjOTk5MDY1YzczNjY4N50VUHJlZ2\ +V4X2F1dG9tYXRhOjp1dGlsOjpkZXRlcm1pbml6ZTo6c3RhdGU6OlN0YXRlOjppc19mcm9tX3dvcmQ6\ +Omg2N2RmNGQwNzYyYmFiNmUxnhVZY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X2F1dG9tYX\ +RhOjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZUlubmVyPjo6aDc3NTlhZjQzZmNiMTlkZmafFUVjb3Jl\ +OjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6OnNvcnQ4X3N0YWJsZTo6aDAzYmQyZjEwOW\ +UxZjQxZWagFUVjb3JlOjpzbGljZTo6c29ydDo6c2hhcmVkOjpzbWFsbHNvcnQ6OnNvcnQ4X3N0YWJs\ +ZTo6aDE3YTZiOGRiY2U3NTYxMDGhFUxyZWdleF9zeW50YXg6OmFzdDo6dmlzaXRvcjo6SGVhcFZpc2\ +l0b3I6OnZpc2l0X2NsYXNzX3Bvc3Q6OmhiM2ZjYTdiZjM2NTkzYmYwohU8cmVnZXhfc3ludGF4Ojpo\ +aXI6OmxpdGVyYWw6OlNlcTo6bGl0ZXJhbHM6OmhjZjY5ZDMzMGQxYTJhZmQ0oxU4YWxsb2M6OmFsbG\ +9jOjpHbG9iYWw6OmFsbG9jX2ltcGw6Omg5MzcxNjljMzllYWM3OTIxLjE3NTekFTNzZXJkZTo6ZGU6\ +Ok1hcEFjY2Vzczo6bmV4dF92YWx1ZTo6aDRjOGJiMDA1ZTgwZTA0OTGlFTFhbnlob3c6OmVycm9yOj\ +pvYmplY3RfZG93bmNhc3Q6OmhkMjgwYjM5N2M0NmIyM2JhphVJPGNvcmU6Om9wdGlvbjo6T3B0aW9u\ +PFQ+IGFzIGNvcmU6OmNsb25lOjpDbG9uZT46OmNsb25lOjpoOGZjYzVhNzczNzQzNGI3N6cVfmNvcm\ +U6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpyZXN1bHQ6OlJlc3VsdDxkZW5vX2NvbmZpZzo6ZGVu\ +b19qc29uOjpMb2NrQ29uZmlnLHNlcmRlX2pzb246OmVycm9yOjpFcnJvcj4+OjpoZTU0MTc4OTljND\ +dhNWJlOKgVR2Fob19jb3Jhc2ljazo6YWhvY29yYXNpY2s6OkFob0NvcmFzaWNrOjptZW1vcnlfdXNh\ +Z2U6OmhlZTM0ZTRhN2VhMjYyZWY1qRVEYWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6Ok\ +5GQTo6aXRlcl90cmFuczo6aDFlNDEyNGY0OWZmMzMzODaqFUZhaG9fY29yYXNpY2s6Om5mYTo6bm9u\ +Y29udGlndW91czo6TkZBOjppdGVyX21hdGNoZXM6OmgyNGM0ZWE0NTkzMDBlMTQ5qxWjAXJlZ2V4X2\ +F1dG9tYXRhOjp1dGlsOjpwcmltaXRpdmVzOjo8aW1wbCBjb3JlOjpvcHM6OmluZGV4OjpJbmRleE11\ +dDxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJpbWl0aXZlczo6U3RhdGVJRD4gZm9yIGFsbG9jOjp2ZW\ +M6OlZlYzxUPj46OmluZGV4X211dDo6aGJjMzEyNjZmZGRhODc2MWGsFTQ8Ym9vbCBhcyBjb3JlOjpm\ +bXQ6OkRpc3BsYXk+OjpmbXQ6OmhlZGVjZDk4NWFkMzRhYjFjrRVcPGFob19jb3Jhc2ljazo6ZGZhOj\ +pERkEgYXMgYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbj46Om1hdGNoX2xlbjo6aDM0\ +YWU1NDAyYzhjMTY2ODOuFTFhbnlob3c6OmVycm9yOjpvYmplY3RfZG93bmNhc3Q6OmgxODY5YzY5Nz\ +NhYTQzN2EyrxUxYW55aG93OjplcnJvcjo6b2JqZWN0X2Rvd25jYXN0OjpoMGVmYmEzYTliNWFjMjZj\ +ZLAVXmhhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6ZmluZF9vcl9maW5kX2luc2\ +VydF9zbG90Ojp7e2Nsb3N1cmV9fTo6aDYyODI0NDY1YjY5NmFhOTixFVRjb3JlOjpwdHI6OmRyb3Bf\ +aW5fcGxhY2U8ZGVub19jb25maWc6OndvcmtzcGFjZTo6Q29uZmlnUmVhZEVycm9yPjo6aGZjY2M2ZD\ +dhMmI2YmNlNDGyFTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGRmMDZhYzY2MjJkODE0\ +MTKzFTRjb3JlOjpvcHRpb246Ok9wdGlvbjxUPjo6YW5kX3RoZW46OmhiYjU2M2UxNDRhYTYzNTIztB\ +UxYW55aG93OjplcnJvcjo6b2JqZWN0X2Rvd25jYXN0OjpoNDY4M2M4NjQyZjVjNzU2ZbUVMWFueWhv\ +dzo6ZXJyb3I6Om9iamVjdF9kb3duY2FzdDo6aGFiNDhiNzY5MzQ3NzVmYjS2FTFhbnlob3c6OmVycm\ +9yOjpvYmplY3RfZG93bmNhc3Q6OmhkNmMxNThkMTY3NjdjZmJltxVeaGFzaGJyb3duOjpyYXc6Omlu\ +bmVyOjpSYXdUYWJsZTxULEE+OjpmaW5kX29yX2ZpbmRfaW5zZXJ0X3Nsb3Q6Ont7Y2xvc3VyZX19Oj\ +poMzY5Yzg1NjE5NjgzY2ZjM7gVnwFjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6cmVzdWx0\ +OjpSZXN1bHQ8ZGVub19zZW12ZXI6Ompzcjo6SnNyUGFja2FnZVJlcVJlZmVyZW5jZSxkZW5vX3NlbX\ +Zlcjo6cGFja2FnZTo6UGFja2FnZVJlcVJlZmVyZW5jZVBhcnNlRXJyb3I+Pjo6aGM5OWNmZDQwMDc3\ +MzAxMjW5FbABY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6OnJlc3VsdDo6UmVzdWx0PGNvcm\ +U6Om9wdGlvbjo6T3B0aW9uPGRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6OmRpc2NvdmVyeTo6Q29uZmln\ +Rm9sZGVyPixkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpDb25maWdSZWFkRXJyb3I+Pjo6aGJiN2I0Yj\ +g0OWJkOTA3ZWa6FakBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6OnJlc3VsdDo6UmVzdWx0\ +PGRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6OmRpc2NvdmVyeTo6UmF3UmVzb2x2ZWRXb3Jrc3BhY2UsZG\ +Vub19jb25maWc6OndvcmtzcGFjZTo6V29ya3NwYWNlRGlzY292ZXJFcnJvcj4+OjpoZTY4NTQ1ZDFi\ +NGY2Njk3N7sVTGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX3NlbXZlcjo6cGFja2FnZTo6UG\ +Fja2FnZU52Pjo6aDMyZTk5NWYyYTE0ZDc5Y2G8FZIBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNv\ +cmU6OnJlc3VsdDo6UmVzdWx0PGRlbm9fc2VtdmVyOjpqc3I6OkpzckRlcFBhY2thZ2VSZXEsZGVub1\ +9zZW12ZXI6Ompzcjo6SnNyRGVwUGFja2FnZVJlcVBhcnNlRXJyb3I+Pjo6aDYzY2MwZjgzOTlmYjAy\ +YzG9FVA8ZGVub19zZW12ZXI6OnJhbmdlOjpSYW5nZUJvdW5kIGFzIGNvcmU6OmNsb25lOjpDbG9uZT\ +46OmNsb25lOjpoMTIwMmE2YjM4MDg3ODk5Yr4VP3dhc21fYmluZGdlbjo6Y29udmVydDo6Y2xvc3Vy\ +ZXM6Omludm9rZTJfbXV0OjpoMTk3MDc2YmE1MTg2Zjk1Yr8VSDxjb3JlOjpvcHRpb246Ok9wdGlvbj\ +xUPiBhcyBjb3JlOjpjbXA6OlBhcnRpYWxFcT46OmVxOjpoMjVjNzFjNDU3YjBjNjNlYsAVW2NvcmU6\ +OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6dXRpbDo6Y2FwdHVyZXM6Okdyb3VwSW\ +5mb0lubmVyPjo6aDg1ZmZmNzdkZDJhMTM1MznBFTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZt\ +dDo6aDViY2Y3OTI2ODJkNTA2NDXCFT1yZWdleF9zeW50YXg6OnV0Zjg6OlV0ZjhTZXF1ZW5jZTo6YX\ +Nfc2xpY2U6OmgwOGY4MmU1MTQ4YWE3MjQ4wxU1Y29yZTo6cmVzdWx0OjpSZXN1bHQ8VCxFPjo6bWFw\ +X2Vycjo6aDAyYTAyOTA4ZmZmZDNkNjfEFUxyZWdleF9zeW50YXg6OmFzdDo6cGFyc2U6Ok5lc3RMaW\ +1pdGVyPFA+OjpkZWNyZW1lbnRfZGVwdGg6Omg2ZDQ5OWM0YjAxZDYzZmE2xRVIPHU4IGFzIHJlZ2V4\ +X3N5bnRheDo6aGlyOjppbnRlcnZhbDo6Qm91bmQ+OjppbmNyZW1lbnQ6Omg5Yzc1MWY4YjE4NTk4Nj\ +kxxhU1Y29yZTo6cmVzdWx0OjpSZXN1bHQ8VCxFPjo6bWFwX2Vycjo6aDQxOGEyNzJhYjIxYjYzOTDH\ +FYgBd2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjppbXBsczo6PGltcGwgd2FzbV9iaW5kZ2VuOjpjb252ZX\ +J0Ojp0cmFpdHM6OkZyb21XYXNtQWJpIGZvciBjb3JlOjpvcHRpb246Ok9wdGlvbjxUPj46OmZyb21f\ +YWJpOjpoOTM4ODdjMjE2YTEyYjg4ZMgVkgFjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3\ +B0aW9uOjpPcHRpb248KHNlcmRlOjpfX3ByaXZhdGU6OmRlOjpjb250ZW50OjpDb250ZW50LHNlcmRl\ +OjpfX3ByaXZhdGU6OmRlOjpjb250ZW50OjpDb250ZW50KT4+OjpoZmYyMjhjY2Y3OGQwOTk5OckVQG\ +hhc2hicm93bjo6cmF3Ojppbm5lcjo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZTo6aDg1NjdmODcwZGUx\ +ODA1YjHKFTNhbGxvYzo6YWxsb2M6Okdsb2JhbDo6YWxsb2NfaW1wbDo6aDkzNzE2OWMzOWVhYzc5Mj\ +HLFWU8Y29yZTo6b3BzOjpyYW5nZTo6UmFuZ2U8dXNpemU+IGFzIGNvcmU6OnNsaWNlOjppbmRleDo6\ +U2xpY2VJbmRleDxbVF0+Pjo6aW5kZXhfbXV0OjpoMzQ3NDY4NDRhZmY3NTc3ZswVbTxhaG9fY29yYX\ +NpY2s6Om5mYTo6bm9uY29udGlndW91czo6TkZBIGFzIGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjpB\ +dXRvbWF0b24+OjpzdGFydF9zdGF0ZTo6aGUwMTQ0ZGRhYTFhYTExMjjNFWo8YWhvX2NvcmFzaWNrOj\ +puZmE6OmNvbnRpZ3VvdXM6Ok5GQSBhcyBhaG9fY29yYXNpY2s6OmF1dG9tYXRvbjo6QXV0b21hdG9u\ +Pjo6c3RhcnRfc3RhdGU6OmhhZWUwZjhkNDQ5ZDg4ZmM2zhVAaGFzaGJyb3duOjpyYXc6OmlubmVyOj\ +pSYXdUYWJsZTxULEE+OjpyZXNlcnZlOjpoYjY0ZmMyZDZhYmQ4N2UxN88VNWRlbm9fY29uZmlnOjpn\ +bG9iOjppc19nbG9iX3BhdHRlcm46Omg2NjZjNjFjZDNhM2FiNDcz0BVPPGRlbm9fc2VtdmVyOjpwYW\ +NrYWdlOjpQYWNrYWdlS2luZCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMmE3YTEyNzU4NmQx\ +YjdhMNEVSWRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6OldvcmtzcGFjZTo6cm9vdF9mb2xkZXJfY29uZm\ +lnczo6aDY5OGI4YzNmYzdlOWZhY2HSFUpjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8aW1wb3J0X21h\ +cDo6U3BlY2lmaWVyTWFwVmFsdWU+OjpoMTU3YWFlYmM3YzhhZDY2NNMVP3dhc21fYmluZGdlbjo6Y2\ +9udmVydDo6Y2xvc3VyZXM6Omludm9rZTFfbXV0OjpoNTljNTRkM2Y2ZTYwZDYyNdQVOGFsbG9jOjph\ +bGxvYzo6R2xvYmFsOjphbGxvY19pbXBsOjpoOTM3MTY5YzM5ZWFjNzkyMS4xMTI21RVTY29yZTo6cH\ +RyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjp3cmFwcGVyczo6SHlicmlkPjo6\ +aDVjMWQwYjQxODU3YjgzZTjWFUFyZWdleF9hdXRvbWF0YTo6dXRpbDo6bG9vazo6TG9va1NldDo6cm\ +VhZF9yZXByOjpoZmFjMWQyZjkwZDNiZDNiYtcVRHJlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6\ +Q2FjaGU6OnNlYXJjaF91cGRhdGU6OmgzODQwNTc0Y2NkMWRjMTY22BUzcmVnZXhfc3ludGF4OjpoaX\ +I6OkhpcktpbmQ6OnN1YnM6OmgxNTNkODVmZmVhZGYxYWU52RUsY29yZTo6c2xpY2U6OmluZGV4Ojpy\ +YW5nZTo6aDMxNWNkOWZlZDMzM2JiYjPaFTRyZWdleF9zeW50YXg6OmFzdDo6Q2xhc3NTZXQ6OnNwYW\ +46OmgyOGEzNjNiZWE4YTc2NDc12xVNcmVnZXhfc3ludGF4OjpoaXI6OmxpdGVyYWw6OkV4dHJhY3Rv\ +cjo6ZW5mb3JjZV9saXRlcmFsX2xlbjo6aDBjNzVlZTQwNWYzOTliOWLcFTd1cmw6OnBhcnNlcjo6aX\ +Nfd2luZG93c19kcml2ZV9sZXR0ZXI6Omg2ZTc4M2JjMmVlYzFmN2U13RUxd2FzbV9iaW5kZ2VuOjpK\ +c1ZhbHVlOjphc19ib29sOjpoY2FkMGUyNTI1NDIxMTcwNd4VDF9fcnVzdF9hbGxvY98VY2NvcmU6On\ +B0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpkaXNjb3Zlcnk6OkNvbmZp\ +Z0ZpbGVEaXNjb3Zlcnk+OjpoMjZiY2FmOThhMzEwNDI5ZOAVSWNvcmU6OnB0cjo6ZHJvcF9pbl9wbG\ +FjZTxhbGxvYzo6Ym9ycm93OjpDb3c8dXJsOjpVcmw+Pjo6aDViNjBiZmRhZWJkYmM2ZGbhFUtjb3Jl\ +OjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0aW9uOjpPcHRpb248dXJsOjpVcmw+Pjo6aDQxYj\ +gxY2U4NTAzNGZjMGPiFTloYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZTo6aDQy\ +MDc3MmU5M2UxZTczYzHjFUhhaG9fY29yYXNpY2s6OnV0aWw6OnByZWZpbHRlcjo6Q2FuZGlkYXRlOj\ +ppbnRvX29wdGlvbjo6aGNjNWY3NGI5OGNiYmViYTXkFUJjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8\ +YWxsb2M6OnN0cmluZzo6U3RyaW5nPjo6aDgwM2VkMjk0OTBmYTI4YjnlFTFkZW5vX3BhdGhfdXRpbD\ +o6bm9ybWFsaXplX3BhdGg6OmhiYmQxZWVkOWQyNDY0Njc05hUwPCZUIGFzIGNvcmU6OmZtdDo6RGVi\ +dWc+OjpmbXQ6OmhjZTZkMzA2NmEzMDhlNWM55xU/PFEgYXMgZXF1aXZhbGVudDo6RXF1aXZhbGVudD\ +xLPj46OmVxdWl2YWxlbnQ6OmhkZjczNDRkNzU4NTBkZGU46BU+aGFzaGJyb3duOjptYXA6OmVxdWl2\ +YWxlbnRfa2V5Ojp7e2Nsb3N1cmV9fTo6aGU3YWZhMWYxMjIwOWJmMmXpFWhjb3JlOjpwdHI6OmRyb3\ +BfaW5fcGxhY2U8YWxsb2M6OmJveGVkOjpCb3g8cmVnZXhfYXV0b21hdGE6OnV0aWw6OnNlYXJjaDo6\ +UGF0dGVyblNldD4+OjpoNDhlODA4YzBmOTczOTJiMOoVZGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZT\ +xkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpkaXNjb3Zlcnk6OlJhd1Jlc29sdmVkV29ya3NwYWNlPjo6\ +aDgyZjk1NWE2ZTQzYTc0ODDrFTNzZXJkZTo6ZGU6OlZpc2l0b3I6OnZpc2l0X3N0cmluZzo6aGY3OT\ +cxNzJjNGNhODdmZjbsFTNzZXJkZTo6ZGU6OlZpc2l0b3I6OnZpc2l0X3N0cmluZzo6aDZlYjdiNDlk\ +OTMxZTcwNzbtFTloYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZTo6aDA4ODA2Mz\ +I4NDVmMjIzYzXuFT5oYXNoYnJvd246Om1hcDo6ZXF1aXZhbGVudF9rZXk6Ont7Y2xvc3VyZX19Ojpo\ +NGUxNzA1MGFmYTZlYTYyNO8VPmhhc2hicm93bjo6bWFwOjplcXVpdmFsZW50X2tleTo6e3tjbG9zdX\ +JlfX06OmgyODkzN2IzZjFmYjIyOGU38BUuZ2xvYnNldDo6Z2xvYjo6UGFyc2VyOjpwZWVrOjpoMjI5\ +YWJiZDQzMWYwOWZhYfEVVmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTx0aW55dmVjOjp0aW55dmVjOj\ +pUaW55VmVjPFsodTgsY2hhcik7IDRdPj46OmhlOWIzMzkyMGE2MTU5NTgw8hVWY29yZTo6cHRyOjpk\ +cm9wX2luX3BsYWNlPGFsbG9jOjpib3hlZDo6Qm94PGFsbG9jOjp2ZWM6OlZlYzx1c2l6ZT4+Pjo6aG\ +I1ZmZjYzE5NjI5Y2Y2ZjLzFVtjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfYXV0b21hdGE6\ +OnV0aWw6OmNhcHR1cmVzOjpHcm91cEluZm9FcnJvcj46Omg5ZDM1ZTM3NGQyMWI5NTYx9BUwPCZUIG\ +FzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhiM2NjMTk3NTAzMzFkMWIw9RU2cmVnZXhfc3ludGF4\ +Ojphc3Q6OkFzdDo6YWx0ZXJuYXRpb246Omg3NzBlYzA3YmFiYzNhMWY39hVIPHU4IGFzIHJlZ2V4X3\ +N5bnRheDo6aGlyOjppbnRlcnZhbDo6Qm91bmQ+OjpkZWNyZW1lbnQ6OmhlMTQ1M2NjZDBmNzEzNWQy\ +9xUvc2VyZGVfanNvbjo6ZXJyb3I6OkVycm9yOjppbzo6aDdlYzQ0ZGY3YWUzMjlmYmP4FTA8JlQgYX\ +MgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDgyMDhjYjlhMGUxOTg4ZWH5FXo8Y29yZTo6aXRlcjo6\ +YWRhcHRlcnM6OmZpbHRlcl9tYXA6OkZpbHRlck1hcDxJLEY+IGFzIGNvcmU6Oml0ZXI6OnRyYWl0cz\ +o6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6c2l6ZV9oaW50OjpoNjdiODllZTBhMGZkNDBiM/oVcGNvcmU6\ +OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxvYzo6dmVjOjpWZWM8JmFsbG9jOjpyYzo6UmM8ZGVub19jb2\ +5maWc6OmRlbm9fanNvbjo6Q29uZmlnRmlsZT4+Pjo6aGNkOTg3NzcwOWJlMTQ2ODH7FU88YWxsb2M6\ +OnJhd192ZWM6OlJhd1ZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmgyMz\ +NjNTliOWJmMDJhYjRm/BWcAWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9w\ +dGlvbjxsb2FkZXI6Ol86OjxpbXBsIHNlcmRlOjpkZTo6RGVzZXJpYWxpemUgZm9yIGxvYWRlcjo6V2\ +FzbUZzRGlyRW50cnk+OjpkZXNlcmlhbGl6ZTo6X19GaWVsZD4+OjpoYTk4ZTUyMThhMjVlNDFjMv0V\ +TzxhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZH\ +JvcDo6aDMxMTc3MWY4ZTBmNGI1NTX+FUpjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8bW9uY2g6OlBh\ +cnNlRXJyb3JGYWlsdXJlRXJyb3I+OjpoYWU5ZjgxY2U3ZjU4NGM5MP8VW2NvcmU6OnB0cjo6ZHJvcF\ +9pbl9wbGFjZTxhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPGxvYWRlcjo6V2FzbUZzRGlyRW50cnk+Pjo6\ +aDI5MGRjN2M0M2VkNmZlODOAFk88YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+IGFzIGNvcmU6Om\ +9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhjMjRmZmFlNzE0NWFmNGE1gRZPPGFsbG9jOjpyYXdfdmVj\ +OjpSYXdWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoMTkyNWUzZjhhMT\ +lhZjVlOYIWTzxhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpE\ +cm9wPjo6ZHJvcDo6aDBjMTU3YzA3MzBlMzg0NDeDFjBhbGxvYzo6YWxsb2M6OmV4Y2hhbmdlX21hbG\ +xvYzo6aDZiMWEzNjk0NDhmYTBiYzWEFqMBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9jOjp2\ +ZWM6OlZlYzxjb3JlOjpvcHRpb246Ok9wdGlvbjwoc2VyZGU6Ol9fcHJpdmF0ZTo6ZGU6OmNvbnRlbn\ +Q6OkNvbnRlbnQsc2VyZGU6Ol9fcHJpdmF0ZTo6ZGU6OmNvbnRlbnQ6OkNvbnRlbnQpPj4+OjpoMzgy\ +YjEwMDI2MWU5MTIyM4UWTzxhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT4gYXMgY29yZTo6b3BzOj\ +pkcm9wOjpEcm9wPjo6ZHJvcDo6aDEzZGFkYzVhODIzYjYyZTOGFmhjb3JlOjpwdHI6OmRyb3BfaW5f\ +cGxhY2U8Y29yZTo6b3B0aW9uOjpPcHRpb248ZGVub19jb25maWc6OndvcmtzcGFjZTo6Rm9sZGVyQ2\ +9uZmlncz4+OjpoYzdkMzUzNTI3MDQxYzg2MIcWUGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxv\ +Yzo6dmVjOjpWZWM8c3RkOjpwYXRoOjpQYXRoQnVmPj46OmgwNzg5M2U2ZmMzODNjMTg3iBY1c3RkOj\ +piYWNrdHJhY2U6OkJhY2t0cmFjZTo6Y2FwdHVyZTo6aGEwYWYzMjVjMGIxODRlNzeJFk88YWxsb2M6\ +OnJhd192ZWM6OlJhd1ZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmgwOD\ +Q1NDkwMGYxNTU5M2RmihZPPGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPiBhcyBjb3JlOjpvcHM6\ +OmRyb3A6OkRyb3A+Ojpkcm9wOjpoY2MzZTI5NGY0OGQ5MDcxYYsWTzxhbGxvYzo6cmF3X3ZlYzo6Um\ +F3VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGYzZTYyYWE1MzYzZjVm\ +M2SMFk88YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD\ +46OmRyb3A6OmgwMDkwZTJlZjVhNWQ5ZWU0jRZTY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9j\ +Ojp2ZWM6OlZlYzxhbGxvYzo6c3RyaW5nOjpTdHJpbmc+Pjo6aDY0N2ViODJjZGMzYTBlZjeOFlFjb3\ +JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnZlYzo6VmVjPGFsbG9jOjp2ZWM6OlZlYzx1OD4+\ +Pjo6aDQzOTkyNDZiNjYxZDc1OWWPFkFhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjptb3\ +ZlX3RvX3NsaWNlOjpoNjhjNzk3OGViNmY1NGUxZJAWTzxhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQs\ +QT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGI2NjA0OWIyMjA3NzdjY2ORFlJjb3\ +JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWhvX2NvcmFzaWNrOjp1dGlsOjpwcmVmaWx0ZXI6OlBhY2tl\ +ZD46Omg2Y2Q5MDQyNDlkNDNiMDhkkhZMaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZUlubm\ +VyOjpwcmVwYXJlX2luc2VydF9zbG90OjpoYTI2ZjBkYjJkNjU3Y2Y2N5MWTzxhbGxvYzo6cmF3X3Zl\ +Yzo6UmF3VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGE4MGVhZGE5ZT\ +dhMzg4NzWUFk88YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6\ +RHJvcD46OmRyb3A6OmgwNzU0MThhODk4N2I4OGQzlRZPPGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VC\ +xBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoYTRjMjExYWMxMjM1ZWYwZZYWTzxh\ +bGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcD\ +o6aDE5N2ZiYWVkNjlkZmM1MGKXFmFjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnZlYzo6\ +VmVjPGpzb25jX3BhcnNlcjo6dG9rZW5zOjpUb2tlbkFuZFJhbmdlPj46OmhhNTU3NWVhYmViNGIzZW\ +Q3mBZPPGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+\ +Ojpkcm9wOjpoNTY4YjUzODJjYzBhZTA4NZkWTzxhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT4gYX\ +MgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDBlYmY0MzRhOWRjNTUzMTeaFk88YWxsb2M6\ +OnJhd192ZWM6OlJhd1ZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmgwNm\ +FlZGI3ZjcxM2IwMTZjmxZPPGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPiBhcyBjb3JlOjpvcHM6\ +OmRyb3A6OkRyb3A+Ojpkcm9wOjpoNjQ0MWNjZmFjMWZiOTkxMZwWTzxhbGxvYzo6cmF3X3ZlYzo6Um\ +F3VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGFkMWM1NDExYzFjNDk3\ +MDKdFkNjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnZlYzo6VmVjPHVzaXplPj46OmgzMG\ +QwOWYwMmM2N2JhNDk2nhZ0Y29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6OnJlc3VsdDo6UmVz\ +dWx0PGRlbm9fY29uZmlnOjpmczo6RnNNZXRhZGF0YSxzdGQ6OmlvOjplcnJvcjo6RXJyb3I+Pjo6aD\ +hkNGE1MzFhMGVlMGQxNjOfFmM8ZGVub19jb25maWc6OndvcmtzcGFjZTo6V29ya3NwYWNlRGlzY292\ +ZXJFcnJvciBhcyBjb3JlOjpjb252ZXJ0OjpGcm9tPEU+Pjo6ZnJvbTo6aDdiMTg2ZWE0MDJlN2QzNT\ +SgFmM8ZGVub19jb25maWc6OndvcmtzcGFjZTo6V29ya3NwYWNlRGlzY292ZXJFcnJvciBhcyBjb3Jl\ +Ojpjb252ZXJ0OjpGcm9tPEU+Pjo6ZnJvbTo6aGQzMWVkN2FmOTM4MWJhMzehFoUBY29yZTo6cHRyOj\ +pkcm9wX2luX3BsYWNlPG1vbmNoOjpvcjwmc3RyLG1vbmNoOjp0YWc8JnN0cj46Ont7Y2xvc3VyZX19\ +LG1vbmNoOjp0YWc8JnN0cj46Ont7Y2xvc3VyZX19Pjo6e3tjbG9zdXJlfX0+OjpoMDdhNWQ2ZTMzYW\ +JjODg5YqIWRGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxpbXBvcnRfbWFwOjpSYXdLZXlWYWx1ZT46\ +OmgyYmY5MmQ0ZGRmNjBkODdjoxZLY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGRlbm9fbG9ja2ZpbG\ +U6OlBhY2thZ2VzQ29udGVudD46OmgxNmYxZDA5NmQ1OTFhYWFjpBZeY29yZTo6cHRyOjpkcm9wX2lu\ +X3BsYWNlPGFsbG9jOjp2ZWM6OlZlYzxkZW5vX3NlbXZlcjo6cmFuZ2U6OlZlcnNpb25SYW5nZT4+Oj\ +poNjYyN2ZlNjg0MDIxMDYzN6UWKm1vbmNoOjpQYXJzZUVycm9yOjpmYWlsOjpoYzMwMjczNGVmNTg1\ +ZWFiYaYWXGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX3NlbXZlcjo6cGFja2FnZTo6UGFja2\ +FnZVJlcVBhcnRzUGFyc2VFcnJvcj46OmgzZTBmOWI4NjNkYWZhZjc0pxZPPGFsbG9jOjpyYXdfdmVj\ +OjpSYXdWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+Ojpkcm9wOjpoNzc2ZWU4NzU3OW\ +ZjYWFmMKgWTzxhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpE\ +cm9wPjo6ZHJvcDo6aGNlNjQwNThmNDVmMThiZWapFk88YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULE\ +E+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6Omg2ZmFiN2RiOTE1ZmE2NTg2qhZYY29y\ +ZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpzcGFyc2Vfc2V0OjpTcG\ +Fyc2VTZXQ+OjpoNjFjZjQ2ZWZkZWE3MDkwZqsWUTxhbGxvYzo6YWxsb2M6Okdsb2JhbCBhcyBjb3Jl\ +OjphbGxvYzo6QWxsb2NhdG9yPjo6YWxsb2NhdGU6Omg1ZmI4ZmVjNDU4NjNiOWQwLjgwNqwWVWNvcm\ +U6OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9zeW50YXg6Omhpcjo6dHJhbnNsYXRlOjpUcmFuc2xh\ +dG9yPjo6aDFlNjcyNWY5ZjdkNDA0MDatFoMBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9jOj\ +p2ZWM6OlZlYzxpbmRleG1hcDo6QnVja2V0PGFsbG9jOjpzdHJpbmc6OlN0cmluZyxpbXBvcnRfbWFw\ +OjpTcGVjaWZpZXJNYXBWYWx1ZT4+Pjo6aGM3MzQyMGVkYjAxMGY2NDiuFoABY29yZTo6cHRyOjpkcm\ +9wX2luX3BsYWNlPGluZGV4bWFwOjpCdWNrZXQ8YWxsb2M6OnN0cmluZzo6U3RyaW5nLGNvcmU6Om9w\ +dGlvbjo6T3B0aW9uPGFsbG9jOjpzdHJpbmc6OlN0cmluZz4+Pjo6aDk2N2Q2Y2JmYmRjNzU1MDOvFk\ +88YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRy\ +b3A6OmhlZjI2MjE4MzY3NDkzMmM2sBZRY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9jOjp2ZW\ +M6OlZlYzxhbGxvYzo6dmVjOjpWZWM8dTg+Pj46OmhjMzA2ZjkwMmI5M2M2NzQ0sRZrY29yZTo6cHRy\ +Ojpkcm9wX2luX3BsYWNlPGFsbG9jOjpib3hlZDo6Qm94PFtyZWdleF9hdXRvbWF0YTo6dXRpbDo6cH\ +JpbWl0aXZlczo6U3RhdGVJRF0+Pjo6aDAyOWQ0YzMzOTkyMDMxNGOyFmFjb3JlOjpwdHI6OmRyb3Bf\ +aW5fcGxhY2U8YWxsb2M6OnZlYzo6VmVjPHJlZ2V4X3N5bnRheDo6aGlyOjpsaXRlcmFsOjpMaXRlcm\ +FsPj46Omg1ZGFhZGI2ZjRjOTU1NGQ3sxZUY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X2F1\ +dG9tYXRhOjpoeWJyaWQ6OmRmYTo6U3RhdGVTYXZlcj46OmhkZDE0OWEzMDE2MzQzOTQytBZicmVnZX\ +hfYXV0b21hdGE6OnV0aWw6OmRldGVybWluaXplOjpzdGF0ZTo6U3RhdGVCdWlsZGVyTWF0Y2hlczo6\ +c2V0X2lzX2Zyb21fd29yZDo6aGVkYWIzMGNhOGEyNzBkY2a1FmJyZWdleF9hdXRvbWF0YTo6dXRpbD\ +o6ZGV0ZXJtaW5pemU6OnN0YXRlOjpTdGF0ZUJ1aWxkZXJNYXRjaGVzOjpzZXRfaXNfaGFsZl9jcmxm\ +OjpoMTdlMDk2ODI4Mzk4ZTM1NLYWUGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhaG9fY29yYXNpY2\ +s6OnBhY2tlZDo6YXBpOjpTZWFyY2hlcj46OmgwODJhZmI5YjVkMjg4MTdltxZcY29yZTo6cHRyOjpk\ +cm9wX2luX3BsYWNlPHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6Om1lbW1lbTo6TWVtbW\ +VtPjo6aGE2MWI3ZWExZmM0Y2M0MTS4FoABY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9jOjp2\ +ZWM6OlZlYzxhbGxvYzo6dmVjOjpWZWM8KHVzaXplLGFob19jb3Jhc2ljazo6dXRpbDo6cHJpbWl0aX\ +Zlczo6UGF0dGVybklEKT4+Pjo6aDAwMWI4Yjk2MjdjOTQ4OGG5FlU8cmVnZXhfc3ludGF4OjpoaXI6\ +OmxpdGVyYWw6OkxpdGVyYWwgYXMgY29yZTo6Y2xvbmU6OkNsb25lPjo6Y2xvbmU6OmgyZWI2MWMzMj\ +g5MDJkNTJluhZwPHJlZ2V4X3N5bnRheDo6YXN0OjpwYXJzZTo6TmVzdExpbWl0ZXI8UD4gYXMgcmVn\ +ZXhfc3ludGF4Ojphc3Q6OnZpc2l0b3I6OlZpc2l0b3I+Ojp2aXNpdF9wb3N0OjpoMzg1YzhjNDE3OT\ +c1MTJmZrsWUGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9zeW50YXg6OmFzdDo6cGFyc2U6\ +OlByaW1pdGl2ZT46OmhjZTgwMjcyNGI0YjNhNWUxvBY1PCZzdHIgYXMgc2VyZGU6OmRlOjpFeHBlY3\ +RlZD46OmZtdDo6aDlhODQyYzg2YzllNDU1NGW9FjVhbGxvYzo6YWxsb2M6OmV4Y2hhbmdlX21hbGxv\ +Yzo6aDZiMWEzNjk0NDhmYTBiYzUuMTgzNL4WQ3NlcmRlX3dhc21fYmluZGdlbjo6ZGU6OkRlc2VyaW\ +FsaXplcjo6aXNfbnVsbGlzaDo6aGNkY2MyMGU0NGM2NmVmNTK/FlVkZW5vX2NvbmZpZzo6ZGVub19q\ +c29uOjpDb25maWdGaWxlOjp0b19leHBvcnRzX2NvbmZpZzo6e3tjbG9zdXJlfX06OmgxYWYwOTUwND\ +FhNzM0NDljwBY5Y29yZTo6b3BzOjpmdW5jdGlvbjo6Rm5PbmNlOjpjYWxsX29uY2U6OmgzZTI1Yjgy\ +ZjZlOTVlYmY0wRYyY29yZTo6b3B0aW9uOjpPcHRpb248VD46OmV4cGVjdDo6aDQyNzI4YjMwY2Q4OW\ +FiOTbCFkNkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpXb3Jrc3BhY2U6OnJvb3RfcGtnX2pzb246Omg5\ +ZGFhZjBhZjExMzY2M2FiwxZNY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGltcG9ydF9tYXA6OmV4dD\ +o6SW1wb3J0TWFwQ29uZmlnPjo6aGFiNDRiZTY2NWVhOTdlN2LEFkg8YWxsb2M6OnN0cmluZzo6U3Ry\ +aW5nIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg3N2EzNzhjMDUyZmU2NmU0LjE0MzXFFjA8Jl\ +QgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDMxNjJmZDAyOTZmN2YzNzXGFmo8YWhvX2NvcmFz\ +aWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6Ok5GQSBhcyBhaG9fY29yYXNpY2s6OmF1dG9tYXRvbjo6QX\ +V0b21hdG9uPjo6aXNfc3RhcnQ6Omg5OTRmZmNiNzc0NmNhMzY0xxZnPGFob19jb3Jhc2ljazo6bmZh\ +Ojpjb250aWd1b3VzOjpORkEgYXMgYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbj46Om\ +lzX3N0YXJ0OjpoNmMzMTA3ODVlMjViODRkMcgWWzxhaG9fY29yYXNpY2s6OmRmYTo6REZBIGFzIGFo\ +b19jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+Ojppc19zdGFydDo6aDllMTFjODRhZGIzZm\ +EzOWLJFsABPDxhbGxvYzo6Ym94ZWQ6OkJveDxkeW4gY29yZTo6ZXJyb3I6OkVycm9yK2NvcmU6Om1h\ +cmtlcjo6U3luYytjb3JlOjptYXJrZXI6OlNlbmQ+IGFzIGNvcmU6OmNvbnZlcnQ6OkZyb208YWxsb2\ +M6OnN0cmluZzo6U3RyaW5nPj46OmZyb206OlN0cmluZ0Vycm9yIGFzIGNvcmU6OmZtdDo6RGVidWc+\ +OjpmbXQ6OmgxZjQyOGY0MDk4NjVhZDE3yhZ7Y29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFueWhvdz\ +o6ZXJyb3I6OkVycm9ySW1wbDxhbnlob3c6OndyYXBwZXI6Ok1lc3NhZ2VFcnJvcjxhbGxvYzo6c3Ry\ +aW5nOjpTdHJpbmc+Pj46OmgyMTU5MTllY2QxNTNiMDI2yxZOPGFueWhvdzo6d3JhcHBlcjo6TWVzc2\ +FnZUVycm9yPE0+IGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgzNzc1OTk5NzA4OGFmYThjzBZO\ +PGFueWhvdzo6d3JhcHBlcjo6TWVzc2FnZUVycm9yPE0+IGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbX\ +Q6OmhhZjVjZDZjNGFjNjRhM2M2zRZQPGRlbm9fY29uZmlnOjpnbG9iOjpHbG9iUGF0dGVybiBhcyBj\ +b3JlOjpjbG9uZTo6Q2xvbmU+OjpjbG9uZTo6aDlkNTNmYTc2N2U3M2FjZWLOFk88YWxsb2M6OnJhd1\ +92ZWM6OlJhd1ZlYzxULEE+IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6Omg1MWYwZjE3\ +MWJkY2UyYWQ0zxZAaGFzaGJyb3duOjpyYXc6OmlubmVyOjpSYXdUYWJsZTxULEE+OjpyZXNlcnZlOj\ +poNDdlNzBkZmFlMzgyNWU3ZdAWmAFjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0aW9u\ +OjpPcHRpb248Y29yZTo6b3B0aW9uOjpPcHRpb248KGFsbG9jOjpyYzo6UmM8dXJsOjpVcmw+LGRlbm\ +9fY29uZmlnOjp3b3Jrc3BhY2U6OkZvbGRlckNvbmZpZ3MpPj4+OjpoYmMxMmJhZDZjYmE1YWE5Y9EW\ +Tjxqc29uY19wYXJzZXI6OmFzdDo6U3RyaW5nTGl0IGFzIGNvcmU6OmNsb25lOjpDbG9uZT46OmNsb2\ +5lOjpoNjAyY2ZiYWQ4M2YxODQ4ZdIWaWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbnlob3c6OmVy\ +cm9yOjpFcnJvckltcGw8ZGVub19wYXRoX3V0aWw6OlVybFRvRmlsZVBhdGhFcnJvcj4+OjpoMjY2Mm\ +NhZDU1OTljNDg4MdMWaWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX2xvY2tmaWxlOjpMb2Nr\ +ZmlsZUNvbnRlbnQ6OmZyb21fanNvbjo6UmF3SnNyUGFja2FnZUluZm8+OjpoMWIyMDgxMTg1YmUxZj\ +M3Y9QWSmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX2xvY2tmaWxlOjpOcG1QYWNrYWdlSW5m\ +bz46OmhjYWQ2ZWEwZWEzOWVjNDJi1RZXPHVybDo6cGF0aF9zZWdtZW50czo6UGF0aFNlZ21lbnRzTX\ +V0IGFzIGNvcmU6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmhhMDY2NDdkZTZmMzE3ODcz1hbAAWNv\ +cmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxtb25jaDo6b3I8JnN0cixtb25jaDo6dGFnPCZzdHI+Ojp7e2\ +Nsb3N1cmV9fSxtb25jaDo6b3I8JnN0cixtb25jaDo6dGFnPCZzdHI+Ojp7e2Nsb3N1cmV9fSxtb25j\ +aDo6dGFnPCZzdHI+Ojp7e2Nsb3N1cmV9fT46Ont7Y2xvc3VyZX19Pjo6e3tjbG9zdXJlfX0+OjpoOW\ +QxNWQ0ODgzODY0M2M3MtcWUjxkZW5vX3NlbXZlcjo6cmFuZ2U6OlZlcnNpb25Cb3VuZCBhcyBjb3Jl\ +OjpjbG9uZTo6Q2xvbmU+OjpjbG9uZTo6aGZlODE4M2U1NzRjNGU4YWPYFkBoYXNoYnJvd246OnJhdz\ +o6aW5uZXI6OlJhd1RhYmxlPFQsQT46OnJlc2VydmU6OmhkYWQ3OGRiNzQxMTdiNDll2RY+anNvbmNf\ +cGFyc2VyOjpzY2FubmVyOjpTY2FubmVyOjppc19vbmVfbmluZTo6aDg2NTY3ODlhNWNiZTkyYjDaFl\ +ZyZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6YnVpbGRlcjo6QnVpbGRlcjo6Y3VycmVudF9w\ +YXR0ZXJuX2lkOjpoYmRmYjRhY2MxZTcxMTM4M9sWPXJlZ2V4X2F1dG9tYXRhOjpkZmE6Om9uZXBhc3\ +M6OkNhY2hlOjpyZXNldDo6aGRiZWFlZDE0ZjcyZjYwZDPcFlU8YWxsb2M6OnZlYzo6VmVjPFQsQT4g\ +YXMgY29yZTo6b3BzOjppbmRleDo6SW5kZXhNdXQ8ST4+OjppbmRleF9tdXQ6Omg5NGQzMjQyZmMzNj\ +RmMDRj3RZOPGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6Om9wczo6aW5kZXg6OkluZGV4PEk+\ +Pjo6aW5kZXg6OmhmOGE4YmI2M2IzZTlkYTY53hY4cmVnZXhfc3ludGF4OjpoaXI6OkNsYXNzVW5pY2\ +9kZTo6cHVzaDo6aGU5NjEyNWM4MDAxMzc4NmTfFjZyZWdleF9zeW50YXg6Omhpcjo6Q2xhc3NCeXRl\ +czo6cHVzaDo6aDhhOTIwOTVlZGE1NDVhYjbgFj5yZWdleF9zeW50YXg6Omhpcjo6bGl0ZXJhbDo6TG\ +l0ZXJhbDo6ZXh0ZW5kOjpoNWViM2Q2OWZmYTFmNWM0ZuEWTjxhbGxvYzo6dmVjOjpWZWM8VCxBPiBh\ +cyBjb3JlOjpvcHM6OmluZGV4OjpJbmRleDxJPj46OmluZGV4OjpoOWQzNWJlODI2NTRiYWNhNeIWMD\ +wmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoOWM2MDViMTQ3MDg3M2MxY+MWSDxhbGxvYzo6\ +c3RyaW5nOjpTdHJpbmcgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDc3YTM3OGMwNTJmZTY2ZT\ +QuMjAzOeQWTzxhbGxvYzo6cmF3X3ZlYzo6UmF3VmVjPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpE\ +cm9wPjo6ZHJvcDo6aGEwMTlmODg4ZTU3MzczMDblFjxjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8dX\ +JsOjpob3N0OjpIb3N0Pjo6aGJjN2VlNmVmYzExMzBkYzjmFltjb3JlOjpwdHI6OmRyb3BfaW5fcGxh\ +Y2U8Y29yZTo6b3B0aW9uOjpPcHRpb248c2VyZGVfanNvbjo6dmFsdWU6OlZhbHVlPj46OmgzMDI2Mj\ +YyYzMyZDI0NDVk5xZPPGFsbG9jOjpyYXdfdmVjOjpSYXdWZWM8VCxBPiBhcyBjb3JlOjpvcHM6OmRy\ +b3A6OkRyb3A+Ojpkcm9wOjpoMzhkYjc0YmNhM2FiNGIyNOgWTmNvcmU6OnB0cjo6ZHJvcF9pbl9wbG\ +FjZTxzZXJkZV93YXNtX2JpbmRnZW46OmRlOjpNYXBBY2Nlc3M+OjpoZjY0MDJkNWVkZDYyOTUxMekW\ +MjxUIGFzIHNlcmRlOjpkZTo6RXhwZWN0ZWQ+OjpmbXQ6OmgwNjc2NWM0NTVjYjZiZDQ06hYyPFQgYX\ +Mgc2VyZGU6OmRlOjpFeHBlY3RlZD46OmZtdDo6aDQ3YTJkYWI0ZGY5MWY0N2TrFjI8VCBhcyBzZXJk\ +ZTo6ZGU6OkV4cGVjdGVkPjo6Zm10OjpoNjY3N2I4YjhkNDFmZjhjMuwWMjxUIGFzIHNlcmRlOjpkZT\ +o6RXhwZWN0ZWQ+OjpmbXQ6Omg4OTUzMDUzYTRlNTRmMWRh7RYyPFQgYXMgc2VyZGU6OmRlOjpFeHBl\ +Y3RlZD46OmZtdDo6aDliMWVhNGJlNTJiZDg3ODfuFjI8VCBhcyBzZXJkZTo6ZGU6OkV4cGVjdGVkPj\ +o6Zm10OjpoYTdiYjZkMTRkOTA3Mzg3Ne8WMjxUIGFzIHNlcmRlOjpkZTo6RXhwZWN0ZWQ+OjpmbXQ6\ +OmhiNmJiODQ4Y2Y4NjE4Mjg18BYyPFQgYXMgc2VyZGU6OmRlOjpFeHBlY3RlZD46OmZtdDo6aGYyY2\ +FkMmU5NmZmM2NkNTLxFkRjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OmJvcnJvdzo6Q293\ +PHN0cj4+OjpoNmZiMzk3MzRhOGVmYmU5NvIWUWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxzZXJkZV\ +93YXNtX2JpbmRnZW46OmRlOjpPYmplY3RBY2Nlc3M+OjpoMmRlOGU3NTJjMTcwZTU4NvMWTzxhbGxv\ +Yzo6YWxsb2M6Okdsb2JhbCBhcyBjb3JlOjphbGxvYzo6QWxsb2NhdG9yPjo6ZGVhbGxvY2F0ZTo6aD\ +E2N2RiNGU2YjAxZWMzN2P0FkFjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8ZGVub19zZW12ZXI6OlZl\ +cnNpb24+OjpoNWQ5Mjk2ZDU2YTdmMTEzOfUWQ2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxvYz\ +o6Ym94ZWQ6OkJveDxzdHI+Pjo6aDY4ZDA3NzE2MWExMWM4YTT2FmZjb3JlOjpwdHI6OmRyb3BfaW5f\ +cGxhY2U8YWxsb2M6OmJveGVkOjpCb3g8c2VyZGU6Ol9fcHJpdmF0ZTo6ZGU6OmNvbnRlbnQ6OkNvbn\ +RlbnQ+Pjo6aGZhZDk1NTI5N2RiZGI3M2T3Fldjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6\ +b3B0aW9uOjpPcHRpb248ZGVub19zZW12ZXI6OlZlcnNpb24+Pjo6aGZjZjE1MTM1NmMwZDlhZWb4Fl\ +xjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YW55aG93OjplcnJvcjo6RXJyb3JJbXBsPHN0ZDo6aW86\ +OmVycm9yOjpFcnJvcj4+OjpoNDUyNzkxNjQ0NzA0ZGY5NvkWaWNvcmU6OnB0cjo6ZHJvcF9pbl9wbG\ +FjZTxjb3JlOjpvcHRpb246Ok9wdGlvbjxzZXJkZTo6X19wcml2YXRlOjpkZTo6Y29udGVudDo6Q29u\ +dGVudD4+OjpoN2M4NmJkMzQyYzFjZDZkOfoWPjxjb3JlOjpmbXQ6OkVycm9yIGFzIGNvcmU6OmZtdD\ +o6RGVidWc+OjpmbXQ6Omg1MzU1Mzg1NTNjZGU0NjZh+xYsYW55aG93OjplcnJvcjo6b2JqZWN0X3Jl\ +Zjo6aGVlOWRlZmE0Yzg1NGY3Y2T8Fk88YWxsb2M6OnJhd192ZWM6OlJhd1ZlYzxULEE+IGFzIGNvcm\ +U6Om9wczo6ZHJvcDo6RHJvcD46OmRyb3A6OmgwZTc5ZmQyM2QzNzZhOTU0/RZbY29yZTo6cHRyOjpk\ +cm9wX2luX3BsYWNlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPHNlcmRlX2pzb246OnZhbHVlOjpWYWx1ZT\ +4+OjpoMTg5NTAxY2I5NTFhYTBjZv4WMjwmVCBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6Omg0\ +NTU3MjAwZWZhODYyNzNh/xY+c2VyZGVfanNvbjo6dmFsdWU6OmRlOjpNYXBEZXNlcmlhbGl6ZXI6Om\ +5ldzo6aGI0NTdhOTAyNjQ4ZGJkNWKAF1tjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0\ +aW9uOjpPcHRpb248c2VyZGVfanNvbjo6dmFsdWU6OlZhbHVlPj46Omg3YWQwYjY1ZjRhZDRhN2JkgR\ +c+Y29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPG1vbmNoOjpQYXJzZUVycm9yPjo6aDZiNTRkNDM0ODYz\ +MTA2NzeCF11jb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0aW9uOjpPcHRpb248aW1wb3\ +J0X21hcDo6U2NvcGVzTWFwVmFsdWU+Pjo6aDA4NmZlNDI4ZGY3NDMwOGWDF7ABY29yZTo6cHRyOjpk\ +cm9wX2luX3BsYWNlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPGNvcmU6Om9wdGlvbjo6T3B0aW9uPChhbG\ +xvYzo6cmM6OlJjPHVybDo6VXJsPixkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpyZXNvbHZlcjo6UGtn\ +SnNvblJlc29sdmVyRm9sZGVyQ29uZmlnKT4+Pjo6aDgzNmRhMjBmMmI4ZDQ2MWOEFzJjb3JlOjpmbX\ +Q6OkZvcm1hdHRlcjo6d3JpdGVfZm10OjpoZGI3ODYwNWQ1ZDE3OGRkY4UXMDwmVCBhcyBjb3JlOjpm\ +bXQ6OkRlYnVnPjo6Zm10OjpoMDkwYTI0NmQ4NjY1NWIxMoYXMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYn\ +VnPjo6Zm10OjpoMWE5OWE0NGZjNWY4YjNjYYcXbTxhaG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGln\ +dW91czo6TkZBIGFzIGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+OjpwYXR0ZXJuX2\ +xlbjo6aDZkZTUyNTY2NDQ0ZTQ0ZDGIF2o8YWhvX2NvcmFzaWNrOjpuZmE6OmNvbnRpZ3VvdXM6Ok5G\ +QSBhcyBhaG9fY29yYXNpY2s6OmF1dG9tYXRvbjo6QXV0b21hdG9uPjo6cGF0dGVybl9sZW46Omg4NG\ +QzZjFkZmE0YjBjMTEwiRdePGFob19jb3Jhc2ljazo6ZGZhOjpERkEgYXMgYWhvX2NvcmFzaWNrOjph\ +dXRvbWF0b246OkF1dG9tYXRvbj46OnBhdHRlcm5fbGVuOjpoNWViNWQwOWJkYWNmYTcyN4oXP2Fob1\ +9jb3Jhc2ljazo6cGFja2VkOjpwYXR0ZXJuOjpQYXR0ZXJuczo6Z2V0OjpoZTI5NWYwOGIyZDkxNDMw\ +M4sXTjxjb3JlOjphbGxvYzo6bGF5b3V0OjpMYXlvdXRFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPj\ +o6Zm10OjpoZGViNzE1OTlhY2EwNzYzNYwXLmNvcmU6OmZtdDo6V3JpdGU6OndyaXRlX2ZtdDo6aDJi\ +MjRjZGJjZjE4NDdlNDSNFy5jb3JlOjpmbXQ6OldyaXRlOjp3cml0ZV9mbXQ6OmgzZmE4ZWQ1Y2IwMm\ +Y4MmU1jhcsYW55aG93OjplcnJvcjo6b2JqZWN0X3JlZjo6aDhmMTk5ZjVkNWI3ZmI1NTSPFzNhbnlo\ +b3c6OmVycm9yOjpvYmplY3RfZHJvcF9mcm9udDo6aDU0ZjdiMjhjOTAzYzhmOTCQFy1hbnlob3c6Om\ +Vycm9yOjpvYmplY3RfZHJvcDo6aGZkOWJkMTBkZmQwNjBmYzCRFyxhbnlob3c6OmVycm9yOjpvYmpl\ +Y3RfcmVmOjpoZDBhZGNjZjMxNzAzMDA4M5IXM2FueWhvdzo6ZXJyb3I6Om9iamVjdF9kcm9wX2Zyb2\ +50OjpoOWI3NTNmOGVkNzg2NTBlYpMXRTxjb3JlOjpjZWxsOjpCb3Jyb3dFcnJvciBhcyBjb3JlOjpm\ +bXQ6OkRlYnVnPjo6Zm10OjpoOGI2MGEzMzRjNmJiNDJjNpQXSDxjb3JlOjpjZWxsOjpCb3Jyb3dNdX\ +RFcnJvciBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoM2ZiZTFhZDkyYmRmMDgyYpUXUmNvcmU6\ +OnB0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX2NvbmZpZzo6d29ya3NwYWNlOjpGb2xkZXJDb25maWdzPj\ +o6aDNmYWM2MWJiZjkyYTNiMmaWF4wBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6Om9wdGlv\ +bjo6T3B0aW9uPChhbGxvYzo6cmM6OlJjPHVybDo6VXJsPixkZW5vX2NvbmZpZzo6d29ya3NwYWNlOj\ +pkaXNjb3Zlcnk6OkNvbmZpZ0ZvbGRlcik+Pjo6aDRkNTM2ODZhMjBjMmY0YWGXF2ljb3JlOjpwdHI6\ +OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0aW9uOjpPcHRpb248YWxsb2M6OnZlYzo6VmVjPGFsbG9jOj\ +pzdHJpbmc6OlN0cmluZz4+Pjo6aDk1YWQ0NDJhMDk3MDk1YWGYF6YBY29yZTo6cHRyOjpkcm9wX2lu\ +X3BsYWNlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPGNvcmU6OnJlc3VsdDo6UmVzdWx0PGNvcmU6OmNvbn\ +ZlcnQ6OkluZmFsbGlibGUsZGVub19jb25maWc6OndvcmtzcGFjZTo6UmVzb2x2ZVdvcmtzcGFjZU1l\ +bWJlckVycm9yPj4+OjpoMTZhMTQwOTdiMzA4YTgzNZkXY2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZT\ +xjb3JlOjpvcHRpb246Ok9wdGlvbjxkZW5vX2NvbmZpZzo6Z2xvYjo6UGF0aE9yUGF0dGVybj4+Ojpo\ +NmQ1NWE0MzcxZDA4MjgyZJoXMjxUIGFzIHNlcmRlOjpkZTo6RXhwZWN0ZWQ+OjpmbXQ6Omg2YjczYW\ +VmNDA0MjZhYmI1mxcyPFQgYXMgc2VyZGU6OmRlOjpFeHBlY3RlZD46OmZtdDo6aDU0YWExZWIzMmRi\ +NTliYjScFzI8VCBhcyBzZXJkZTo6ZGU6OkV4cGVjdGVkPjo6Zm10OjpoMzlmYzQ5ZTNmYmI5OWM5Yp\ +0XMjxUIGFzIHNlcmRlOjpkZTo6RXhwZWN0ZWQ+OjpmbXQ6OmhkNjQ3MWVjZDRhNmJkOGRknhcyPFQg\ +YXMgc2VyZGU6OmRlOjpFeHBlY3RlZD46OmZtdDo6aGE0NzM4MzhhNjlkN2M0NmKfF3Fjb3JlOjpwdH\ +I6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0aW9uOjpPcHRpb248Y29yZTo6b3B0aW9uOjpPcHRpb248\ +c2VyZGVfanNvbjo6dmFsdWU6OlZhbHVlPj4+OjpoYmNlN2VlZGIxMzY1ODU1OKAXbmNvcmU6OnB0cj\ +o6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9wdGlvbjxjb3JlOjpvcHRpb246Ok9wdGlvbjxh\ +bGxvYzo6c3RyaW5nOjpTdHJpbmc+Pj46OmgwMWVmNTZjNDNhOTA4YjIxoRcyPFQgYXMgc2VyZGU6Om\ +RlOjpFeHBlY3RlZD46OmZtdDo6aDAyMWQzNjE0NzZiNGU3ZjWiFzI8VCBhcyBzZXJkZTo6ZGU6OkV4\ +cGVjdGVkPjo6Zm10OjpoYzczNTM0OTQ1ZGFiZmQwZqMXZmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZT\ +xhbGxvYzo6Ym94ZWQ6OkJveDxzZXJkZTo6X19wcml2YXRlOjpkZTo6Y29udGVudDo6Q29udGVudD4+\ +OjpoNmE5MzkwNDg3M2FkYWMwOKQXbGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTwoYWxsb2M6OnJjOj\ +pSYzx1cmw6OlVybD4sZGVub19jb25maWc6OndvcmtzcGFjZTo6Rm9sZGVyQ29uZmlncyk+OjpoYWEw\ +ZjNiNTg2MjAwYWU1N6UXrAFhbGxvYzo6Y29sbGVjdGlvbnM6OmJ0cmVlOjpub2RlOjpOb2RlUmVmPG\ +FsbG9jOjpjb2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6T3duZWQsSyxWLGFsbG9jOjpj\ +b2xsZWN0aW9uczo6YnRyZWU6Om5vZGU6Om1hcmtlcjo6TGVhZk9ySW50ZXJuYWw+OjpuZXc6Omg5ZW\ +MwNjdmM2JmMjRiMjRhpheiAWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9w\ +dGlvbjxjb3JlOjpvcHRpb246Ok9wdGlvbjwoYWxsb2M6OnJjOjpSYzx1cmw6OlVybD4sZGVub19jb2\ +5maWc6OndvcmtzcGFjZTo6ZGlzY292ZXJ5OjpDb25maWdGb2xkZXIpPj4+OjpoZWViNThkNDBkMmI4\ +MTJkZKcXLmNvcmU6OmZtdDo6V3JpdGU6OndyaXRlX2ZtdDo6aDY3ZTdiNDg2MDdlOGI5YWWoF15jb3\ +JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0aW9uOjpPcHRpb248anNvbmNfcGFyc2VyOjp0\ +b2tlbnM6OlRva2VuPj46Omg4MjU0ZDA4NDZiODEwMTUyqRduY29yZTo6cHRyOjpkcm9wX2luX3BsYW\ +NlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPGFsbG9jOjp2ZWM6OlZlYzxqc29uY19wYXJzZXI6OmFzdDo6\ +Q29tbWVudD4+Pjo6aDIzNWFlYWU2NjU0MWExOWaqFyxjb3JlOjplcnJvcjo6RXJyb3I6OmNhdXNlOj\ +poMjNiMDFjZjg1NjVkNGU4NKsXgQFjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YW55aG93OjplcnJv\ +cjo6RXJyb3JJbXBsPGFueWhvdzo6ZXJyb3I6OkNvbnRleHRFcnJvcjwmc3RyLHNlcmRlX2pzb246Om\ +Vycm9yOjpFcnJvcj4+Pjo6aDJmZmFjMzVkNWYzYmVkYTmsFyxhbnlob3c6OmVycm9yOjpvYmplY3Rf\ +cmVmOjpoN2M2NTVmNGFlNmEyMGFiM60XLGFueWhvdzo6ZXJyb3I6Om9iamVjdF9yZWY6Omg1YjdhZG\ +E1ZmViMGYxYjg3rhcsYW55aG93OjplcnJvcjo6b2JqZWN0X3JlZjo6aDc0MjM1MzAxZDc4MDI5ZTSv\ +Fyxhbnlob3c6OmVycm9yOjpvYmplY3RfcmVmOjpoOWNlNzM4Mzg3NGI1YzhmYrAXLWFueWhvdzo6ZX\ +Jyb3I6Om9iamVjdF9kcm9wOjpoM2FlODFjYWU1MmI4NDA4YbEXX2NvcmU6OnB0cjo6ZHJvcF9pbl9w\ +bGFjZTxhbnlob3c6OmVycm9yOjpFcnJvckltcGw8c2VyZGVfanNvbjo6ZXJyb3I6OkVycm9yPj46Om\ +gzZjg3YmM0Mjc2OGQwZDY3shczYW55aG93OjplcnJvcjo6b2JqZWN0X2Ryb3BfZnJvbnQ6Omg2ODY5\ +NTNhY2Y5MmVhNDlhsxczYW55aG93OjplcnJvcjo6b2JqZWN0X2Ryb3BfZnJvbnQ6OmhiZTU5YzVkZj\ +cyNmRhNzkytBdZY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPGFs\ +bG9jOjp2ZWM6OlZlYzx1c2l6ZT4+Pjo6aGI4YjE4NDE3NjdhZTRkYTK1F3ljb3JlOjpwdHI6OmRyb3\ +BfaW5fcGxhY2U8Y29yZTo6cmVzdWx0OjpSZXN1bHQ8Jm11dCBpZ25vcmU6OmdpdGlnbm9yZTo6R2l0\ +aWdub3JlQnVpbGRlcixpZ25vcmU6OkVycm9yPj46OmgwYjhkY2U1Zjg1YTIwYjhithdNY29yZTo6cH\ +RyOjpkcm9wX2luX3BsYWNlPGFsbG9jOjpib3hlZDo6Qm94PGlnbm9yZTo6RXJyb3I+Pjo6aGU5N2Rk\ +M2IzYTBlZTkyMzi3F3Jjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0aW9uOjpPcHRpb2\ +48ZGVub19jb25maWc6OndvcmtzcGFjZTo6ZGlzY292ZXJ5OjpDb25maWdGb2xkZXI+Pjo6aGFjZGE5\ +YjhhMjY4MDNlZTK4F0djb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OmJvcnJvdzo6Q293PF\ +smc3RyXT4+OjpoMjA2MTgwMTA2MGNkYzQwNbkXZmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxv\ +Yzo6Ym94ZWQ6OkJveDxzZXJkZTo6X19wcml2YXRlOjpkZTo6Y29udGVudDo6Q29udGVudD4+OjpoOW\ +JmOTNjOTg0NTZkN2QxMroXY2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxvYzo6Ym9ycm93OjpD\ +b3c8ZGVub19zZW12ZXI6Ompzcjo6SnNyRGVwUGFja2FnZVJlcT4+OjpoZWI3YjRhYzllZTQ4OTBkZb\ +sXMjxUIGFzIHNlcmRlOjpkZTo6RXhwZWN0ZWQ+OjpmbXQ6Omg0NjIxYjUwZmI5MzUwOGRmvBePAWNv\ +cmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9wdGlvbjxzZXJkZTo6X19wcml2YX\ +RlOjpkZTo6Y29udGVudDo6Q29udGVudERlc2VyaWFsaXplcjxzZXJkZV9qc29uOjplcnJvcjo6RXJy\ +b3I+Pj46OmhiYzA5MDc4NDJkOGVjNzhhvRcyPFQgYXMgc2VyZGU6OmRlOjpFeHBlY3RlZD46OmZtdD\ +o6aDEzNjBmOTkzZjI1MDI4MjG+FzI8VCBhcyBzZXJkZTo6ZGU6OkV4cGVjdGVkPjo6Zm10OjpoNDg4\ +M2FhZjM4ZWVlZmUyMr8XkgFjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0aW9uOjpPcH\ +Rpb248KHNlcmRlOjpfX3ByaXZhdGU6OmRlOjpjb250ZW50OjpDb250ZW50LHNlcmRlOjpfX3ByaXZh\ +dGU6OmRlOjpjb250ZW50OjpDb250ZW50KT4+OjpoNjM5YWYzZjMwMDYzMTcxY8AXMjxUIGFzIHNlcm\ +RlOjpkZTo6RXhwZWN0ZWQ+OjpmbXQ6Omg3MjgxNGEzNjMzODU1NDljwRcyPFQgYXMgc2VyZGU6OmRl\ +OjpFeHBlY3RlZD46OmZtdDo6aDY0NDI5YzJkNjA1NjVlYmPCFzI8VCBhcyBzZXJkZTo6ZGU6OkV4cG\ +VjdGVkPjo6Zm10OjpoZGU3ZDUyMGI3OTVkMmM1MMMXMjxUIGFzIHNlcmRlOjpkZTo6RXhwZWN0ZWQ+\ +OjpmbXQ6OmgxNmE5NjNhNWYzNDFlZDFlxBcyPFQgYXMgc2VyZGU6OmRlOjpFeHBlY3RlZD46OmZtdD\ +o6aDA5YWEwNjYyODliNjVkZTDFFzloYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2\ +ZTo6aDIwZGYxYWIxODY0MWZiNmPGF1Y8ZGVub19zZW12ZXI6Om5wbTo6TnBtVmVyc2lvblBhcnNlRX\ +Jyb3IgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoNjc0MzdmNzNlZmY3Y2ZmNccXhwFjb3Jl\ +OjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0aW9uOjpPcHRpb248c2VyZGVfanNvbjo6bWFwOj\ +pNYXA8YWxsb2M6OnN0cmluZzo6U3RyaW5nLHNlcmRlX2pzb246OnZhbHVlOjpWYWx1ZT4+Pjo6aGQy\ +NDI2YzgyNTg2MjBkNDDIFzVyeXU6OmJ1ZmZlcjo6QnVmZmVyOjpmb3JtYXRfZmluaXRlOjpoMWQ2ZD\ +hmYjQ2ODYzODc0MMkXSGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX3NlbXZlcjo6cmFuZ2U6\ +OlBhcnRpYWw+OjpoNzYyYzljOTkzNTM1NjUyZMoXOG1vbmNoOjpQYXJzZUVycm9yRmFpbHVyZTo6aW\ +50b19yZXN1bHQ6OmhjZjRmZTVjNjU4YzE5NGUxyxdLY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGRl\ +bm9fc2VtdmVyOjpyYW5nZTo6UmFuZ2VCb3VuZD46OmhmM2ExYTY3MzU4MDI1NmNkzBdOY29yZTo6cH\ +RyOjpkcm9wX2luX3BsYWNlPGpzb25jX3BhcnNlcjo6YXN0OjpPYmplY3RQcm9wTmFtZT46OmhkOWEz\ +OTFkMGE0ZjExMjgzzRdlY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6Om9wdGlvbjo6T3B0aW\ +9uPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpyZWdleDo6Q2FjaGU+Pjo6aDNmOWE5OWI5OTc1NzM3N2HO\ +Fy5jb3JlOjpmbXQ6OldyaXRlOjp3cml0ZV9mbXQ6OmhjZTkzMTI1ZDdhZmU5MTEyzxdNY29yZTo6cH\ +RyOjpkcm9wX2luX3BsYWNlPGFsbG9jOjpib3hlZDo6Qm94PGlnbm9yZTo6RXJyb3I+Pjo6aDJkZjU2\ +MThhNjMwMDY3MDfQF2Bjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0aW9uOjpPcHRpb2\ +48aW1wb3J0X21hcDo6U3BlY2lmaWVyTWFwVmFsdWU+Pjo6aGFjNTExOGM1Yzc5Mjc5ZDbRF1djb3Jl\ +OjpwdHI6OmRyb3BfaW5fcGxhY2U8YWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6OkNvbX\ +BpbGVyPjo6aGM4NzdkNWU0MDBlMTlmZjXSF4MBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6\ +Om9wdGlvbjo6T3B0aW9uPGNvcmU6Om9wdGlvbjo6T3B0aW9uPHJlZ2V4X2F1dG9tYXRhOjp1dGlsOj\ +pwcmVmaWx0ZXI6OlByZWZpbHRlcj4+Pjo6aDZkZTc0ZTY3YjBhNDg5MjDTF21jb3JlOjpwdHI6OmRy\ +b3BfaW5fcGxhY2U8Y29yZTo6b3B0aW9uOjpPcHRpb248cmVnZXhfYXV0b21hdGE6OnV0aWw6OnByZW\ +ZpbHRlcjo6UHJlZmlsdGVyPj46OmhlZWY0ZDY0ZDA3YmE3MTBm1BdNY29yZTo6cHRyOjpkcm9wX2lu\ +X3BsYWNlPHJlZ2V4X2F1dG9tYXRhOjpoeWJyaWQ6OmRmYTo6REZBPjo6aGZkNDZhNDBjZDQ4OTJhNz\ +bVFzA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGZiNjdkYTNkNDM1ZDU5ZDbWF1Rjb3Jl\ +OjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfYXV0b21hdGE6Om1ldGE6OndyYXBwZXJzOjpPbmVQYX\ +NzPjo6aDcxM2Y1Mzc3NjQ4OTcwMDbXF1M8Y29yZTo6YWxsb2M6OmxheW91dDo6TGF5b3V0RXJyb3Ig\ +YXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGRlYjcxNTk5YWNhMDc2MzUuMTI4M9gXUWNvcmU6On\ +B0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpkZmE6OkJ1aWxkZXI+Ojpo\ +NGMzYjU1MDg2ZDRmYjg4N9kXOXJlZ2V4X3N5bnRheDo6aGlyOjpsaXRlcmFsOjpTZXE6OmRlZHVwOj\ +poMTQ4MTJiZDFiMjhjZmFhN9oXd2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246\ +Ok9wdGlvbjxhbGxvYzo6dmVjOjpWZWM8cmVnZXhfc3ludGF4OjpoaXI6OmxpdGVyYWw6OkxpdGVyYW\ +w+Pj46Omg0NzFiOTIyMGE3MzBhMTNl2xdeY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X2F1\ +dG9tYXRhOjpuZmE6OnRob21wc29uOjpiYWNrdHJhY2s6OkJ1aWxkZXI+OjpoNGUxNmM3MDM1ZDI5MG\ +E0ZdwXVmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6aHlicmlkOjplcnJv\ +cjo6QnVpbGRFcnJvcj46OmhjZDJhMTllOTI3OTI2YTZj3RdyY29yZTo6cHRyOjpkcm9wX2luX3BsYW\ +NlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6Om1l\ +bW1lbTo6TWVtbWVtPj46OmgxYzAwYTlkZjRiNmY5ZDcw3hdwY29yZTo6cHRyOjpkcm9wX2luX3BsYW\ +NlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OnRl\ +ZGR5OjpUZWRkeT4+OjpoNzg1NzY3MTM4MTM5ZmRiON8XfWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZT\ +xjb3JlOjpvcHRpb246Ok9wdGlvbjxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjphaG9f\ +Y29yYXNpY2s6OkFob0NvcmFzaWNrPj46OmgyZTYwZDIxYzYzYzBhMWQw4BdaY29yZTo6cHRyOjpkcm\ +9wX2luX3BsYWNlPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjp3cmFwcGVyczo6UmV2ZXJzZUh5YnJpZD46\ +Omg5ZTUwNmU2MTA0ZDg1MmVi4Rd8PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UmV2ZX\ +JzZVN1ZmZpeCBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6bWVt\ +b3J5X3VzYWdlOjpoMWJiZjk4MzEyNDQ4YmNjNOIXYWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbG\ +xvYzo6Ym94ZWQ6OkJveDxyZWdleF9zeW50YXg6OmFzdDo6Q2xhc3NCcmFja2V0ZWQ+Pjo6aDE3M2M2\ +Y2JjNmI3OGUyNDnjF1tjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OmJveGVkOjpCb3g8cm\ +VnZXhfc3ludGF4Ojphc3Q6OkNsYXNzU2V0Pj46Omg5Y2MxMzYwZDY3ODNiNWVm5BdZY29yZTo6cHRy\ +Ojpkcm9wX2luX3BsYWNlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPHJlZ2V4X3N5bnRheDo6aGlyOjpIaX\ +I+Pjo6aDE0N2FlZjUzNzdhODRiNzHlF1ljb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6b3B0\ +aW9uOjpPcHRpb248cmVnZXhfc3ludGF4Ojphc3Q6OkFzdD4+OjpoZDI1MmJiNGZlNjNmZWY5MeYXVm\ +NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxvYzo6Ym94ZWQ6OkJveDxyZWdleF9zeW50YXg6OmFz\ +dDo6QXN0Pj46Omg3MmQ5OTEzZTMzZGZhMzVi5xdbY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcm\ +U6Om9wdGlvbjo6T3B0aW9uPHJlZ2V4X3N5bnRheDo6aGlyOjpDbGFzcz4+OjpoZDBmMGEzMWU5MWM5\ +MDlhZOgXQzxjb3JlOjpmbXQ6OkVycm9yIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg1MzU1Mz\ +g1NTNjZGU0NjZhLjE2NzHpF1A8cnVzdGNfZGVtYW5nbGU6OlNpemVMaW1pdEV4aGF1c3RlZCBhcyBj\ +b3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoOWIyMDExMjlhOGYwZGVlY+oXLmNvcmU6OmZtdDo6V3JpdG\ +U6OndyaXRlX2ZtdDo6aDExNzU4OThlZWM5MDE3MjTrFy5jb3JlOjpmbXQ6OldyaXRlOjp3cml0ZV9m\ +bXQ6Omg5MTk1MjAzNjJkZmE3MTU27BdUPGFsbG9jOjphbGxvYzo6R2xvYmFsIGFzIGNvcmU6OmFsbG\ +9jOjpBbGxvY2F0b3I+OjpkZWFsbG9jYXRlOjpoMTY3ZGI0ZTZiMDFlYzM3Yy4yMTY57RcuY29yZTo6\ +Zm10OjpXcml0ZTo6d3JpdGVfZm10OjpoZTM1ZGRiMDA2YTgzZWQ4Mu4XD19fd2JpbmRnZW5fZnJlZe\ +8XVmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxvYzo6dmVjOjpWZWM8c2VyZGVfanNvbjo6dmFs\ +dWU6OlZhbHVlPj46Omg0MjRlNGY0MGUyZTkyZWMy8BdCY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPH\ +dhc21fYmluZGdlbjo6SnNWYWx1ZT46OmgxZDhjN2EzOTU2MzI1NGFm8Rc9d2FzbV9iaW5kZ2VuOjpV\ +bndyYXBUaHJvd0V4dDo6dW53cmFwX3Rocm93OjpoMTNlOTA5YjU5ZWFjMGY2NPIXNndhc21fYmluZG\ +dlbjo6X19ydDo6YXNzZXJ0X25vdF9udWxsOjpoNmNiOWMyNDYyMzhiZGI1OPMXT2NvcmU6OmNtcDo6\ +aW1wbHM6OjxpbXBsIGNvcmU6OmNtcDo6UGFydGlhbEVxPCZCPiBmb3IgJkE+OjplcTo6aDRkZGEzYz\ +RkM2QzYmQ2Mmb0F1Vjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8ZGVub19zZW12ZXI6Ompzcjo6SnNy\ +UGFja2FnZVJlcVJlZmVyZW5jZT46OmgzMTZmMjExNjA5YjZkMGE49ReNAWNvcmU6OnB0cjo6ZHJvcF\ +9pbl9wbGFjZTxhbGxvYzo6dmVjOjpWZWM8KHNlcmRlOjpfX3ByaXZhdGU6OmRlOjpjb250ZW50OjpD\ +b250ZW50LHNlcmRlOjpfX3ByaXZhdGU6OmRlOjpjb250ZW50OjpDb250ZW50KT4+OjpoODhlZmI3NG\ +I3MjlkNTI4NfYXZGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxvYzo6dmVjOjpWZWM8c2VyZGU6\ +Ol9fcHJpdmF0ZTo6ZGU6OmNvbnRlbnQ6OkNvbnRlbnQ+Pjo6aGM2MDVmZDZmODcyODQ4MDf3F0loYX\ +NoYnJvd246OnJhdzo6aW5uZXI6OlJhd1RhYmxlSW5uZXI6OmRyb3BfaW5uZXJfdGFibGU6OmhiNDM2\ +ZDIxNmY4MzkzYzE2+Bdvc2VyZGVfanNvbjo6dmFsdWU6OmZyb206OjxpbXBsIGNvcmU6OmNvbnZlcn\ +Q6OkZyb208JnN0cj4gZm9yIHNlcmRlX2pzb246OnZhbHVlOjpWYWx1ZT46OmZyb206OmhiZjRjNWVk\ +Mzk3OTk2NGQ4+RdEZGVub19jb25maWc6OndvcmtzcGFjZTo6V29ya3NwYWNlOjpyb290X2Rlbm9fan\ +Nvbjo6aGY5Y2VkMTczM2IzNmRjZTf6F09jb3JlOjpjbXA6OmltcGxzOjo8aW1wbCBjb3JlOjpjbXA6\ +OlBhcnRpYWxFcTwmQj4gZm9yICZBPjo6bmU6Omg2M2U0MGI0MTA5YzhiMmZj+xevAWNvcmU6OnB0cj\ +o6ZHJvcF9pbl9wbGFjZTxpbmRleG1hcDo6QnVja2V0PGFsbG9jOjpzdHJpbmc6OlN0cmluZyxpbmRl\ +eG1hcDo6bWFwOjpJbmRleE1hcDxhbGxvYzo6c3RyaW5nOjpTdHJpbmcsY29yZTo6b3B0aW9uOjpPcH\ +Rpb248YWxsb2M6OnN0cmluZzo6U3RyaW5nPj4+Pjo6aGJmMWVlYTJjMmNhNmNkNDT8F1Jjb3JlOjpw\ +dHI6OmRyb3BfaW5fcGxhY2U8YWhvX2NvcmFzaWNrOjpwYWNrZWQ6OmFwaTo6U2VhcmNoS2luZD46Om\ +g5MmU2MTcwZDA2YzFkYWMw/RdPY29yZTo6c2xpY2U6OnNvcnQ6OnN0YWJsZTo6cXVpY2tzb3J0Ojpx\ +dWlja3NvcnQ6Ont7Y2xvc3VyZX19OjpoMzMzMzg3NWMyNTA3NjI2Mf4XazxhaG9fY29yYXNpY2s6Om\ +5mYTo6bm9uY29udGlndW91czo6TkZBIGFzIGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbWF0\ +b24+OjpwcmVmaWx0ZXI6Omg3ZjU2NGNkZTAyYmI2MDMz/xdoPGFob19jb3Jhc2ljazo6bmZhOjpjb2\ +50aWd1b3VzOjpORkEgYXMgYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbj46OnByZWZp\ +bHRlcjo6aDhjZWMwNGViYTNkYTQyZWWAGFw8YWhvX2NvcmFzaWNrOjpkZmE6OkRGQSBhcyBhaG9fY2\ +9yYXNpY2s6OmF1dG9tYXRvbjo6QXV0b21hdG9uPjo6cHJlZmlsdGVyOjpoNTViYmZjOWRmOTJlOGUw\ +NoEYLmNvcmU6OnN0cjo6c2xpY2VfZXJyb3JfZmFpbDo6aDlmNTBjMTYzNDQ0ZGY3NTaCGDI8JlQgYX\ +MgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoYjhjMmI4OTdiYTlhNmJjMoMYMDwmVCBhcyBjb3Jl\ +OjpmbXQ6OkRlYnVnPjo6Zm10OjpoYmQxYzNkZTVlY2VkMjdjNoQYdmNvcmU6OnB0cjo6ZHJvcF9pbl\ +9wbGFjZTwoYWxsb2M6OnJjOjpSYzx1cmw6OlVybD4sZGVub19jb25maWc6OndvcmtzcGFjZTo6ZGlz\ +Y292ZXJ5OjpDb25maWdGb2xkZXIpPjo6aDAwZjI1NjBmNjYzNmZhN2GFGGA8c2VyZGVfanNvbjo6dm\ +FsdWU6OnNlcjo6U2VyaWFsaXplciBhcyBzZXJkZTo6c2VyOjpTZXJpYWxpemVyPjo6c2VyaWFsaXpl\ +X3N0cjo6aDE3NjM4Y2YzZWQ2ZWY3ZWaGGIIBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6Om\ +9wdGlvbjo6T3B0aW9uPChhbGxvYzo6cmM6OlJjPHVybDo6VXJsPixkZW5vX2NvbmZpZzo6d29ya3Nw\ +YWNlOjpGb2xkZXJDb25maWdzKT4+OjpoYzZhMjRlNGU5ZDc5ZmE2M4cYTWNvcmU6OnB0cjo6ZHJvcF\ +9pbl9wbGFjZTxkZW5vX3NlbXZlcjo6cGFja2FnZTo6UGFja2FnZVJlcT46OmhlNDdlNDI0NTdhOWJk\ +ZjFiiBhRanNvbmNfcGFyc2VyOjpzY2FubmVyOjpTY2FubmVyOjpjcmVhdGVfZXJyb3JfZm9yX2N1cn\ +JlbnRfdG9rZW46OmgwNTY1MDQzYjkxY2IwMWNkiRhGY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGpz\ +b25jX3BhcnNlcjo6YXN0OjpPYmplY3Q+OjpoMjA2YWUwNjk2YjgxMmVmNooYYGNvcmU6OnB0cjo6ZH\ +JvcF9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6cGlrZXZtOjpBY3RpdmVT\ +dGF0ZXM+OjpoNjBkZTQ3ZTQ0NjA2ZDA1ZosYbTxkZW5vX2NvbmZpZzo6ZnM6OlJlYWxEZW5vQ29uZm\ +lnRnMgYXMgZGVub19jb25maWc6OmZzOjpEZW5vQ29uZmlnRnM+OjpyZWFkX3RvX3N0cmluZ19sb3Nz\ +eTo6aGI0Y2ZmNjQ3NTFkYjNiMmWMGGE8ZGVub19jb25maWc6OmZzOjpSZWFsRGVub0NvbmZpZ0ZzIG\ +FzIGRlbm9fY29uZmlnOjpmczo6RGVub0NvbmZpZ0ZzPjo6cmVhZF9kaXI6Omg0YTliMmUyYWM1NDM1\ +YmVmjRg5Y29yZTo6b3BzOjpmdW5jdGlvbjo6Rm5PbmNlOjpjYWxsX29uY2U6Omg3YWMwMDlkZmMxND\ +gwNDRmjhhrY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6Om9wdGlvbjo6T3B0aW9uPHJlZ2V4\ +X2F1dG9tYXRhOjp1dGlsOjpzZWFyY2g6OlBhdHRlcm5TZXQ+Pjo6aDc1Nzc4MmZlMDY0NDIwYmaPGF\ +Vjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8ZGVub19zZW12ZXI6Ompzcjo6SnNyUGFja2FnZVJlcVJl\ +ZmVyZW5jZT46Omg1ZGQyNTM4NTQ5ZjI0NzZhkBiiAmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxzZX\ +JkZTo6ZGU6OnZhbHVlOjpTZXFEZXNlcmlhbGl6ZXI8Y29yZTo6aXRlcjo6YWRhcHRlcnM6Om1hcDo6\ +TWFwPGFsbG9jOjp2ZWM6OmludG9faXRlcjo6SW50b0l0ZXI8c2VyZGU6Ol9fcHJpdmF0ZTo6ZGU6Om\ +NvbnRlbnQ6OkNvbnRlbnQ+LHNlcmRlOjpfX3ByaXZhdGU6OmRlOjpjb250ZW50OjpDb250ZW50RGVz\ +ZXJpYWxpemVyPHNlcmRlX2pzb246OmVycm9yOjpFcnJvcj46Om5ldz4sc2VyZGVfanNvbjo6ZXJyb3\ +I6OkVycm9yPj46OmgxYTQyOGI4MjA2ZTczMGYykRgyPCZUIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46\ +OmZtdDo6aDU4NWFiN2E0NjExMzk5NWGSGIsBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6Om\ +9wdGlvbjo6T3B0aW9uPHN0ZDo6Y29sbGVjdGlvbnM6Omhhc2g6OnNldDo6SGFzaFNldDxkZW5vX3Nl\ +bXZlcjo6anNyOjpKc3JEZXBQYWNrYWdlUmVxPj4+OjpoYTJlOTRjZmIyOWI0YmQzYZMYSmNvcmU6On\ +B0cjo6ZHJvcF9pbl9wbGFjZTxkZW5vX2xvY2tmaWxlOjpKc3JQYWNrYWdlSW5mbz46Omg5OTFhOTMy\ +YWI1M2ViM2U5lBhtY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGluZGV4bWFwOjpCdWNrZXQ8YWxsb2\ +M6OnN0cmluZzo6U3RyaW5nLHNlcmRlX2pzb246OnZhbHVlOjpWYWx1ZT4+OjpoOTc0YzY3YjI0ZWY3\ +NWQ0NpUYUGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTx1cmw6OnBhdGhfc2VnbWVudHM6OlBhdGhTZW\ +dtZW50c011dD46OmhhNzg1ZmEzZTg5MTVjYTM5lhhNY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGRl\ +bm9fc2VtdmVyOjpwYWNrYWdlOjpQYWNrYWdlUmVxPjo6aGVkZDQ0ZTdiYThmMTU2Y2aXGFRjb3JlOj\ +pwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnZlYzo6VmVjPHJlZ2V4X3N5bnRheDo6YXN0OjpBc3Q+\ +Pjo6aDU4NjY4MmQ2ZjcwOGE5MzGYGFRjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnZlYz\ +o6VmVjPHJlZ2V4X3N5bnRheDo6aGlyOjpIaXI+Pjo6aDQ5YTExYTJhMDQ0YjQ5OWKZGEdjb3JlOjpw\ +dHI6OmRyb3BfaW5fcGxhY2U8aW1wb3J0X21hcDo6U2NvcGVzTWFwVmFsdWU+OjpoNDY4NDQ5Y2YxOD\ +Q1MjdlM5oYW2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbGxvYzo6dmVjOjpWZWM8anNvbmNfcGFy\ +c2VyOjphc3Q6Ok9iamVjdFByb3A+Pjo6aGExODRmMzczNzYxODk0MTObGFZjb3JlOjpwdHI6OmRyb3\ +BfaW5fcGxhY2U8YWxsb2M6OnZlYzo6VmVjPGpzb25jX3BhcnNlcjo6YXN0OjpWYWx1ZT4+OjpoNDA5\ +ODRkNjNlMTA2OGQ4ZZwYSmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxqc29uY19wYXJzZXI6OmFzdD\ +o6T2JqZWN0UHJvcD46OmhmMmEyOGI0NzkxNDYyNjA3nRhQanNvbmNfcGFyc2VyOjpzY2FubmVyOjpT\ +Y2FubmVyOjpjcmVhdGVfZXJyb3JfZm9yX2N1cnJlbnRfY2hhcjo6aDJmMzQ2MWQ0NWQwYTcwNTSeGE\ +Njb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8b25jZV9jZWxsOjppbXA6OldhaXRlcj46OmhhZjc3NDM5\ +NTQ5ZTQwZmQ2nxhDY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X3N5bnRheDo6aGlyOjpIaX\ +I+OjpoZGYwNjQ2MjJlODU0NDg4NKAYT2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhaG9fY29yYXNp\ +Y2s6OnBhY2tlZDo6YXBpOjpCdWlsZGVyPjo6aDI4YmYzZDkxYTI1ZjM1NTWhGFU8cmVnZXhfYXV0b2\ +1hdGE6Om5mYTo6dGhvbXBzb246Om5mYTo6TkZBIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg3\ +OTg2NWQ2ZjE4ZmUzNTU0ohhYY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGNvcmU6Om9wdGlvbjo6T3\ +B0aW9uPGFsbG9jOjpzeW5jOjpBcmM8c3RyPj4+OjpoODc2NmFjMjUyNzYzMTg1NqMYamNvcmU6OnB0\ +cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9wdGlvbjxyZWdleF9hdXRvbWF0YTo6bmZhOj\ +p0aG9tcHNvbjo6bmZhOjpORkE+Pjo6aDBiZTIwMTAxOWJiZDIxOTKkGJYBPGNvcmU6OnJlc3VsdDo6\ +UmVzdWx0PFQsRj4gYXMgY29yZTo6b3BzOjp0cnlfdHJhaXQ6OkZyb21SZXNpZHVhbDxjb3JlOjpyZX\ +N1bHQ6OlJlc3VsdDxjb3JlOjpjb252ZXJ0OjpJbmZhbGxpYmxlLEU+Pj46OmZyb21fcmVzaWR1YWw6\ +OmgwM2FmYjdmYTAyNzE3YjJlpRiBAWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb2\ +46Ok9wdGlvbjxhbGxvYzo6c3luYzo6QXJjPGR5biByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRl\ +Z3k6OlN0cmF0ZWd5Pj4+OjpoNmQ3YWExNjNlZmMzOWVmMaYYQ2NvcmU6OnB0cjo6ZHJvcF9pbl9wbG\ +FjZTxyZWdleF9zeW50YXg6Omhpcjo6SGlyPjo6aDBhMzE2ZjMzOGNjNjkzYWOnGFE8YWxsb2M6OnN0\ +cmluZzo6U3RyaW5nIGFzIGNvcmU6OmNtcDo6UGFydGlhbEVxPCZzdHI+Pjo6bmU6Omg5MTYxZjA4ZG\ +JjYjEwYzlhLjIyMjKoGDZ3YXNtX2JpbmRnZW46OmNhc3Q6OkpzQ2FzdDo6ZHluX3JlZjo6aDZkNGQx\ +NWVjZGMwZDE2OGGpGFxjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6cmVzdWx0OjpSZXN1bH\ +Q8dTY0LHdhc21fYmluZGdlbjo6SnNWYWx1ZT4+OjpoMGE3NWZmYWU1ZTVjMGJmMqoYiAF3YXNtX2Jp\ +bmRnZW46OmNvbnZlcnQ6OnNsaWNlczo6PGltcGwgd2FzbV9iaW5kZ2VuOjpjb252ZXJ0Ojp0cmFpdH\ +M6OkZyb21XYXNtQWJpIGZvciBhbGxvYzo6Ym94ZWQ6OkJveDxbVF0+Pjo6ZnJvbV9hYmk6Omg5ZjQy\ +YzY4MGNiMzg1NzZjqxgyPCZUIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aDE3NWNmMjNhMD\ +VkNmM2MjisGEU8YWxsb2M6OnN0cmluZzo6U3RyaW5nIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZt\ +dDo6aGQ0MGQ3MDdmYzcxY2ZmOWatGC5jb3JlOjplcnJvcjo6RXJyb3I6OnR5cGVfaWQ6OmgyOGQ0OW\ +Y3YzRhMDc0ZWVirhgvYWxsb2M6OnJhd192ZWM6OmhhbmRsZV9lcnJvcjo6aDc2MTMxZDY3MGY1M2E1\ +ZWWvGC1hbnlob3c6OmVycm9yOjpvYmplY3RfZHJvcDo6aDQ4M2FiYzMzM2VlMWFhMmKwGC5hbnlob3\ +c6OmVycm9yOjpvYmplY3RfYm94ZWQ6OmhhOGQ0MGE5MjJlZTFmZmYxsRheY29yZTo6cHRyOjpkcm9w\ +X2luX3BsYWNlPGNvcmU6OnJlc3VsdDo6UmVzdWx0PCgpLHNlcmRlX2pzb246OmVycm9yOjpFcnJvcj\ +4+OjpoYmVkOTQ4MmMyNWIwMWFlMbIYQjxzdGQ6OnBhdGg6OkRpc3BsYXkgYXMgY29yZTo6Zm10OjpE\ +aXNwbGF5Pjo6Zm10OjpoOTc3Y2FjMGUzMjc4NmE4NrMYYzxkZW5vX2NvbmZpZzo6d29ya3NwYWNlOj\ +pXb3Jrc3BhY2VEaXNjb3ZlckVycm9yIGFzIGNvcmU6OmNvbnZlcnQ6OkZyb208RT4+Ojpmcm9tOjpo\ +OWRiOGRjZWQyZDA2ZGNhMbQYU2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxzZXJkZV9qc29uOjp2YW\ +x1ZTo6ZGU6Ok1hcERlc2VyaWFsaXplcj46OmhmZWEyZTNmMzE3MjJhMDJjtRgyPCZUIGFzIGNvcmU6\ +OmZtdDo6RGlzcGxheT46OmZtdDo6aDQ5NGQ0ZGE2ODcwMGJhZDe2GGo8YWhvX2NvcmFzaWNrOjpuZm\ +E6Om5vbmNvbnRpZ3VvdXM6Ok5GQSBhcyBhaG9fY29yYXNpY2s6OmF1dG9tYXRvbjo6QXV0b21hdG9u\ +Pjo6aXNfbWF0Y2g6OmgzYTg2ODNkZDE5NzExN2E3txhnPGFob19jb3Jhc2ljazo6bmZhOjpjb250aW\ +d1b3VzOjpORkEgYXMgYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbj46OmlzX21hdGNo\ +OjpoMzczYzhhZTFlZTQ0NmUxYbgYWzxhaG9fY29yYXNpY2s6OmRmYTo6REZBIGFzIGFob19jb3Jhc2\ +ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+Ojppc19tYXRjaDo6aGE0NzQxNmZlMGJhZjQyNzS5GFdj\ +b3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWhvX2NvcmFzaWNrOjpwYWNrZWQ6OnJhYmlua2FycDo6Um\ +FiaW5LYXJwPjo6aGEwZmVmMzliNWQ3MTZmMmO6GMIBPDxhbGxvYzo6Ym94ZWQ6OkJveDxkeW4gY29y\ +ZTo6ZXJyb3I6OkVycm9yK2NvcmU6Om1hcmtlcjo6U3luYytjb3JlOjptYXJrZXI6OlNlbmQ+IGFzIG\ +NvcmU6OmNvbnZlcnQ6OkZyb208YWxsb2M6OnN0cmluZzo6U3RyaW5nPj46OmZyb206OlN0cmluZ0Vy\ +cm9yIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aDM1MmNkZTk2NDg5MDcwOWO7GC5jb3JlOj\ +plcnJvcjo6RXJyb3I6OnR5cGVfaWQ6Omg0Y2JhZjllOTUzY2Y4NzkxvBguY29yZTo6ZXJyb3I6OkVy\ +cm9yOjp0eXBlX2lkOjpoOWNmN2VhMGM1NDZhZWUwY70YLmNvcmU6OmVycm9yOjpFcnJvcjo6dHlwZV\ +9pZDo6aGRlYTFhYWNhNTY1NzBmZjG+GC5jb3JlOjplcnJvcjo6RXJyb3I6OnR5cGVfaWQ6OmhlNTli\ +ZDg5YzdiOWQxOTg5vxgtYW55aG93OjplcnJvcjo6b2JqZWN0X2Ryb3A6Omg2ZTgyNDAxZTZiNmQzMD\ +MwwBguYW55aG93OjplcnJvcjo6b2JqZWN0X2JveGVkOjpoNzc0ODdjYWViN2FkMjg3Y8EYLmFueWhv\ +dzo6ZXJyb3I6Om9iamVjdF9ib3hlZDo6aGM2Y2EwYThkNWVlMTc1ZDLCGDJjb3JlOjplcnJvcjo6RX\ +Jyb3I6OmRlc2NyaXB0aW9uOjpoMzBjYmNjZDc4OGUwMDZiMcMYUDxhbnlob3c6OndyYXBwZXI6Ok1l\ +c3NhZ2VFcnJvcjxNPiBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6Omg5NmZhMWU0YWQ1MmY2Nz\ +JjxBgyPCZUIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aDJmMDg1MjE0NmJlMWM1NDPFGEQ8\ +Y29yZTo6Zm10OjpBcmd1bWVudHMgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoOWYwYzFjYj\ +MwZTVjZmE2ZsYYdGNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9wdGlvbjxh\ +bGxvYzo6cmM6OlJjPGRlbm9fY29uZmlnOjpkZW5vX2pzb246OkNvbmZpZ0ZpbGU+Pj46OmgyOTk0Nj\ +Q1ZDRhMTVlNGM4xxhAPGFsbG9jOjpyYzo6UmM8VCxBPiBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10\ +OjpoNzZlYjNmZTI5ZjUxNWFmMMgYXWNvcmU6Om9wczo6ZnVuY3Rpb246OmltcGxzOjo8aW1wbCBjb3\ +JlOjpvcHM6OmZ1bmN0aW9uOjpGbjxBPiBmb3IgJkY+OjpjYWxsOjpoMDhiZDJlMzQ4YzAxZWYzZskY\ +LmNvcmU6OmVycm9yOjpFcnJvcjo6dHlwZV9pZDo6aDhhZThlMjMxNWEyN2E2OGHKGDJjb3JlOjplcn\ +Jvcjo6RXJyb3I6OmRlc2NyaXB0aW9uOjpoNTBiYjI3OTM0YjBhMGRhZcsYLmNvcmU6OmVycm9yOjpF\ +cnJvcjo6dHlwZV9pZDo6aDNiY2FmMWU5M2RmYWQwMjHMGC5jb3JlOjplcnJvcjo6RXJyb3I6OnR5cG\ +VfaWQ6Omg1NzBlODJkYjJiOTMzOWFkzRguY29yZTo6ZXJyb3I6OkVycm9yOjp0eXBlX2lkOjpoNWYz\ +NjIxMjFjMmY3MjliMc4YLmNvcmU6OmVycm9yOjpFcnJvcjo6dHlwZV9pZDo6aDY3Mzk1ZTlkY2Y2MT\ +FlYWXPGC5jb3JlOjplcnJvcjo6RXJyb3I6OnR5cGVfaWQ6Omg3ODVmZmMwMTczZTZiNWFk0BguY29y\ +ZTo6ZXJyb3I6OkVycm9yOjp0eXBlX2lkOjpoZTIxZmIwMzRhMzY3YzAzONEYLWFueWhvdzo6ZXJyb3\ +I6Om9iamVjdF9kcm9wOjpoN2YzNjc1MDJlNmUxMGQ0NNIYLmFueWhvdzo6ZXJyb3I6Om9iamVjdF9i\ +b3hlZDo6aDY4YTBmMGNjNDMwMDJkM2TTGDJjb3JlOjplcnJvcjo6RXJyb3I6OmRlc2NyaXB0aW9uOj\ +poNDI4NjU4N2FkNWI3ZWQ1ONQYLWFueWhvdzo6ZXJyb3I6Om9iamVjdF9kcm9wOjpoMDE2ZmUxM2M4\ +MTMzM2I1NdUYLWFueWhvdzo6ZXJyb3I6Om9iamVjdF9kcm9wOjpoZjc0NjA1YzFmMGM4YjY4NdYYLm\ +FueWhvdzo6ZXJyb3I6Om9iamVjdF9ib3hlZDo6aDRhNDY3NzU3NTM4Mjc1YTfXGC5hbnlob3c6OmVy\ +cm9yOjpvYmplY3RfYm94ZWQ6Omg1YmRjMGUxNTE3NGZkYWQ12BguYW55aG93OjplcnJvcjo6b2JqZW\ +N0X2JveGVkOjpoYzVkZDZhNDdmYTE0YTY0NtkYc2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3Jl\ +OjpvcHRpb246Ok9wdGlvbjxhbGxvYzo6cmM6OlJjPGRlbm9fY29uZmlnOjp3b3Jrc3BhY2U6Oldvcm\ +tzcGFjZT4+Pjo6aGNkNjA3MzAyMTVlZmRiZjTaGHxjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8KHNl\ +cmRlOjpfX3ByaXZhdGU6OmRlOjpjb250ZW50OjpDb250ZW50LHNlcmRlOjpfX3ByaXZhdGU6OmRlOj\ +pjb250ZW50OjpDb250ZW50KT46OmhiZTFlNDkzYjk3MDM3YzAx2xhYY29yZTo6cHRyOjpkcm9wX2lu\ +X3BsYWNlPGRlbm9fbG9ja2ZpbGU6OldvcmtzcGFjZU1lbWJlckNvbmZpZ0NvbnRlbnQ+OjpoNTkzOT\ +QwMTM4OGM3NTM1ZtwYU2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxzZXJkZV9qc29uOjp2YWx1ZTo6\ +ZGU6Ok1hcERlc2VyaWFsaXplcj46OmgyYmY1OTU3NjBjYmRmNTJi3RhDbW9uY2g6OlBhcnNlRXJyb3\ +JGYWlsdXJlOjpuZXdfZm9yX3RyYWlsaW5nX2lucHV0OjpoZDBmNGVkZjVmOWM4ZWFhYt4YOG1vbmNo\ +OjpQYXJzZUVycm9yRmFpbHVyZTo6aW50b19yZXN1bHQ6Omg4YmIxNmUwMjkxNTg2Zjhk3xguY29yZT\ +o6ZXJyb3I6OkVycm9yOjp0eXBlX2lkOjpoZTAyNzRmMTJhNTlmNGJlOeAYTWNvcmU6OnB0cjo6ZHJv\ +cF9pbl9wbGFjZTxkZW5vX3NlbXZlcjo6cmFuZ2U6OlZlcnNpb25SYW5nZT46Omg5YTU2ZmZiYjM2OW\ +FjMmE44Rg4bW9uY2g6OlBhcnNlRXJyb3JGYWlsdXJlOjppbnRvX3Jlc3VsdDo6aGI4Y2MwNTYyMDZh\ +MjQ3YzfiGGJjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OmJveGVkOjpCb3g8cmVnZXhfYX\ +V0b21hdGE6Om1ldGE6OnJlZ2V4OjpDYWNoZT4+OjpoNDI5NjAzZTM1NWIzMTIzMOMYOWNvcmU6Om9w\ +czo6ZnVuY3Rpb246OkZuT25jZTo6Y2FsbF9vbmNlOjpoYjc1YTNmNDg5NjhmMmMxM+QYfWNvcmU6On\ +B0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9wdGlvbjxhbGxvYzo6cmM6OlJjPGFsbG9j\ +Ojp2ZWM6OlZlYzxqc29uY19wYXJzZXI6OmFzdDo6Q29tbWVudD4+Pj46OmgyNTQ1OGQ4YTY1YmQyNj\ +lk5RgwcmVnZXhfc3ludGF4OjpoaXI6Okhpcjo6ZW1wdHk6Omg3ZjE3ZjIyNjJjYWI4YThk5hhWY29y\ +ZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFsbG9jOjpib3hlZDo6Qm94PHJlZ2V4X3N5bnRheDo6aGlyOj\ +pIaXI+Pjo6aDIzMGNiNWNkNWJkOTgxYzLnGFRjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJ\ +dGVyYXRvcjo6bWluX2J5Ojpmb2xkOjp7e2Nsb3N1cmV9fTo6aDQyYWZkODMwNWIzMmNjNmXoGFRjb3\ +JlOjppdGVyOjp0cmFpdHM6Oml0ZXJhdG9yOjpJdGVyYXRvcjo6bWF4X2J5Ojpmb2xkOjp7e2Nsb3N1\ +cmV9fTo6aDI5NDM3ZWY5Y2FiYmRlMGPpGFNjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfYX\ +V0b21hdGE6Om1ldGE6OndyYXBwZXJzOjpQaWtlVk0+OjpoOTQ4MDYwZjBhYjljMmE4ZeoYXHJlZ2V4\ +X2F1dG9tYXRhOjpuZmE6OnRob21wc29uOjpjb21waWxlcjo6Q29tcGlsZXI6OmNfZXhhY3RseTo6e3\ +tjbG9zdXJlfX06Omg3ZThmZjNmOWQxMjE2Y2Y46xg7cmVnZXhfYXV0b21hdGE6OmRmYTo6b25lcGFz\ +czo6REZBOjpzdGFydDo6aGNkMTZhODg4MDI0YzhiMjjsGFByZWdleF9hdXRvbWF0YTo6dXRpbDo6bG\ +9vazo6TG9va01hdGNoZXI6OmlzX3dvcmRfYXNjaWlfbmVnYXRlOjpoNDFmODA5ODljN2FmYzEwOe0Y\ +W2NvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6bmZhOjp0aG9tcHNvbjo6cG\ +lrZXZtOjpCdWlsZGVyPjo6aDYyNmZkOGRiNmFjYjc0ZDDuGFpjb3JlOjpwdHI6OmRyb3BfaW5fcGxh\ +Y2U8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpSZXZlcnNlU3VmZml4Pjo6aDgwZGQ0Ym\ +JmNzJjY2U1ZTjvGFpjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfYXV0b21hdGE6OnV0aWw6\ +OnByZWZpbHRlcjo6dGVkZHk6OlRlZGR5Pjo6aGNkYWM4ZWQ3OTM4NTQ4YWLwGIwBY29yZTo6cHRyOj\ +pkcm9wX2luX3BsYWNlPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPHJlZ2V4X2F1\ +dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OmFob19jb3Jhc2ljazo6QWhvQ29yYXNpY2s+Pjo6aDgyMj\ +EwM2IxMmU5ZTI1OTDxGH9jb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfYXV0b21hdGE6Om1l\ +dGE6OnN0cmF0ZWd5OjpQcmU8cmVnZXhfYXV0b21hdGE6OnV0aWw6OnByZWZpbHRlcjo6dGVkZHk6Ol\ +RlZGR5Pj46OmgxNmZmZjMyOGMwNzI3MDlk8hiBAWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZWdl\ +eF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJlZm\ +lsdGVyOjptZW1tZW06Ok1lbW1lbT4+OjpoYTY0NWQwODIzYmE4OTE1M/MYVmNvcmU6OnB0cjo6ZHJv\ +cF9pbl9wbGFjZTxhbGxvYzo6Ym94ZWQ6OkJveDxyZWdleF9zeW50YXg6Omhpcjo6SGlyPj46OmgxNT\ +QwZjA4OTYwMGE2NjYw9Bg1cmVnZXhfc3ludGF4Ojphc3Q6OkFzdDo6cmVwZXRpdGlvbjo6aDk4MjYz\ +N2ZlNzU5MTFmZTn1GC5jb3JlOjplcnJvcjo6RXJyb3I6OnR5cGVfaWQ6OmhkOWQxZjRiN2M4NDc5ZD\ +g39hgmYWxsb2M6OmFsbG9jOjphbGxvYzo6aDNmMGQzYmFhMjhkYTM3NDX3GC5jb3JlOjplcnJvcjo6\ +RXJyb3I6OnR5cGVfaWQ6OmhlM2U3NWUzODVjMjViOThj+BhKPGFsbG9jOjpzdHJpbmc6OlN0cmluZy\ +BhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6OmhkNDBkNzA3ZmM3MWNmZjlmLjIwNDX5GCthbGxv\ +Yzo6YWxsb2M6OmFsbG9jOjpoM2YwZDNiYWEyOGRhMzc0NS4yMjg5+hgUX193YmluZGdlbl9leG5fc3\ +RvcmX7GC5jb3JlOjpvcHRpb246OnVud3JhcF9mYWlsZWQ6Omg5YWE4MmViNzExMjhiMTI3/Bgvd2Fz\ +bV9iaW5kZ2VuOjpKc1ZhbHVlOjpqc19pbjo6aGRhMDIyZDFhOTIxN2M2NDn9GE9jb3JlOjpjbXA6Om\ +ltcGxzOjo8aW1wbCBjb3JlOjpjbXA6OlBhcnRpYWxFcTwmQj4gZm9yICZBPjo6ZXE6Omg0ZWZhMTc3\ +NjUyYmZkOTU5/hhJPGFsbG9jOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlOjpmbXQ6OldyaXRlPjo6d3\ +JpdGVfc3RyOjpoYzM1YjBlMTMzZDdkNGUzYf8YRjxhbGxvYzo6c3RyaW5nOjpTdHJpbmcgYXMgY29y\ +ZTo6Y21wOjpQYXJ0aWFsRXE+OjplcTo6aDVkZTBhM2JmY2ZiNGE1ZTaAGT88USBhcyBlcXVpdmFsZW\ +50OjpFcXVpdmFsZW50PEs+Pjo6ZXF1aXZhbGVudDo6aDA3M2UyMjkwYWE3NWFmYTeBGTVjb3JlOjpz\ +dHI6OjxpbXBsIHN0cj46OnN0YXJ0c193aXRoOjpoNjc3Y2EzM2E0MWIyZjExY4IZTWNvcmU6OmZtdD\ +o6bnVtOjppbXA6OjxpbXBsIGNvcmU6OmZtdDo6RGlzcGxheSBmb3IgdTg+OjpmbXQ6Omg4OTliNTRj\ +NTU0MzUxNmM3gxlOY29yZTo6Zm10OjpudW06OmltcDo6PGltcGwgY29yZTo6Zm10OjpEaXNwbGF5IG\ +ZvciB1NjQ+OjpmbXQ6Omg5MDZiMGFjZjBkMzg2MmUwhBlOY29yZTo6Zm10OjpudW06OmltcDo6PGlt\ +cGwgY29yZTo6Zm10OjpEaXNwbGF5IGZvciB1MzI+OjpmbXQ6OmhkNDZkNjljYTNmYTllYjFlhRlLYW\ +hvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbjo6dHJ5X2ZpbmRfb3ZlcmxhcHBpbmc6Omgz\ +NmZjNWM3Y2FjNTc5OWY4hhlLYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbjo6dHJ5X2\ +ZpbmRfb3ZlcmxhcHBpbmc6OmhhZmMzMmU4NmU2YzlmMTNihxlOY29yZTo6Zm10OjpudW06OmltcDo6\ +PGltcGwgY29yZTo6Zm10OjpEaXNwbGF5IGZvciB1MTY+OjpmbXQ6Omg3ZTE4MGJhODk0ZTE0NGI0iB\ +kwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg4NjM0NDU1ZGMyNjI5YWYwiRlPY29yZTo6\ +cHRyOjpkcm9wX2luX3BsYWNlPGRlbm9fcGF0aF91dGlsOjpVcmxUb0ZpbGVQYXRoRXJyb3I+OjpoNm\ +M2MjViZmNjOTJmZjcyN4oZL3N0ZDo6cGF0aDo6UGF0aDo6c3RhcnRzX3dpdGg6OmgwNWZhOTZkZDc0\ +NWYxOTAyixldY29yZTo6b3BzOjpmdW5jdGlvbjo6aW1wbHM6OjxpbXBsIGNvcmU6Om9wczo6ZnVuY3\ +Rpb246OkZuPEE+IGZvciAmRj46OmNhbGw6OmgwZjNhZDQyZjM0OWRmOWQwjBk/PFEgYXMgZXF1aXZh\ +bGVudDo6RXF1aXZhbGVudDxLPj46OmVxdWl2YWxlbnQ6Omg0ZmZjMTg5NmNkN2VjNzI4jRlYPGFsbG\ +9jOjp2ZWM6OmludG9faXRlcjo6SW50b0l0ZXI8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+\ +Ojpkcm9wOjpoM2Y3YjAzMjE0ZWFhNzhiNY4ZWDxhbGxvYzo6dmVjOjppbnRvX2l0ZXI6OkludG9JdG\ +VyPFQsQT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDY3MzU3ZTY3Mzg0ZjVhMGKP\ +GVJjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWhvX2NvcmFzaWNrOjp1dGlsOjplcnJvcjo6TWF0Y2\ +hFcnJvcj46OmhhMWQ5YmM2NjkzN2NiOTBlkBk+PFEgYXMgaGFzaGJyb3duOjpFcXVpdmFsZW50PEs+\ +Pjo6ZXF1aXZhbGVudDo6aGNiOTFjM2ZhNDQ5ODk3ZDSRGb8BY29yZTo6cHRyOjpkcm9wX2luX3BsYW\ +NlPDxhbGxvYzo6Ym94ZWQ6OkJveDxkeW4gY29yZTo6ZXJyb3I6OkVycm9yK2NvcmU6Om1hcmtlcjo6\ +U3luYytjb3JlOjptYXJrZXI6OlNlbmQ+IGFzIGNvcmU6OmNvbnZlcnQ6OkZyb208YWxsb2M6OnN0cm\ +luZzo6U3RyaW5nPj46OmZyb206OlN0cmluZ0Vycm9yPjo6aGMyNGQ2NTkzM2IwNDgxYzSSGWpjb3Jl\ +OjpvcHM6OmZ1bmN0aW9uOjppbXBsczo6PGltcGwgY29yZTo6b3BzOjpmdW5jdGlvbjo6Rm5PbmNlPE\ +E+IGZvciAmbXV0IEY+OjpjYWxsX29uY2U6Omg3NDdiZDlkYzZiYzU4MTM3kxlUcmVnZXhfYXV0b21h\ +dGE6Om5mYTo6dGhvbXBzb246OmNvbXBpbGVyOjpDb21waWxlcjo6Yzo6e3tjbG9zdXJlfX06OmgzOD\ +IxYTRkZWQyYWJlNDA4lBlKPFQgYXMgY29yZTo6YXJyYXk6OmVxdWFsaXR5OjpTcGVjQXJyYXlFcTxV\ +LF8+Pjo6c3BlY19lcTo6aDMzNGY4NDFiMjA1ZDM3OGaVGVJjb3JlOjppdGVyOjp0cmFpdHM6Oml0ZX\ +JhdG9yOjpJdGVyYXRvcjo6YWxsOjpjaGVjazo6e3tjbG9zdXJlfX06OmhkNGUyNzA5NTEzYzRiYjBl\ +lhlMcmVnZXhfYXV0b21hdGE6OnV0aWw6OmRldGVybWluaXplOjpzdGF0ZTo6U3RhdGU6OmlzX21hdG\ +NoOjpoMjBiODUxNDI0N2Q5MjJiNJcZTXJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpkZXRlcm1pbml6ZTo6\ +c3RhdGU6OlN0YXRlOjpsb29rX25lZWQ6OmgyZjc2MTZlNmUyZWNhY2IzmBlNcmVnZXhfYXV0b21hdG\ +E6OnV0aWw6OmRldGVybWluaXplOjpzdGF0ZTo6U3RhdGU6Omxvb2tfaGF2ZTo6aGE1ZTU5ZDc0YzBk\ +OGQ0ZjCZGU9yZWdleF9hdXRvbWF0YTo6dXRpbDo6ZGV0ZXJtaW5pemU6OnN0YXRlOjpSZXByVmVjOj\ +psb29rX2hhdmU6Omg1YTRjZmJjMWVhOTYwNjVmmhlBcmVnZXhfYXV0b21hdGE6OnV0aWw6OnNlYXJj\ +aDo6SW5wdXQ6OnNldF9zdGFydDo6aDM3Y2U4OTg3M2E3NGEwNTObGVVjb3JlOjpwdHI6OmRyb3BfaW\ +5fcGxhY2U8cmVnZXhfYXV0b21hdGE6OnV0aWw6OnNlYXJjaDo6TWF0Y2hFcnJvcj46OmhhNzgyZGE3\ +OTBiZDA3MzVhnBmMATxyZWdleF9hdXRvbWF0YTo6dXRpbDo6cHJlZmlsdGVyOjphaG9fY29yYXNpY2\ +s6OkFob0NvcmFzaWNrIGFzIHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OlByZWZpbHRl\ +ckk+OjptZW1vcnlfdXNhZ2U6OmgzZmQzMjM2NTE4ZTMxNTgynRl1PHJlZ2V4X2F1dG9tYXRhOjptZX\ +RhOjpzdHJhdGVneTo6UHJlPFA+IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3Ry\ +YXRlZ3k+OjptZW1vcnlfdXNhZ2U6Omg0MGFiYWVhZDQ5ODg4YjQxnhkwPCZUIGFzIGNvcmU6OmZtdD\ +o6RGVidWc+OjpmbXQ6Omg5MDQ1NWUzOTE0NjE4NjRmnxlHPGFsbG9jOjpib3hlZDo6Qm94PFQsQT4g\ +YXMgY29yZTo6Y21wOjpQYXJ0aWFsRXE+OjplcTo6aDkxNDA1NjAwZWFjMDk2ZTOgGUljb3JlOjpwdH\ +I6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnN0cmluZzo6RnJvbVV0ZjhFcnJvcj46OmhiZjZkNDE4YmQ5\ +M2UwOTAyoRlBcmVnZXhfc3ludGF4OjpoaXI6OmxpdGVyYWw6OlNlcTo6bWFrZV9pbmZpbml0ZTo6aG\ +RjNDE1YTg3MGVhZTJkNTCiGU48YWxsb2M6OnN0cmluZzo6U3RyaW5nIGFzIGNvcmU6OmZtdDo6V3Jp\ +dGU+Ojp3cml0ZV9zdHI6OmhjMzViMGUxMzNkN2Q0ZTNhLjE3NzejGb8BY29yZTo6cHRyOjpkcm9wX2\ +luX3BsYWNlPDxhbGxvYzo6Ym94ZWQ6OkJveDxkeW4gY29yZTo6ZXJyb3I6OkVycm9yK2NvcmU6Om1h\ +cmtlcjo6U3luYytjb3JlOjptYXJrZXI6OlNlbmQ+IGFzIGNvcmU6OmNvbnZlcnQ6OkZyb208YWxsb2\ +M6OnN0cmluZzo6U3RyaW5nPj46OmZyb206OlN0cmluZ0Vycm9yPjo6aDczYzY3NjQ2YjI5ZjhmNzSk\ +GTlzZXJkZV9qc29uOjpzZXI6OkZvcm1hdHRlcjo6d3JpdGVfbnVsbDo6aDc3NWZlZGM2OTcxM2ZlNz\ +KlGThzZXJkZV9qc29uOjpzZXI6OkZvcm1hdHRlcjo6ZW5kX2FycmF5OjpoZWQ4M2M1YWJiNzc3MmRh\ +MqYZOXNlcmRlX2pzb246OnNlcjo6Rm9ybWF0dGVyOjplbmRfb2JqZWN0OjpoMDE2ZGVmMTY2MGUwMz\ +YzZacZH19fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXKoGTN3YXNtX2JpbmRnZW46OkpzVmFs\ +dWU6OmlzX2JpZ2ludDo6aGEyOTQ3Y2EzYjZkMTY2ODGpGTJqc19zeXM6Ok51bWJlcjo6aXNfc2FmZV\ +9pbnRlZ2VyOjpoZjRlNDc0MDc5ZWY0OTk3YqoZKmpzX3N5czo6QXJyYXk6OmlzX2FycmF5OjpoZTc4\ +YmNiMTcyMGFjY2RhN6sZM3dhc21fYmluZGdlbjo6SnNWYWx1ZTo6aXNfb2JqZWN0OjpoZmRlODRiZm\ +ZmMzljYmRiZawZW2pzX3N5czo6Xzo6PGltcGwgd2FzbV9iaW5kZ2VuOjpjYXN0OjpKc0Nhc3QgZm9y\ +IGpzX3N5czo6TWFwPjo6aW5zdGFuY2VvZjo6aGE2MmE1YmU0ZmY3NjU2ZTOtGSp3YXNtX2JpbmRnZW\ +46OnRocm93X3N0cjo6aGYyYjMwNTQyNDNmYWI3YTCuGTF3YXNtX2JpbmRnZW46Ol9fcnQ6OnRocm93\ +X251bGw6OmgyYTc1YzNhMzlmMWVjMGEwrxk2d2FzbV9iaW5kZ2VuOjpKc1ZhbHVlOjppc191bmRlZm\ +luZWQ6OmhjNDIyYTMyM2ZmOTYxNjVisBkwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omhj\ +ZjU3Y2Q1ZGJlM2NlM2VjsRkyPCZUIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aGFjMDJhNT\ +U1MTlkN2E3NGGyGTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGVkYzAwZmJhZDFjYjI1\ +NGGzGVI8YWxsb2M6OmJvcnJvdzo6Q293PHN0cj4gYXMgYWxsb2M6OnN0cmluZzo6VG9TdHJpbmc+Oj\ +p0b19zdHJpbmc6OmgyMzY0NGM4ODhlODk0OGE5tBkwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+Ojpm\ +bXQ6OmgzNmNkZjYzZjUzODk4NGJmtRkyd2FzbV9iaW5kZ2VuOjpfX3J0Ojpib3Jyb3dfZmFpbDo6aD\ +MzODYwYjA2YzQ4ODQyNWW2GVBhbnlob3c6OmVycm9yOjo8aW1wbCBjb3JlOjpmbXQ6OkRlYnVnIGZv\ +ciBhbnlob3c6OkVycm9yPjo6Zm10OjpoY2Y3YTVhMjM1OTczOTQ1YbcZRDxhbGxvYzo6c3RyaW5nOj\ +pTdHJpbmcgYXMgY29yZTo6aGFzaDo6SGFzaD46Omhhc2g6Omg2OTk2YmI4ZmY3MGE1M2EzuBkyPCZU\ +IGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aDE3MWZlNjQ4ZmViYjQ4ZmK5GTA8JlQgYXMgY2\ +9yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGNlNDQzNmNkYmFhY2I0ZWK6GTA8JlQgYXMgY29yZTo6Zm10\ +OjpEZWJ1Zz46OmZtdDo6aDQ0N2IxYTM5MTI4MjFmZma7GTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz\ +46OmZtdDo6aDQ5NGM1ZjhiMjUzZGE4YzS8GTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6\ +aDdhZmU0NDhmMjgyOWM1NzC9GTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDJmZGM3Mj\ +c1Y2Q5Yjk1Nje+GTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDk4ZmFhY2M0Y2YyM2Zi\ +YzK/GUY8YWxsb2M6OnZlYzo6VmVjPFQsQT4gYXMgY29yZTo6Y2xvbmU6OkNsb25lPjo6Y2xvbmU6Om\ +gyZmQ3YmUzZDJiZmMwOWNkwBlsPGFob19jb3Jhc2ljazo6bmZhOjpub25jb250aWd1b3VzOjpORkEg\ +YXMgYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbj46OmlzX3NwZWNpYWw6Omg4ZGUyZj\ +UxZTkxYzY2ZGQwwRk/YWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbjo6dHJ5X2ZpbmQ6\ +OmhhNDI4N2U3ZWY0NmJlOTkywhlpPGFob19jb3Jhc2ljazo6bmZhOjpjb250aWd1b3VzOjpORkEgYX\ +MgYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbj46OmlzX3NwZWNpYWw6Omg2NTVmZGY4\ +MGY3NzhiNzRiwxk/YWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbjo6dHJ5X2ZpbmQ6Om\ +g3ZWNlZDliNzg1MjZhMjg0xBldPGFob19jb3Jhc2ljazo6ZGZhOjpERkEgYXMgYWhvX2NvcmFzaWNr\ +OjphdXRvbWF0b246OkF1dG9tYXRvbj46OmlzX3NwZWNpYWw6Omg2N2Y4MDA4ZmI2NWM1MDVkxRk/YW\ +hvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbjo6dHJ5X2ZpbmQ6Omg1YjkzN2M3NTk4NGY1\ +ODY1xhlLYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbjo6dHJ5X2ZpbmRfb3ZlcmxhcH\ +Bpbmc6OmgxODlkMGQ4ZGI3YmU3OGI0xxlSY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPGFob19jb3Jh\ +c2ljazo6dXRpbDo6cHJlZmlsdGVyOjpNZW1tZW0+OjpoZjJkMzM5ZmFhMmFjYWVkNsgZygE8PGFsbG\ +9jOjpib3hlZDo6Qm94PGR5biBjb3JlOjplcnJvcjo6RXJyb3IrY29yZTo6bWFya2VyOjpTeW5jK2Nv\ +cmU6Om1hcmtlcjo6U2VuZD4gYXMgY29yZTo6Y29udmVydDo6RnJvbTxhbGxvYzo6c3RyaW5nOjpTdH\ +Jpbmc+Pjo6ZnJvbTo6U3RyaW5nRXJyb3IgYXMgY29yZTo6ZXJyb3I6OkVycm9yPjo6ZGVzY3JpcHRp\ +b246OmhmYzgxMjYwMTMxNmY1Y2M1yRlNPGFsbG9jOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlOjpmbX\ +Q6OldyaXRlPjo6d3JpdGVfY2hhcjo6aDRjNWM0OGNlOTM4NDFkZTIuMzTKGS5jb3JlOjpmbXQ6Oldy\ +aXRlOjp3cml0ZV9mbXQ6OmgwMDIxNDY2NTQxYzIxMWZhyxlqY29yZTo6cHRyOjpkcm9wX2luX3BsYW\ +NlPGFueWhvdzo6ZXJyb3I6OkVycm9ySW1wbDxhbnlob3c6OndyYXBwZXI6Ok1lc3NhZ2VFcnJvcjwm\ +c3RyPj4+OjpoNDk2YWMyMWFkODdkN2QyNswZLmNvcmU6OmZtdDo6V3JpdGU6OndyaXRlX2ZtdDo6aD\ +A3MTcxYjgzZmU3ODBmODHNGTI8JlQgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoNTE5YjU5\ +YzBmMjcxYjMwYs4ZLmNvcmU6OmZtdDo6V3JpdGU6OndyaXRlX2ZtdDo6aGZlODhiZTUxMjExZTIyNj\ +XPGS5jb3JlOjpmbXQ6OldyaXRlOjp3cml0ZV9mbXQ6OmhkZGY0MjczMDU5NzJmNTJm0BkwPCZUIGFz\ +IGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg1OWU2NTkxY2E5YzdhNjE10RkwPCZUIGFzIGNvcmU6Om\ +ZtdDo6RGVidWc+OjpmbXQ6OmgzYTAwYWE2ODljYTJlNjRi0hkwPCZUIGFzIGNvcmU6OmZtdDo6RGVi\ +dWc+OjpmbXQ6OmhiZjJkYjRjNjZiN2RiZmM40xkwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbX\ +Q6OmhmNjdkZGYxMmZlMzk0OTZl1BlBPHN0ZDo6cGF0aDo6UGF0aEJ1ZiBhcyBjb3JlOjpoYXNoOjpI\ +YXNoPjo6aGFzaDo6aDE5YzYyYzg5YWRkZjYyYWbVGTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46Om\ +ZtdDo6aDEzODg0OGUxNzc1YTVhYmHWGTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGJh\ +ZThmMjgzZWI4ZWE2YTTXGTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGUwM2FlMGUwYT\ +QwMGM5NGHYGTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDYzNGZkMjA2OTY2NjJjMDnZ\ +GTI8JlQgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoYjkyMTNlN2I3MGY3MTA5YdoZZ2Nvcm\ +U6OnB0cjo6ZHJvcF9pbl9wbGFjZTxhbnlob3c6OmVycm9yOjpDb250ZXh0RXJyb3I8JnN0cixzZXJk\ +ZV9qc29uOjplcnJvcjo6RXJyb3I+Pjo6aDEzMjEzMTMxZWJmYTM4ODfbGV5jb3JlOjpwdHI6OmRyb3\ +BfaW5fcGxhY2U8YW55aG93OjplcnJvcjo6RXJyb3JJbXBsPHVybDo6cGFyc2VyOjpQYXJzZUVycm9y\ +Pj46OmgzY2I1NWM4NzkwY2M5NDky3Bk4ZGVub19jb25maWc6OmZzOjpEZW5vQ29uZmlnRnM6OmV4aX\ +N0czo6aDA1NzgxNTFiNGJjYjQ3NTPdGWI8ZGVub19jb25maWc6OmZzOjpSZWFsRGVub0NvbmZpZ0Zz\ +IGFzIGRlbm9fY29uZmlnOjpmczo6RGVub0NvbmZpZ0ZzPjo6c3RhdF9zeW5jOjpoZmM5ZDhjYjVmNT\ +czYjA4N94ZMWRlbm9fcGF0aF91dGlsOjpub3JtYWxpemVfcGF0aDo6aGQzYzRjMzI2Njc5MDc4Y2Xf\ +GUpjb3JlOjpoYXNoOjppbXBsczo6PGltcGwgY29yZTo6aGFzaDo6SGFzaCBmb3IgJlQ+OjpoYXNoOj\ +poNTdmYjEwZjk3MDEzODhmYuAZNDwoKSBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoOTBlYzg2\ +Yzc1NzI2YzlmZi41MzbhGTA8JlQgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDgwODBlNTFjND\ +U0NzVhNDPiGUo8YWxsb2M6OmJveGVkOjpCb3g8VCxBPiBhcyBjb3JlOjpvcHM6OmRyb3A6OkRyb3A+\ +Ojpkcm9wOjpoODJhZDYxYzlkZTc3YWExM+MZSGNvcmU6Om9wczo6ZnVuY3Rpb246OkZuT25jZTo6Y2\ +FsbF9vbmNle3t2dGFibGUuc2hpbX19OjpoMmMyMzYyNTI0ZDY2MzU3Y+QZSGdsb2JzZXQ6Ok11bHRp\ +U3RyYXRlZ3lCdWlsZGVyOjpyZWdleF9zZXQ6Ont7Y2xvc3VyZX19OjpoYTI1NmJlYmM4ZjA2MTg5Y+\ +UZhQE8dW5pY29kZV9ub3JtYWxpemF0aW9uOjpkZWNvbXBvc2U6OkRlY29tcG9zaXRpb25zPEk+IGFz\ +IGNvcmU6Oml0ZXI6OnRyYWl0czo6aXRlcmF0b3I6Okl0ZXJhdG9yPjo6bmV4dDo6e3tjbG9zdXJlfX\ +06OmgyY2EwMTFjZTMzYjEyMDQy5hmFATx1bmljb2RlX25vcm1hbGl6YXRpb246OmRlY29tcG9zZTo6\ +RGVjb21wb3NpdGlvbnM8ST4gYXMgY29yZTo6aXRlcjo6dHJhaXRzOjppdGVyYXRvcjo6SXRlcmF0b3\ +I+OjpuZXh0Ojp7e2Nsb3N1cmV9fTo6aDFjNGFhZWM2ODQ0MDI0YjPnGTV3YXNtX2JpbmRnZW46Okpz\ +VmFsdWU6OmlzX2Z1bmN0aW9uOjpoNzlkYzQzYzliMTQ0ZWQwNOgZMjwmVCBhcyBjb3JlOjpmbXQ6Ok\ +Rpc3BsYXk+OjpmbXQ6Omg2MTMwMzZmNWRhNzVkMDZm6RlKPGFsbG9jOjpib3hlZDo6Qm94PFQsQT4g\ +YXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aDE1Nzc0OGQ1NmI4YWM4MDTqGUpjb3JlOj\ +pwdHI6OmRyb3BfaW5fcGxhY2U8cmVnZXhfc3ludGF4OjpoaXI6OlByb3BlcnRpZXM+OjpoOGM4Mjky\ +ODRiYjMzOTFkMusZMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMWFmMDE1MGRlZmMzNj\ +djY+wZMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoOTBkMTRlZWMzNDY2Y2NmY+0ZUGNv\ +cmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxyZWdleF9hdXRvbWF0YTo6aHlicmlkOjpkZmE6OkNvbmZpZz\ +46OmhhMDkxNTk5MDY2MzE0YzJi7hkwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg5Zjll\ +YTA4YjVmMzgzNDBh7xkwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgzYjJmNDU0ODk4Yj\ +EyMzU18BkwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhmYmMzMGYwZDczZDFmY2Y58Rkw\ +PCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhjNDAyMzc2MDU2Y2MwNDJi8hkwPCZUIGFzIG\ +NvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg1OGY4ZjVjOTBlM2ViNzQ48xkwPCZUIGFzIGNvcmU6OmZt\ +dDo6RGVidWc+OjpmbXQ6Omg1YzVhODk5NmZiYmYwYWE09BkwPCZUIGFzIGNvcmU6OmZtdDo6RGVidW\ +c+OjpmbXQ6OmhlYmY2MGNmNmFjZTJmNWFj9RkwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6\ +OmhiNTFmN2NlYzA2MmNjMDg29hkwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhkY2ExZD\ +A4NTEyYjA3Yzhj9xlGPGFsbG9jOjp2ZWM6OlZlYzxULEE+IGFzIGNvcmU6OmNsb25lOjpDbG9uZT46\ +OmNsb25lOjpoYWQ3YzU1NDQ5ZjRkNGMwZPgZMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10Oj\ +poY2UwN2Q3ZDZlMDFmYjkzMfkZOmFsbG9jOjp2ZWM6OlZlYzxULEE+OjpleHRlbmRfZnJvbV9zbGlj\ +ZTo6aGQ2ZGVhMWZkZTQ2MzI1NTb6GXU8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpDb3\ +JlIGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+Ojppc19hY2NlbGVy\ +YXRlZDo6aDM2ZmZhZWI4ZGVlNzM2ZTP7GXk8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5Oj\ +pSZXZlcnNlSW5uZXIgYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46\ +Omdyb3VwX2luZm86Omg3NzcyNGY1ODU3ODlmZWY4/Bl6PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdH\ +JhdGVneTo6UmV2ZXJzZVN1ZmZpeCBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0\ +cmF0ZWd5Pjo6Z3JvdXBfaW5mbzo6aGUzYzYyZmFiZmIzYmY3MzT9GXo8cmVnZXhfYXV0b21hdGE6On\ +V0aWw6OnByZWZpbHRlcjo6dGVkZHk6OlRlZGR5IGFzIHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVm\ +aWx0ZXI6OlByZWZpbHRlckk+Ojppc19mYXN0OjpoMjY5YWQyYTZiODEzNjBlYf4ZfDxyZWdleF9hdX\ +RvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlJldmVyc2VBbmNob3JlZCBhcyByZWdleF9hdXRvbWF0YTo6\ +bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6Z3JvdXBfaW5mbzo6aDE1NzUxOTJhODA0MGM4Zjn/GY\ +MBY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6\ +UHJlPHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OmJ5dGVzZXQ6OkJ5dGVTZXQ+Pjo6aG\ +JjOWZlMzRmYmRiZmNkNjCAGnc8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD4g\ +YXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OmlzX2FjY2VsZXJhdG\ +VkOjpoNjdhZDU2MDI4NjU4YmYwMIEaMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMzM2\ +N2EyNzFkODU4ZmY3OIIaMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNDZmMTMwMTM2MD\ +dmYzkzNoMaMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoYThmZGJmYjg2MmUyM2E1OIQa\ +MDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoY2I0ZTc4NWYzNzNiYWIwNoUaTzxhbGxvYz\ +o6c3RyaW5nOjpTdHJpbmcgYXMgY29yZTo6Zm10OjpXcml0ZT46OndyaXRlX2NoYXI6Omg0YzVjNDhj\ +ZTkzODQxZGUyLjE0NDWGGldjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OmJveGVkOjpCb3\ +g8cmVnZXhfc3ludGF4Ojphc3Q6OlNwYW4+Pjo6aGI1ZDkxMWQ0YmZhOThkNTKHGjU8KCkgYXMgY29y\ +ZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDkwZWM4NmM3NTcyNmM5ZmYuMTY2OYgaLmNvcmU6OmZtdDo6V3\ +JpdGU6OndyaXRlX2ZtdDo6aGYzN2RmMWEwNTdjNWI3NDeJGkJzdGQ6OnN5czo6YmFja3RyYWNlOjpf\ +X3J1c3RfZW5kX3Nob3J0X2JhY2t0cmFjZTo6aDA0NmRmODZkYTU5YWM2NzeKGi5zdGQ6OnBhbmlja2\ +luZzo6YmVnaW5fcGFuaWM6OmhjNTE3OWZmMWYyNTE0YTYzixpKPGFsbG9jOjpib3hlZDo6Qm94PFQs\ +QT4gYXMgY29yZTo6b3BzOjpkcm9wOjpEcm9wPjo6ZHJvcDo6aGMwMGNiNzIzMDhmZmFmNmOMGjphbG\ +xvYzo6dmVjOjpWZWM8VCxBPjo6ZXh0ZW5kX2Zyb21fc2xpY2U6OmgxZDYwODVlMmU1YWYzMzI1jRow\ +PCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhiM2E5MjQ2ZWMxNmFkZWY2jhpvPHN0ZDo6cG\ +FuaWNraW5nOjpiZWdpbl9wYW5pY19oYW5kbGVyOjpTdGF0aWNTdHJQYXlsb2FkIGFzIGNvcmU6OnBh\ +bmljOjpQYW5pY1BheWxvYWQ+Ojphc19zdHI6OmgzNTcwNGU4YzkzNDU3ODMyjxpPPGFsbG9jOjpzdH\ +Jpbmc6OlN0cmluZyBhcyBjb3JlOjpmbXQ6OldyaXRlPjo6d3JpdGVfY2hhcjo6aDRjNWM0OGNlOTM4\ +NDFkZTIuMjE4NJAaBm1lbXNldJEaB21lbW1vdmWSGgZtZW1jbXCTGgZtZW1jcHmUGjRpbmRleG1hcD\ +o6bWFwOjpJbmRleE1hcDxLLFY+OjpuZXc6Omg4Y2UwNjM5ZmQyZTY3ODE2lRpNY29yZTo6cHRyOjpk\ +cm9wX2luX3BsYWNlPHNlcmRlX3dhc21fYmluZGdlbjo6ZXJyb3I6OkVycm9yPjo6aGUyYjI3YzUzM2\ +RhYTRjNzmWGmBzZXJkZV9qc29uOjptYXA6Ok1hcDxhbGxvYzo6c3RyaW5nOjpTdHJpbmcsc2VyZGVf\ +anNvbjo6dmFsdWU6OlZhbHVlPjo6bmV3OjpoMDkyMWM3OGNkOGEwOTg0NC45NjWXGkBtZW1jaHI6Om\ +1lbW1lbTo6c2VhcmNoZXI6OnNlYXJjaGVyX2tpbmRfZW1wdHk6Omg1ZDQ3YTg3YWFhMDMzOTA0mBoy\ +PGJvb2wgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aGVkOGI3OGQ0MTQ3Y2E1MmKZGlJhaG9fY2\ +9yYXNpY2s6OnV0aWw6OmVycm9yOjpNYXRjaEVycm9yOjppbnZhbGlkX2lucHV0X3VuYW5jaG9yZWQ6\ +OmgxMDgxNzAyOGY0MzczN2E5mhpQYWhvX2NvcmFzaWNrOjp1dGlsOjplcnJvcjo6TWF0Y2hFcnJvcj\ +o6aW52YWxpZF9pbnB1dF9hbmNob3JlZDo6aGY2YmM2OTE0NWM5ZDdhZTKbGixjb3JlOjplcnJvcjo6\ +RXJyb3I6OmNhdXNlOjpoMTVlMWRmNmE0YThhZTBlOZwaUDxhbnlob3c6OndyYXBwZXI6Ok1lc3NhZ2\ +VFcnJvcjxNPiBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6Omg4ZTYyMGI4OGI1MTg3OWM1nRos\ +Y29yZTo6ZXJyb3I6OkVycm9yOjpjYXVzZTo6aDE5ZGYyMzQ2NWVlNGNiNjOeGmdhbnlob3c6OmNvbn\ +RleHQ6OjxpbXBsIGNvcmU6OmZtdDo6RGlzcGxheSBmb3IgYW55aG93OjplcnJvcjo6Q29udGV4dEVy\ +cm9yPEMsRT4+OjpmbXQ6OmgyNmY5YzUxMTMwMDFiMGIznxpJPGFueWhvdzo6ZXJyb3I6OkVycm9ySW\ +1wbDxFPiBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoMDIwMTA3ZDE5MDE4MWRkZKAaJWpzX3N5\ +czo6QXJyYXk6OmdldDo6aGJmOGY3ZjM1YTFkZDA0YWahGjxqc29uY19wYXJzZXI6OnNjYW5uZXI6Ol\ +NjYW5uZXI6OnBlZWtfY2hhcjo6aDA1OWJkOWUyOTYxODA0MjmiGlVyZWdleF9zeW50YXg6Omhpcjo6\ +bGl0ZXJhbDo6U2VxOjpvcHRpbWl6ZV9mb3JfcHJlZml4X2J5X3ByZWZlcmVuY2U6Omg5MDZiYzYxMT\ +MzYTEwY2Y5oxpzPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPFA+IGFzIHJlZ2V4\ +X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+Ojpncm91cF9pbmZvOjpoZGE0ZTI2NW\ +M3ODhlOGE3M6QaczxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdl\ +eF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6Z3JvdXBfaW5mbzo6aDRmZDJiNj\ +ZhYTA1ZWYzNmSlGnM8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpQcmU8UD4gYXMgcmVn\ +ZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46Omdyb3VwX2luZm86OmhmOGRiOD\ +hmZWMwZDA0Zjg2pho0Y29yZTo6cGFuaWM6OlBhbmljUGF5bG9hZDo6YXNfc3RyOjpoNTc2YzE2NzNm\ +ZWMxNTE0ZqcaNGNvcmU6OnBhbmljOjpQYW5pY1BheWxvYWQ6OmFzX3N0cjo6aDU5MDI1YzBlY2JiMG\ +Y1NGWoGkJzdGQ6OnN5czo6YmFja3RyYWNlOjpfX3J1c3RfZW5kX3Nob3J0X2JhY2t0cmFjZTo6aDJi\ +Y2ZjNjBjM2NmMGEzMTKpGmw8YWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6Ok5GQSBhcy\ +BhaG9fY29yYXNpY2s6OmF1dG9tYXRvbjo6QXV0b21hdG9uPjo6bWF0Y2hfa2luZDo6aDc5NmM0Nzdh\ +MjBkYzdmYjeqGm48YWhvX2NvcmFzaWNrOjpuZmE6Om5vbmNvbnRpZ3VvdXM6Ok5GQSBhcyBhaG9fY2\ +9yYXNpY2s6OmF1dG9tYXRvbjo6QXV0b21hdG9uPjo6cGF0dGVybnNfbGVuOjpoZDY4MzJkMjZjZTRh\ +NjhiNqsacTxhaG9fY29yYXNpY2s6Om5mYTo6bm9uY29udGlndW91czo6TkZBIGFzIGFob19jb3Jhc2\ +ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+OjptaW5fcGF0dGVybl9sZW46OmhhZDA3NGQwMjkyNjVj\ +Yjg2rBpxPGFob19jb3Jhc2ljazo6bmZhOjpub25jb250aWd1b3VzOjpORkEgYXMgYWhvX2NvcmFzaW\ +NrOjphdXRvbWF0b246OkF1dG9tYXRvbj46Om1heF9wYXR0ZXJuX2xlbjo6aGEzMjkzNWMwYzFiNzEz\ +ZTmtGmk8YWhvX2NvcmFzaWNrOjpuZmE6OmNvbnRpZ3VvdXM6Ok5GQSBhcyBhaG9fY29yYXNpY2s6Om\ +F1dG9tYXRvbjo6QXV0b21hdG9uPjo6bWF0Y2hfa2luZDo6aDE0MDE1YTk4NzZjZjE1YTGuGms8YWhv\ +X2NvcmFzaWNrOjpuZmE6OmNvbnRpZ3VvdXM6Ok5GQSBhcyBhaG9fY29yYXNpY2s6OmF1dG9tYXRvbj\ +o6QXV0b21hdG9uPjo6cGF0dGVybnNfbGVuOjpoNjBhYjBjYTc2ODQ4YTE4NK8abjxhaG9fY29yYXNp\ +Y2s6Om5mYTo6Y29udGlndW91czo6TkZBIGFzIGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbW\ +F0b24+OjptaW5fcGF0dGVybl9sZW46OmgwZTIyZjdiZThjYTMzNTRlsBpuPGFob19jb3Jhc2ljazo6\ +bmZhOjpjb250aWd1b3VzOjpORkEgYXMgYWhvX2NvcmFzaWNrOjphdXRvbWF0b246OkF1dG9tYXRvbj\ +46Om1heF9wYXR0ZXJuX2xlbjo6aDFjN2IxYTVhZDY5ODcxYmGxGlo8YWhvX2NvcmFzaWNrOjpkZmE6\ +OkRGQSBhcyBhaG9fY29yYXNpY2s6OmF1dG9tYXRvbjo6QXV0b21hdG9uPjo6aXNfZGVhZDo6aDZiNm\ +ZiNDUxNWQ2OWEwNTayGl08YWhvX2NvcmFzaWNrOjpkZmE6OkRGQSBhcyBhaG9fY29yYXNpY2s6OmF1\ +dG9tYXRvbjo6QXV0b21hdG9uPjo6bWF0Y2hfa2luZDo6aDQwZmRhM2VlYTkxZTk4N2OzGl88YWhvX2\ +NvcmFzaWNrOjpkZmE6OkRGQSBhcyBhaG9fY29yYXNpY2s6OmF1dG9tYXRvbjo6QXV0b21hdG9uPjo6\ +cGF0dGVybnNfbGVuOjpoZGM1OGZiMGM0ODU3YjMzYbQaYjxhaG9fY29yYXNpY2s6OmRmYTo6REZBIG\ +FzIGFob19jb3Jhc2ljazo6YXV0b21hdG9uOjpBdXRvbWF0b24+OjptaW5fcGF0dGVybl9sZW46Omg4\ +NTJmMzE0YWU4ZGU0ZDRitRpiPGFob19jb3Jhc2ljazo6ZGZhOjpERkEgYXMgYWhvX2NvcmFzaWNrOj\ +phdXRvbWF0b246OkF1dG9tYXRvbj46Om1heF9wYXR0ZXJuX2xlbjo6aGQ4Y2JmZGNlMDUzM2YxMWG2\ +GmJjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8ZGVub19zZW12ZXI6OnNwZWNpZmllcjo6VmVyc2lvbl\ +JlcVNwZWNpZmllclBhcnNlRXJyb3I+OjpoZTkxZDNjMzE4Mzg3YmE5Y7caLWpzX3N5czo6VWludDhB\ +cnJheTo6bGVuZ3RoOjpoMzAyYzVkMzk4MGMxMThmY7gaiwFjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2\ +U8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnJlZ2V4OjpCdWlsZGVyOjpidWlsZF9tYW55X2Zyb21faGly\ +PHJlZ2V4X3N5bnRheDo6aGlyOjpIaXI+Ojp7e2Nsb3N1cmV9fT46OmhmOTNkNzEwOGZjZjFmMDQ3uR\ +p9PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZUlubmVyIGFzIHJlZ2V4X2F1\ +dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+Ojppc19hY2NlbGVyYXRlZDo6aDRmOTYyMD\ +ljZTdiMDRlYzm6Gn48cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpSZXZlcnNlU3VmZml4\ +IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+Ojppc19hY2NlbGVyYX\ +RlZDo6aDliZTMxZmVjZGFmNzA0NTa7GoEBPHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6\ +Om1lbW1lbTo6TWVtbWVtIGFzIHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OlByZWZpbH\ +Rlckk+OjptZW1vcnlfdXNhZ2U6Omg2YTcwYzdkODY1MGQ1MGE2vBpcY29yZTo6cHRyOjpkcm9wX2lu\ +X3BsYWNlPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UmV2ZXJzZUFuY2hvcmVkPjo6aD\ +I3NjBmNTQ5ODQ2MDE3ZjC9Gn48cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpSZXZlcnNl\ +QW5jaG9yZWQgYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46Om1lbW\ +9yeV91c2FnZTo6aDdlNWY0YTNjZjI2YzJjMDe+GnU8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0\ +ZWd5OjpQcmU8UD4gYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46Om\ +1lbW9yeV91c2FnZTo6aDMzM2I4ZWYzMDlhNGJkMjO/GnU8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0\ +cmF0ZWd5OjpQcmU8UD4gYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT\ +46Om1lbW9yeV91c2FnZTo6aDE3ZDNlZWM5MDJhYjhmNjfAGoEBY29yZTo6cHRyOjpkcm9wX2luX3Bs\ +YWNlPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJlPHJlZ2V4X2F1dG9tYXRhOjp1dG\ +lsOjpwcmVmaWx0ZXI6Om1lbWNocjo6TWVtY2hyPj46OmgwMGI1ZWYzZjViNDgwNzk5wRouYW55aG93\ +OjplcnJvcjo6bm9fYmFja3RyYWNlOjpoMzA0NTY4YTA4MGQxYjNjM8IagQE8cmVnZXhfYXV0b21hdG\ +E6OnV0aWw6OnByZWZpbHRlcjo6bWVtY2hyOjpNZW1jaHIgYXMgcmVnZXhfYXV0b21hdGE6OnV0aWw6\ +OnByZWZpbHRlcjo6UHJlZmlsdGVyST46Om1lbW9yeV91c2FnZTo6aGIxMGU2N2Y4NDZmZTRlNTbDGn\ +w8cmVnZXhfYXV0b21hdGE6OnV0aWw6OnByZWZpbHRlcjo6bWVtY2hyOjpNZW1jaHIgYXMgcmVnZXhf\ +YXV0b21hdGE6OnV0aWw6OnByZWZpbHRlcjo6UHJlZmlsdGVyST46OmlzX2Zhc3Q6OmgyOGI5YWE3Nm\ +FiYjYzZTYzxBp+PHJlZ2V4X2F1dG9tYXRhOjp1dGlsOjpwcmVmaWx0ZXI6OmJ5dGVzZXQ6OkJ5dGVT\ +ZXQgYXMgcmVnZXhfYXV0b21hdGE6OnV0aWw6OnByZWZpbHRlcjo6UHJlZmlsdGVyST46OmlzX2Zhc3\ +Q6OmhlNzUyM2I4MGFlNGE4M2Y0xRpzPHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6UHJl\ +PFA+IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+Ojpncm91cF9pbm\ +ZvOjpoY2QzMmQyYzk1OTU4Yzk1OcYadzxyZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlBy\ +ZTxQPiBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cmF0ZWd5Pjo6aXNfYWNjZW\ +xlcmF0ZWQ6Omg1YTg5NmVhY2M4YzYxZmMzxxp3PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVn\ +eTo6UHJlPFA+IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+Ojppc1\ +9hY2NlbGVyYXRlZDo6aDA5NzlmMmU2ZWYyZTg0NWLIGnc8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0\ +cmF0ZWd5OjpQcmU8UD4gYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT\ +46OmlzX2FjY2VsZXJhdGVkOjpoNzY2Mjg2ZjVmY2I1YWYwN8kadTxyZWdleF9hdXRvbWF0YTo6bWV0\ +YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6OlN0cm\ +F0ZWd5Pjo6bWVtb3J5X3VzYWdlOjpoMDE0ZGVhNzk0MTU3MTUxOcoaczxyZWdleF9hdXRvbWF0YTo6\ +bWV0YTo6c3RyYXRlZ3k6OlByZTxQPiBhcyByZWdleF9hdXRvbWF0YTo6bWV0YTo6c3RyYXRlZ3k6Ol\ +N0cmF0ZWd5Pjo6Z3JvdXBfaW5mbzo6aDQxNDMwMTU1ZDc3ODFmNjjLGgpydXN0X3BhbmljzBouY29y\ +ZTo6ZXJyb3I6OkVycm9yOjpwcm92aWRlOjpoMzZlYmFmNzI0ZDBhOThkMs0aLmNvcmU6OmVycm9yOj\ +pFcnJvcjo6cHJvdmlkZTo6aGU4ZDA3YmZjZGNiYjlhYjbOGi5jb3JlOjplcnJvcjo6RXJyb3I6OnBy\ +b3ZpZGU6OmgwYzA5ZTYyMjZhMDA1ZTBkzxp0PHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneT\ +o6UHJlPFA+IGFzIHJlZ2V4X2F1dG9tYXRhOjptZXRhOjpzdHJhdGVneTo6U3RyYXRlZ3k+OjpyZXNl\ +dF9jYWNoZTo6aDIyZDljYTMyNTVjM2JlYjHQGnQ8cmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZW\ +d5OjpQcmU8UD4gYXMgcmVnZXhfYXV0b21hdGE6Om1ldGE6OnN0cmF0ZWd5OjpTdHJhdGVneT46OnJl\ +c2V0X2NhY2hlOjpoM2UwNmMzY2MyZmRhNzI5ZgBvCXByb2R1Y2VycwIIbGFuZ3VhZ2UBBFJ1c3QADH\ +Byb2Nlc3NlZC1ieQMFcnVzdGMdMS44MS4wIChlZWI5MGNkYTEgMjAyNC0wOS0wNCkGd2FscnVzBjAu\ +MjAuMwx3YXNtLWJpbmRnZW4GMC4yLjkyACwPdGFyZ2V0X2ZlYXR1cmVzAisPbXV0YWJsZS1nbG9iYW\ +xzKwhzaWduLWV4dA==\ + ", + ); + const wasmModule = new WebAssembly.Module(wasmBytes); + return new WebAssembly.Instance(wasmModule, imports); +} + +function base64decode(b64) { + const binString = atob(b64); + const size = binString.length; + const bytes = new Uint8Array(size); + for (let i = 0; i < size; i++) { + bytes[i] = binString.charCodeAt(i); + } + return bytes; +} diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/snippets/loader-ace679fc3fd6566c/fs.js b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/snippets/loader-ace679fc3fd6566c/fs.js new file mode 100644 index 0000000..f23f899 --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1/src/wasm/snippets/loader-ace679fc3fd6566c/fs.js @@ -0,0 +1,26 @@ +/** @param {string} path */ +export function stat_sync(path) { + const stat = Deno.statSync(path); + return { + is_file: stat.isFile, + is_directory: stat.isDirectory, + is_symlink: stat.isSymlink, + }; +} + +/** @param {string} path */ +export function read_to_string_lossy(path) { + return Deno.readTextFileSync(path); +} + +/** @param {string} path */ +export function read_dir(path) { + return Iterator.from(Deno.readDirSync(path)).map((entry) => { + return { + name: entry.name, + is_file: entry.isFile, + is_directory: entry.isDirectory, + is_symlink: entry.isSymlink, + }; + }).toArray(); +} diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1_meta.json b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1_meta.json new file mode 100644 index 0000000..d32d696 --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/0.11.1_meta.json @@ -0,0 +1,646 @@ +{ + "manifest": { + "/src/wasm/fs.js": { + "size": 615, + "checksum": "sha256-63bedcea54fa2494f106586325ada9dcd5eccf0dcba82caa2fc4a54d9419a14b" + }, + "/src/wasm/src/lib.rs": { + "size": 7914, + "checksum": "sha256-38e1590caf09b74751963aed2e880faa2bb397ee8ed4b09b5ae525834c1c5ba1" + }, + "/src/wasm/loader.generated.js": { + "size": 2343392, + "checksum": "sha256-c766177855693201055b3a762929a16b85fd5d5dd8c90d530a928d3e03a1551c" + }, + "/.vscode/settings.json": { + "size": 377, + "checksum": "sha256-fd130ffd6c737a7e713d5b07a628a7551da177330ff98881b7ce51d4075be47d" + }, + "/examples/custom_scheme_plugin.ts": { + "size": 1081, + "checksum": "sha256-ff3a9ecb3d9cd4367280e6cf8f0782a1ec5c86ad5b8a521eade12f18accc5930" + }, + "/README.md": { + "size": 4470, + "checksum": "sha256-31e895507af1a69a840d5ab0655e11aa8ec2c16777e5fa46d63fb6675c73a8eb" + }, + "/LICENSE": { + "size": 1070, + "checksum": "sha256-75b6120f639f83c46bfaec3a6c97516e015b5ab18053c39bfbaf72f1d76e6c87" + }, + "/src/shared.ts": { + "size": 10396, + "checksum": "sha256-3237112e33ca33db036cb5d7d5c1064c8bfe65bb3bcbbfb328ecff21629fcd2f" + }, + "/src/wasm/loader.generated.d.ts": { + "size": 2005, + "checksum": "sha256-5a81527107d6b8fe0ec24477314d3c68ea575d119aa40823cec4ceacd54aede7" + }, + "/src/wasm/snippets/loader-ace679fc3fd6566c/fs.js": { + "size": 615, + "checksum": "sha256-63bedcea54fa2494f106586325ada9dcd5eccf0dcba82caa2fc4a54d9419a14b" + }, + "/src/plugin_deno_resolver.ts": { + "size": 4631, + "checksum": "sha256-c0d7d4e4e1cf69313cdf904430824852ff309e628759c3d871b421b40037aa82" + }, + "/src/loader_portable.ts": { + "size": 7189, + "checksum": "sha256-c600a1e83af419ba72424318d9bb64691fbe8a0155f6577f1aa9ac118babe5ac" + }, + "/.github/workflows/ci.yml": { + "size": 1257, + "checksum": "sha256-c8bb36bf8002583a645563788905e6e6f2e2a8cfbd2babe9257dc017319dcd92" + }, + "/src/shared_test.ts": { + "size": 3926, + "checksum": "sha256-b2beb7e9394b1a21d64b57d807d5aa83e5e86ee4eeac755395d6d7ec32bc360d" + }, + "/Cargo.lock": { + "size": 17503, + "checksum": "sha256-3e2fa77a49a3ac5d2e23a025a64005745ce54c15acb9943b958129d1f146837d" + }, + "/src/esbuild_types.ts": { + "size": 3597, + "checksum": "sha256-7ecffd69706f9fbe60dcf75a07b94b835b269aedaab270307f2373c246e5fa14" + }, + "/mod.ts": { + "size": 3240, + "checksum": "sha256-8d0e10d3bd5046246761ae7de21f8087a3d43498cc04aaa34d0b9502956a1c7e" + }, + "/.vscode/launch.json": { + "size": 381, + "checksum": "sha256-e282e7a86214382bb864dc270b55ef5727bba745506bcc2affa11de235f041cf" + }, + "/examples/bundle.ts": { + "size": 307, + "checksum": "sha256-df6f7046ef78d8441bb5d77d29735e465900fc5e7741ed84324f42c71323515f" + }, + "/src/deno.ts": { + "size": 7321, + "checksum": "sha256-11922034c4f35eb98f0787adf5556d07ffb20ba2e743101370a05ee1c9fcc386" + }, + "/rust-toolchain.toml": { + "size": 87, + "checksum": "sha256-1b36c3d65ba81d090a75fefe18229bf1fd3d4c643973d15dadb271c7f3c38129" + }, + "/deno.json": { + "size": 973, + "checksum": "sha256-e885193f06c915db9912ec3be459d2d9e79207beaf3c3651108c403dd7907879" + }, + "/Cargo.toml": { + "size": 119, + "checksum": "sha256-1c3994d06f7d0530b84ae3bed3d5ac92d2d75f8c2a034ec2e67ecb1020a8d8fa" + }, + "/src/loader_native.ts": { + "size": 7117, + "checksum": "sha256-639560af228e34f165ef69bf4cc3b548e75c5ff4d93a587704a3bdf894e09d5e" + }, + "/src/wasm/Cargo.toml": { + "size": 337, + "checksum": "sha256-af62a342f0b8d7c002ad57fbcf6edc2ef110ae19c49b7881e166b3a5eaede35b" + }, + "/.rustfmt.toml": { + "size": 47, + "checksum": "sha256-5c9b47730885a7e03b6afb73eed16e6ccc07ff666e82974559bfc6a7feb61031" + }, + "/src/plugin_deno_loader.ts": { + "size": 14302, + "checksum": "sha256-df8823e5b3dbe554d8a7d2dafc9af4c564c654dd07ebbb528bb00ce3f38f38f4" + } + }, + "moduleGraph2": { + "/src/plugin_deno_loader.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./esbuild_types.ts", + "specifierRange": [ + [ + 0, + 30 + ], + [ + 0, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.6", + "specifierRange": [ + [ + 1, + 30 + ], + [ + 1, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./loader_native.ts", + "specifierRange": [ + [ + 2, + 29 + ], + [ + 2, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./loader_portable.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./shared.ts", + "specifierRange": [ + [ + 4, + 47 + ], + [ + 4, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./shared.ts", + "specifierRange": [ + [ + 10, + 7 + ], + [ + 10, + 20 + ] + ] + } + ] + }, + "/src/loader_native.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./esbuild_types.ts", + "specifierRange": [ + [ + 0, + 30 + ], + [ + 0, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.6", + "specifierRange": [ + [ + 1, + 43 + ], + [ + 1, + 65 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/encoding@^1.0.5/base32", + "specifierRange": [ + [ + 2, + 29 + ], + [ + 2, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/bytes@^1.0.2", + "specifierRange": [ + [ + 3, + 34 + ], + [ + 3, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./deno.ts", + "specifierRange": [ + [ + 4, + 22 + ], + [ + 4, + 33 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./deno.ts", + "specifierRange": [ + [ + 5, + 46 + ], + [ + 5, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./shared.ts", + "specifierRange": [ + [ + 13, + 7 + ], + [ + 13, + 20 + ] + ] + } + ] + }, + "/src/wasm/loader.generated.d.ts": {}, + "/src/wasm/loader.generated.js": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./snippets/loader-ace679fc3fd6566c/fs.js", + "specifierRange": [ + [ + 13, + 7 + ], + [ + 13, + 49 + ] + ] + } + ], + "tsReferences": [ + { + "type": "types", + "text": "./loader.generated.d.ts", + "range": [ + [ + 4, + 21 + ], + [ + 4, + 46 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./src/esbuild_types.ts", + "specifierRange": [ + [ + 0, + 30 + ], + [ + 0, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./src/plugin_deno_resolver.ts", + "specifierRange": [ + [ + 5, + 7 + ], + [ + 5, + 38 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./src/plugin_deno_loader.ts", + "specifierRange": [ + [ + 12, + 7 + ], + [ + 12, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./src/shared.ts", + "specifierRange": [ + [ + 19, + 7 + ], + [ + 19, + 24 + ] + ] + } + ] + }, + "/src/plugin_deno_resolver.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./esbuild_types.ts", + "specifierRange": [ + [ + 0, + 30 + ], + [ + 0, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.6", + "specifierRange": [ + [ + 1, + 26 + ], + [ + 1, + 48 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./shared.ts", + "specifierRange": [ + [ + 6, + 7 + ], + [ + 6, + 20 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./wasm/loader.generated.js", + "specifierRange": [ + [ + 7, + 43 + ], + [ + 7, + 71 + ] + ] + } + ] + }, + "/src/deno.ts": {}, + "/src/shared.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.6", + "specifierRange": [ + [ + 0, + 68 + ], + [ + 0, + 90 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./deno.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 42 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./esbuild_types.ts", + "specifierRange": [ + [ + 2, + 30 + ], + [ + 2, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./wasm/loader.generated.js", + "specifierRange": [ + [ + 3, + 43 + ], + [ + 3, + 71 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./esbuild_types.ts", + "specifierRange": [ + [ + 4, + 34 + ], + [ + 4, + 54 + ] + ] + } + ] + }, + "/src/loader_portable.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./esbuild_types.ts", + "specifierRange": [ + [ + 0, + 30 + ], + [ + 0, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.6", + "specifierRange": [ + [ + 1, + 28 + ], + [ + 1, + 50 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./deno.ts", + "specifierRange": [ + [ + 2, + 27 + ], + [ + 2, + 38 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./shared.ts", + "specifierRange": [ + [ + 10, + 7 + ], + [ + 10, + 20 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./wasm/loader.generated.js", + "specifierRange": [ + [ + 11, + 47 + ], + [ + 11, + 75 + ] + ] + } + ] + }, + "/src/esbuild_types.ts": {}, + "/src/wasm/snippets/loader-ace679fc3fd6566c/fs.js": {} + }, + "exports": { + ".": "./mod.ts", + "./esbuild_types": "./src/esbuild_types.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@luca/esbuild-deno-loader/meta.json b/vendor/jsr.io/@luca/esbuild-deno-loader/meta.json new file mode 100644 index 0000000..4754f78 --- /dev/null +++ b/vendor/jsr.io/@luca/esbuild-deno-loader/meta.json @@ -0,0 +1,13 @@ +{ + "scope": "luca", + "name": "esbuild-deno-loader", + "latest": "0.11.1", + "versions": { + "0.10.2": {}, + "0.11.0-rc.1": {}, + "0.11.1": {}, + "0.9.0": {}, + "0.11.0": {}, + "0.10.3": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/assert/0.217.0/assert.ts b/vendor/jsr.io/@std/assert/0.217.0/assert.ts new file mode 100644 index 0000000..b5f27d5 --- /dev/null +++ b/vendor/jsr.io/@std/assert/0.217.0/assert.ts @@ -0,0 +1,19 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion, error will be thrown if `expr` does not have truthy value. + * + * @example + * ```ts + * import { assert } from "@std/assert/assert"; + * + * assert("hello".includes("ello")); // Doesn't throw + * assert("hello".includes("world")); // Throws + * ``` + */ +export function assert(expr: unknown, msg = ""): asserts expr { + if (!expr) { + throw new AssertionError(msg); + } +} diff --git a/vendor/jsr.io/@std/assert/0.217.0/assertion_error.ts b/vendor/jsr.io/@std/assert/0.217.0/assertion_error.ts new file mode 100644 index 0000000..d5378c9 --- /dev/null +++ b/vendor/jsr.io/@std/assert/0.217.0/assertion_error.ts @@ -0,0 +1,19 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +/** + * Error thrown when an assertion fails. + * + * @example + * ```ts + * import { AssertionError } from "@std/assert/assertion_error"; + * + * throw new AssertionError("Assertion failed"); + * ``` + */ +export class AssertionError extends Error { + /** Constructs a new instance. */ + constructor(message: string) { + super(message); + this.name = "AssertionError"; + } +} diff --git a/vendor/jsr.io/@std/assert/0.217.0_meta.json b/vendor/jsr.io/@std/assert/0.217.0_meta.json new file mode 100644 index 0000000..75c2e47 --- /dev/null +++ b/vendor/jsr.io/@std/assert/0.217.0_meta.json @@ -0,0 +1,2669 @@ +{ + "manifest": { + "/assert_not_match_test.ts": { + "size": 648, + "checksum": "sha256-bcae04c24725507c4d41ab509ce3d13103b1e2e6536ad83fc901a0997b216d7b" + }, + "/assert_greater.ts": { + "size": 741, + "checksum": "sha256-441cfcab6ab8c06d6c54d5995d513a148c9ed7ec2d241c154e6a127b3f22f995" + }, + "/assert_almost_equals.ts": { + "size": 1258, + "checksum": "sha256-77a20a203abff37146dc029afd14e7cce9c9c085c25a107a5f075ed49b646db0" + }, + "/assert_not_strict_equals_test.ts": { + "size": 815, + "checksum": "sha256-153484670e0d06f9fa51d416921cb768871f135806714b316e7ef636fa5cd2d3" + }, + "/assert_is_error_test.ts": { + "size": 1893, + "checksum": "sha256-d2905e5a7f56ca62ddad1cc0c88eed9fc7efc4ca8d61df3c30109bee68781546" + }, + "/assert_is_error.ts": { + "size": 2192, + "checksum": "sha256-d1e9eadb621c613cd10ab0a89f95f4c053c84ae4e8206d7f43d643d9c4738215" + }, + "/assert_not_instance_of.ts": { + "size": 828, + "checksum": "sha256-340861128c5a03071247fdc6011b8499fd277d9faeb14306a4af9cd642a302c3" + }, + "/assert_greater_test.ts": { + "size": 467, + "checksum": "sha256-afffc474cc2e45536905449c7986c1bff504d2ae6f815f77dab71728caa36cd9" + }, + "/shared_test.ts": { + "size": 566, + "checksum": "sha256-24193bd1346fad4eb0ccd021e3f05b648e8c6f2c197146b75a7672a92d78f5bc" + }, + "/assert_exists.ts": { + "size": 724, + "checksum": "sha256-7ea6a5cbaf3ce2675adc863d11544ba0f0d6e61658c5f0a83b5aa999e48961f0" + }, + "/assert_strict_equals.ts": { + "size": 1837, + "checksum": "sha256-728f672d4344066f90573ecc71e6372934184d4e82307b04825cfff902893685" + }, + "/assert_less_or_equal.ts": { + "size": 803, + "checksum": "sha256-a68b8ae9fa056449b63c8d3fb771fe8a3747d958877096e85839b75f3c581576" + }, + "/assert.ts": { + "size": 524, + "checksum": "sha256-501b416473ec27c71885aaf819e363c8df617f89ce68ae57fec7acf9d62743b2" + }, + "/fail_test.ts": { + "size": 348, + "checksum": "sha256-fbea772ad5e6bdd14fc1bbb1179f3c1cc868ad367dc3067bcd195c89b0dee4c1" + }, + "/_constants.ts": { + "size": 126, + "checksum": "sha256-a271e8ef5a573f1df8e822a6eb9d09df064ad66a4390f21b3e31f820a38e0975" + }, + "/assert_strict_equals_test.ts": { + "size": 1822, + "checksum": "sha256-5e1d42302219a1ef97e6620ed829f3b0dcb03ffd4cc1e63b2eb5f439066d784b" + }, + "/unreachable.ts": { + "size": 383, + "checksum": "sha256-1e748f69f73c57f4de9ba1dba39306b86e0ad2c0915975608519a2bcf42c262f" + }, + "/assert_string_includes_test.ts": { + "size": 943, + "checksum": "sha256-d5c131176dde72af8a4e0ecfefa7430d6794b0d200016151f650cb2f0e91b51c" + }, + "/assert_greater_or_equal_test.ts": { + "size": 470, + "checksum": "sha256-29c0a3c1bb20436e37e332910c0e24e2c40d21d14af05d3304d3203cffc4993c" + }, + "/assert_throws_test.ts": { + "size": 2620, + "checksum": "sha256-15b5deec92d8206b2af7d7db02da1aced2a67edb1cc19c008f4768aacd0b5737" + }, + "/assert_match_test.ts": { + "size": 633, + "checksum": "sha256-3c54e286513b0d69bda04639646645aab8d12f0fa7ce167d683ae15732c0a45c" + }, + "/assert_throws.ts": { + "size": 2661, + "checksum": "sha256-4209628c4fa3e569bb2924b289fad486f9e5feb0912bca6f60b484ddbfad7136" + }, + "/assert_equals_test.ts": { + "size": 4816, + "checksum": "sha256-63530a9f9a9829a6871fe791bf56e8ac7b1f3e37c8499777d93418a1755147af" + }, + "/assert_rejects.ts": { + "size": 3122, + "checksum": "sha256-af2d87faafdf44a3af69fd9e8952d5a07707d2b6b8c413f46ec3b90227539b3a" + }, + "/assert_exists_test.ts": { + "size": 886, + "checksum": "sha256-d78038fb6cdd00d83f88c6d45320518701ffd7eac7ad0a78649fe80252e66034" + }, + "/unimplemented_test.ts": { + "size": 393, + "checksum": "sha256-8de2cfb02e8ebce31279c316ab17fc1beb9e38882be3d45b952889ce14c96fbc" + }, + "/assert_false.ts": { + "size": 626, + "checksum": "sha256-8941f89de0386609eb1749f334483d56420307997bbbba77a559c5fe7083a657" + }, + "/assert_instance_of_test.ts": { + "size": 3673, + "checksum": "sha256-4cc3a4fc5a74cbfe8d8554efaf04ad4addf50c122857a7bfe3d75c97b2f65cd2" + }, + "/unreachable_test.ts": { + "size": 384, + "checksum": "sha256-4d3d1179445130fbfd9731ea199c46a5ce76e94d925b68bc9cc232c55ee29b58" + }, + "/assert_not_match.ts": { + "size": 748, + "checksum": "sha256-f09d94377a6403800f7d8602a70bce27d3d6ff699cd95e141b43c35c3b0e798d" + }, + "/assert_almost_equals_test.ts": { + "size": 1716, + "checksum": "sha256-e9d0b1845af1e5395f3af7624236c6d8d8921427f1f6a9830ad7421486667a7f" + }, + "/mod.ts": { + "size": 1427, + "checksum": "sha256-325df8c0683ad83a873b9691aa66b812d6275fc9fec0b2d180ac68a2c5efed3b" + }, + "/assert_array_includes.ts": { + "size": 1448, + "checksum": "sha256-9f511b9b57d48f1ff643259192a66f855b8075a8fb9d9f3cdefc0e008cfe3466" + }, + "/assert_greater_or_equal.ts": { + "size": 824, + "checksum": "sha256-d841652741b8087235f3392abd6db387cc4ecfe91cbd9fbc721937789f325faa" + }, + "/assert_object_match.ts": { + "size": 3678, + "checksum": "sha256-9f02fd409595a8b656ec9f436fe012932e3729a58e8292e7c4c5b9b50266da5f" + }, + "/_format.ts": { + "size": 783, + "checksum": "sha256-0ba808961bf678437fb486b56405b6fefad2cf87b5809667c781ddee8c32aff4" + }, + "/assert_not_instance_of_test.ts": { + "size": 336, + "checksum": "sha256-c91a3de49759625a265515f180bf5a4be14276aa7cc9ec252ab78a1f4a19dba7" + }, + "/assert_array_includes_test.ts": { + "size": 1709, + "checksum": "sha256-518f3ce7cc52dfc20159bfae940109243cca61fbe493835257789fe0cf16fb87" + }, + "/fail.ts": { + "size": 423, + "checksum": "sha256-67579a1308b176d52756ded6d1e3149f87703648e59afc333ba5168fefeb8d7b" + }, + "/assert_less_test.ts": { + "size": 270, + "checksum": "sha256-ef0c889519b9fc5949035274f54746e573597466902d1fc0b1ba665ac7a19681" + }, + "/_diff.ts": { + "size": 12450, + "checksum": "sha256-6aa1c851e97447125e1405ab68f32398415ba3e5d876a3855f0f49c9982a9da1" + }, + "/assertion_error.ts": { + "size": 446, + "checksum": "sha256-dd027fb33707dbff22cd2ef9b55fdb70e2095876caf3c68ecfbb811505ecc022" + }, + "/assert_match.ts": { + "size": 717, + "checksum": "sha256-7395d0d84346d9a81695559d11afe890137f1c469bb5cafb6aba1a7faaf142f8" + }, + "/assert_not_equals.ts": { + "size": 1134, + "checksum": "sha256-b08ac1034e4b9aedff0bad798df7880c8f977019a90e98a5e0e4f88c7dfa6353" + }, + "/assert_rejects_test.ts": { + "size": 2509, + "checksum": "sha256-73639914543b01f9525b319df009b4837af454e24acbd6aafa7ab163bb7fbcd0" + }, + "/assert_less_or_equal_test.ts": { + "size": 283, + "checksum": "sha256-e517017ff0fe2d44b4d92db930e8c439dcc80b3199835da0179943b3b357015c" + }, + "/_format_test.ts": { + "size": 2929, + "checksum": "sha256-0092cfae2e5bcdb64c92527c323ba4f22fa717192f8588ec0f09de81a19703cc" + }, + "/assert_object_match_test.ts": { + "size": 8804, + "checksum": "sha256-fc7a4b9a5f0c35ed3407663d3e31ec336f6e30ded1c2320971b66be279394038" + }, + "/assert_equals.ts": { + "size": 1749, + "checksum": "sha256-587349c26da3da4b70983bd9e6cb8833694c832d6f185d25d7479874d8f6fc6c" + }, + "/assert_less.ts": { + "size": 689, + "checksum": "sha256-282d39e91ce16e33d5b8352771d97c81d840f1810ba7b65b64332eba5b0f0c50" + }, + "/assert_not_strict_equals.ts": { + "size": 828, + "checksum": "sha256-1028e690746157783c44cd0d17d88d17a57ece9d387a8cc8e15aef291ac98258" + }, + "/assert_string_includes.ts": { + "size": 736, + "checksum": "sha256-c178bd97da03e2215494e729b2048ae68e780bf0b583a998a3bf808fbdb1eba2" + }, + "/equal_test.ts": { + "size": 8088, + "checksum": "sha256-aca8b17f9d01ddea188183eaa9c5dd36d0a3286f0b8aca99c2244c15a1c282ad" + }, + "/assert_instance_of.ts": { + "size": 1785, + "checksum": "sha256-ab945d09a94ca382ac4e9044412a9414efe301ad0ae36b72c02159e7148321ed" + }, + "/assert_false_test.ts": { + "size": 564, + "checksum": "sha256-b095fa0fe0a0d25d7039dbc05df32b8753ae39c464faf4c954a45181843936f1" + }, + "/assert_not_equals_test.ts": { + "size": 729, + "checksum": "sha256-5e5eb36ae053783ed4326b4c547470ec9f35a0b3439a85eb420acbc35543de1b" + }, + "/_diff_test.ts": { + "size": 8945, + "checksum": "sha256-4ff3692b710aa483de449ec9be4b319f598e748e97480e4425cf14b05544d108" + }, + "/unimplemented.ts": { + "size": 483, + "checksum": "sha256-ed3115f6fb271277e0522f3b18f020259900c385e3fa986f109a519a1cf25763" + }, + "/deno.json": { + "size": 1431, + "checksum": "sha256-d5f385a4cc7f492339d8041764f394ad9b626929d7e31e407d903f5e96fe5969" + }, + "/equal.ts": { + "size": 3785, + "checksum": "sha256-166d9377ce8df4d53f676d9a568a13914c2323d9d3b2fd1096aafeb59f3c1edf" + } + }, + "moduleGraph1": { + "/assert_greater.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 38 + ] + ], + "specifier": "./_format.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/unreachable.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/unimplemented.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_strict_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 38 + ] + ], + "specifier": "./_format.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 3, + 0 + ], + [ + 3, + 57 + ] + ], + "specifier": "./_diff.ts", + "specifierRange": [ + [ + 3, + 44 + ], + [ + 3, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 50 + ] + ], + "specifier": "./_constants.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 52 + ] + ], + "specifier": "jsr:/@std/fmt@^0.217.0/colors", + "specifierRange": [ + [ + 5, + 20 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/assert_exists.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_not_strict_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 38 + ] + ], + "specifier": "./_format.ts", + "specifierRange": [ + [ + 2, + 23 + ], + [ + 2, + 37 + ] + ] + } + ] + }, + "/assert_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 35 + ] + ], + "specifier": "./equal.ts", + "specifierRange": [ + [ + 1, + 22 + ], + [ + 1, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 38 + ] + ], + "specifier": "./_format.ts", + "specifierRange": [ + [ + 2, + 23 + ], + [ + 2, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 3, + 0 + ], + [ + 3, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 52 + ] + ], + "specifier": "jsr:/@std/fmt@^0.217.0/colors", + "specifierRange": [ + [ + 4, + 20 + ], + [ + 4, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 57 + ] + ], + "specifier": "./_diff.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 50 + ] + ], + "specifier": "./_constants.ts", + "specifierRange": [ + [ + 6, + 32 + ], + [ + 6, + 49 + ] + ] + } + ] + }, + "/assert_greater_or_equal.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 38 + ] + ], + "specifier": "./_format.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/equal.ts": {}, + "/assert_less.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 38 + ] + ], + "specifier": "./_format.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/_constants.ts": {}, + "/assert.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_false.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_less_or_equal.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 38 + ] + ], + "specifier": "./_format.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/assert_array_includes.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 35 + ] + ], + "specifier": "./equal.ts", + "specifierRange": [ + [ + 1, + 22 + ], + [ + 1, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 38 + ] + ], + "specifier": "./_format.ts", + "specifierRange": [ + [ + 2, + 23 + ], + [ + 2, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 3, + 0 + ], + [ + 3, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 53 + ] + ] + } + ] + }, + "/assert_match.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_instance_of.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/_diff.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 11, + 39 + ] + ], + "specifier": "jsr:/@std/fmt@^0.217.0/colors", + "specifierRange": [ + [ + 11, + 7 + ], + [ + 11, + 38 + ] + ] + } + ] + }, + "/assert_not_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 2, + 0 + ], + [ + 2, + 50 + ] + ], + "specifier": "./_constants.ts", + "specifierRange": [ + [ + 2, + 32 + ], + [ + 2, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 3, + 0 + ], + [ + 3, + 35 + ] + ], + "specifier": "./equal.ts", + "specifierRange": [ + [ + 3, + 22 + ], + [ + 3, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 4, + 31 + ], + [ + 4, + 53 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": "* A library of assertion functions.\n * If the assertion is false an `AssertionError` will be thrown which will\n * result in pretty-printed diff of failing assertion.\n *\n * This module is browser compatible, but do not rely on good formatting of\n * values for AssertionError messages in browsers.\n *\n * @module\n ", + "range": [ + [ + 2, + 0 + ], + [ + 10, + 3 + ] + ] + } + ], + "range": [ + [ + 12, + 0 + ], + [ + 12, + 42 + ] + ], + "specifier": "./assert_almost_equals.ts", + "specifierRange": [ + [ + 12, + 14 + ], + [ + 12, + 41 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 13, + 0 + ], + [ + 13, + 43 + ] + ], + "specifier": "./assert_array_includes.ts", + "specifierRange": [ + [ + 13, + 14 + ], + [ + 13, + 42 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 14, + 0 + ], + [ + 14, + 35 + ] + ], + "specifier": "./assert_equals.ts", + "specifierRange": [ + [ + 14, + 14 + ], + [ + 14, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 15, + 0 + ], + [ + 15, + 35 + ] + ], + "specifier": "./assert_exists.ts", + "specifierRange": [ + [ + 15, + 14 + ], + [ + 15, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 16, + 0 + ], + [ + 16, + 34 + ] + ], + "specifier": "./assert_false.ts", + "specifierRange": [ + [ + 16, + 14 + ], + [ + 16, + 33 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 17, + 0 + ], + [ + 17, + 45 + ] + ], + "specifier": "./assert_greater_or_equal.ts", + "specifierRange": [ + [ + 17, + 14 + ], + [ + 17, + 44 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 18, + 0 + ], + [ + 18, + 36 + ] + ], + "specifier": "./assert_greater.ts", + "specifierRange": [ + [ + 18, + 14 + ], + [ + 18, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 19, + 0 + ], + [ + 19, + 40 + ] + ], + "specifier": "./assert_instance_of.ts", + "specifierRange": [ + [ + 19, + 14 + ], + [ + 19, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 20, + 0 + ], + [ + 20, + 37 + ] + ], + "specifier": "./assert_is_error.ts", + "specifierRange": [ + [ + 20, + 14 + ], + [ + 20, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 21, + 0 + ], + [ + 21, + 42 + ] + ], + "specifier": "./assert_less_or_equal.ts", + "specifierRange": [ + [ + 21, + 14 + ], + [ + 21, + 41 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 22, + 0 + ], + [ + 22, + 33 + ] + ], + "specifier": "./assert_less.ts", + "specifierRange": [ + [ + 22, + 14 + ], + [ + 22, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 23, + 0 + ], + [ + 23, + 34 + ] + ], + "specifier": "./assert_match.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 33 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 24, + 0 + ], + [ + 24, + 39 + ] + ], + "specifier": "./assert_not_equals.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 38 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 25, + 0 + ], + [ + 25, + 44 + ] + ], + "specifier": "./assert_not_instance_of.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 43 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 26, + 0 + ], + [ + 26, + 38 + ] + ], + "specifier": "./assert_not_match.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 37 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 27, + 0 + ], + [ + 27, + 46 + ] + ], + "specifier": "./assert_not_strict_equals.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 45 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 28, + 0 + ], + [ + 28, + 41 + ] + ], + "specifier": "./assert_object_match.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 40 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 29, + 0 + ], + [ + 29, + 36 + ] + ], + "specifier": "./assert_rejects.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 30, + 0 + ], + [ + 30, + 42 + ] + ], + "specifier": "./assert_strict_equals.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 41 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 31, + 0 + ], + [ + 31, + 44 + ] + ], + "specifier": "./assert_string_includes.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 43 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 32, + 0 + ], + [ + 32, + 35 + ] + ], + "specifier": "./assert_throws.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 33, + 0 + ], + [ + 33, + 28 + ] + ], + "specifier": "./assert.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 34, + 0 + ], + [ + 34, + 37 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 35, + 0 + ], + [ + 35, + 27 + ] + ], + "specifier": "./equal.ts", + "specifierRange": [ + [ + 35, + 14 + ], + [ + 35, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 36, + 0 + ], + [ + 36, + 26 + ] + ], + "specifier": "./fail.ts", + "specifierRange": [ + [ + 36, + 14 + ], + [ + 36, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 37, + 0 + ], + [ + 37, + 35 + ] + ], + "specifier": "./unimplemented.ts", + "specifierRange": [ + [ + 37, + 14 + ], + [ + 37, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 38, + 0 + ], + [ + 38, + 33 + ] + ], + "specifier": "./unreachable.ts", + "specifierRange": [ + [ + 38, + 14 + ], + [ + 38, + 32 + ] + ] + } + ] + }, + "/_format.ts": {}, + "/assert_rejects.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 53 + ] + ], + "specifier": "./assert_is_error.ts", + "specifierRange": [ + [ + 2, + 30 + ], + [ + 2, + 52 + ] + ] + } + ] + }, + "/assert_object_match.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 50 + ] + ], + "specifier": "./assert_equals.ts", + "specifierRange": [ + [ + 1, + 29 + ], + [ + 1, + 49 + ] + ] + } + ] + }, + "/assert_almost_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_not_match.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/fail.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ], + "specifier": "./assert.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 36 + ] + ] + } + ] + }, + "/assert_is_error.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 62 + ] + ], + "specifier": "jsr:/@std/fmt@^0.217.0/colors", + "specifierRange": [ + [ + 2, + 30 + ], + [ + 2, + 61 + ] + ] + } + ] + }, + "/assert_throws.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 53 + ] + ], + "specifier": "./assert_is_error.ts", + "specifierRange": [ + [ + 1, + 30 + ], + [ + 1, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/assert_string_includes.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 54 + ] + ], + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_not_instance_of.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + } + ], + "range": [ + [ + 1, + 0 + ], + [ + 1, + 48 + ] + ], + "specifier": "./assert_false.ts", + "specifierRange": [ + [ + 1, + 28 + ], + [ + 1, + 47 + ] + ] + } + ] + }, + "/assertion_error.ts": {} + }, + "exports": { + ".": "./mod.ts", + "./assert": "./assert.ts", + "./assert_almost_equals": "./assert_almost_equals.ts", + "./assert_array_includes": "./assert_array_includes.ts", + "./assert_equals": "./assert_equals.ts", + "./assert_exists": "./assert_exists.ts", + "./assert_false": "./assert_false.ts", + "./assert_greater": "./assert_greater.ts", + "./assert_greater_or_equal": "./assert_greater_or_equal.ts", + "./assert_instance_of": "./assert_instance_of.ts", + "./assert_is_error": "./assert_is_error.ts", + "./assert_less": "./assert_less.ts", + "./assert_less_or_equal": "./assert_less_or_equal.ts", + "./assert_match": "./assert_match.ts", + "./assert_not_equals": "./assert_not_equals.ts", + "./assert_not_instance_of": "./assert_not_instance_of.ts", + "./assert_not_match": "./assert_not_match.ts", + "./assert_not_strict_equals": "./assert_not_strict_equals.ts", + "./assert_object_match": "./assert_object_match.ts", + "./assert_rejects": "./assert_rejects.ts", + "./assert_strict_equals": "./assert_strict_equals.ts", + "./assert_string_includes": "./assert_string_includes.ts", + "./assert_throws": "./assert_throws.ts", + "./assertion_error": "./assertion_error.ts", + "./equal": "./equal.ts", + "./fail": "./fail.ts", + "./unimplemented": "./unimplemented.ts", + "./unreachable": "./unreachable.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/assert/0.221.0/assert.ts b/vendor/jsr.io/@std/assert/0.221.0/assert.ts new file mode 100644 index 0000000..b5f27d5 --- /dev/null +++ b/vendor/jsr.io/@std/assert/0.221.0/assert.ts @@ -0,0 +1,19 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion, error will be thrown if `expr` does not have truthy value. + * + * @example + * ```ts + * import { assert } from "@std/assert/assert"; + * + * assert("hello".includes("ello")); // Doesn't throw + * assert("hello".includes("world")); // Throws + * ``` + */ +export function assert(expr: unknown, msg = ""): asserts expr { + if (!expr) { + throw new AssertionError(msg); + } +} diff --git a/vendor/jsr.io/@std/assert/0.221.0/assertion_error.ts b/vendor/jsr.io/@std/assert/0.221.0/assertion_error.ts new file mode 100644 index 0000000..a251329 --- /dev/null +++ b/vendor/jsr.io/@std/assert/0.221.0/assertion_error.ts @@ -0,0 +1,19 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +/** + * Error thrown when an assertion fails. + * + * @example + * ```ts + * import { AssertionError } from "@std/assert/assertion-error"; + * + * throw new AssertionError("Assertion failed"); + * ``` + */ +export class AssertionError extends Error { + /** Constructs a new instance. */ + constructor(message: string) { + super(message); + this.name = "AssertionError"; + } +} diff --git a/vendor/jsr.io/@std/assert/0.221.0_meta.json b/vendor/jsr.io/@std/assert/0.221.0_meta.json new file mode 100644 index 0000000..a730175 --- /dev/null +++ b/vendor/jsr.io/@std/assert/0.221.0_meta.json @@ -0,0 +1,1498 @@ +{ + "manifest": { + "/assert_object_match_test.ts": { + "size": 8804, + "checksum": "sha256-fc7a4b9a5f0c35ed3407663d3e31ec336f6e30ded1c2320971b66be279394038" + }, + "/_diff.ts": { + "size": 12453, + "checksum": "sha256-c840ba2590a9d46b8a1c113d5972a5b8871a38bef68b2fe3bfce1e0a61a25013" + }, + "/deno.json": { + "size": 1431, + "checksum": "sha256-2de53bf7f085cca732180d0aa8fa048455e3809da2f9308b6adc6a6b0f86f69f" + }, + "/_format_test.ts": { + "size": 2929, + "checksum": "sha256-7188d88072d2ecb3191ec4190ab3d62031af53d956e6fa8ac582cb0b72055070" + }, + "/assert_less.ts": { + "size": 689, + "checksum": "sha256-944d60d90e37a1a2b98328d8a073bdb9c94174a532e889c17f95f10249d670d5" + }, + "/assert_exists.ts": { + "size": 724, + "checksum": "sha256-6db5a4f6f54f86a1b7b32144ef002d335adde64ec774e78dc7df78b44b320642" + }, + "/assert_greater_or_equal_test.ts": { + "size": 470, + "checksum": "sha256-29c0a3c1bb20436e37e332910c0e24e2c40d21d14af05d3304d3203cffc4993c" + }, + "/assert_false_test.ts": { + "size": 564, + "checksum": "sha256-b095fa0fe0a0d25d7039dbc05df32b8753ae39c464faf4c954a45181843936f1" + }, + "/assert_not_instance_of.ts": { + "size": 828, + "checksum": "sha256-9e6b1267c1a20cee4c53a637f92b23e6e240f4337a4333c830bade44c08c15dd" + }, + "/assert_strict_equals_test.ts": { + "size": 1822, + "checksum": "sha256-5e1d42302219a1ef97e6620ed829f3b0dcb03ffd4cc1e63b2eb5f439066d784b" + }, + "/assert_greater_test.ts": { + "size": 467, + "checksum": "sha256-afffc474cc2e45536905449c7986c1bff504d2ae6f815f77dab71728caa36cd9" + }, + "/assert_is_error.ts": { + "size": 2192, + "checksum": "sha256-608ff705eb652ad20b4bab45895f90a82696ae4e1cfe78ce5b338c23da26ddab" + }, + "/unimplemented.ts": { + "size": 483, + "checksum": "sha256-ed3115f6fb271277e0522f3b18f020259900c385e3fa986f109a519a1cf25763" + }, + "/assert_less_or_equal.ts": { + "size": 803, + "checksum": "sha256-db5e5541ea6931aba2903cb2c2ccaf19b4e81795bfd755d03ef5dcd4885f2c0d" + }, + "/assert_less_test.ts": { + "size": 270, + "checksum": "sha256-ef0c889519b9fc5949035274f54746e573597466902d1fc0b1ba665ac7a19681" + }, + "/assert_not_strict_equals.ts": { + "size": 828, + "checksum": "sha256-ec282cec4a898d93fc94209839e84a5507d3ecdea93542013fe3deaad63b2e3d" + }, + "/assert_object_match.ts": { + "size": 3678, + "checksum": "sha256-26aa9605c627b63c1f78abc87643c3896d77723ddee332c8ccb3ae148bd0e9c1" + }, + "/fail.ts": { + "size": 423, + "checksum": "sha256-67579a1308b176d52756ded6d1e3149f87703648e59afc333ba5168fefeb8d7b" + }, + "/assert_equals_test.ts": { + "size": 4803, + "checksum": "sha256-630bc982f44403dd8fe021c3c8dc60706e3c5be20c1f511db33ed7c6866b58f5" + }, + "/assert_false.ts": { + "size": 626, + "checksum": "sha256-905f7eae28be0a7bd106f5f088f93ee9f30968c3d3aa31f951bf9303197ced0e" + }, + "/assert_string_includes.ts": { + "size": 736, + "checksum": "sha256-ad95908926573a91aebc05e61ba1901ea49bc76d5cc53cadf4cac1fa67f364cb" + }, + "/assert_not_instance_of_test.ts": { + "size": 336, + "checksum": "sha256-c91a3de49759625a265515f180bf5a4be14276aa7cc9ec252ab78a1f4a19dba7" + }, + "/unimplemented_test.ts": { + "size": 393, + "checksum": "sha256-8de2cfb02e8ebce31279c316ab17fc1beb9e38882be3d45b952889ce14c96fbc" + }, + "/assert_less_or_equal_test.ts": { + "size": 283, + "checksum": "sha256-e517017ff0fe2d44b4d92db930e8c439dcc80b3199835da0179943b3b357015c" + }, + "/assert_exists_test.ts": { + "size": 886, + "checksum": "sha256-d78038fb6cdd00d83f88c6d45320518701ffd7eac7ad0a78649fe80252e66034" + }, + "/assert_throws_test.ts": { + "size": 2620, + "checksum": "sha256-15b5deec92d8206b2af7d7db02da1aced2a67edb1cc19c008f4768aacd0b5737" + }, + "/fail_test.ts": { + "size": 348, + "checksum": "sha256-fbea772ad5e6bdd14fc1bbb1179f3c1cc868ad367dc3067bcd195c89b0dee4c1" + }, + "/assert_rejects_test.ts": { + "size": 2509, + "checksum": "sha256-73639914543b01f9525b319df009b4837af454e24acbd6aafa7ab163bb7fbcd0" + }, + "/assert_instance_of.ts": { + "size": 1785, + "checksum": "sha256-4908dd61bfad14fdc4d20adf21052352630d49212148c104b322fe33d0a23c07" + }, + "/assert_not_strict_equals_test.ts": { + "size": 815, + "checksum": "sha256-153484670e0d06f9fa51d416921cb768871f135806714b316e7ef636fa5cd2d3" + }, + "/assert_greater.ts": { + "size": 741, + "checksum": "sha256-e6f8a3bf704719ac73e97422e7dac782c11cf272c7703aa01f00d601c1ecfd97" + }, + "/_diff_test.ts": { + "size": 8945, + "checksum": "sha256-4ff3692b710aa483de449ec9be4b319f598e748e97480e4425cf14b05544d108" + }, + "/assert_equals.ts": { + "size": 1749, + "checksum": "sha256-2e8677526c16566e8008c05cbcb17c49b69ede2568fd89a2389c54bf80200921" + }, + "/assert_not_equals_test.ts": { + "size": 729, + "checksum": "sha256-5e5eb36ae053783ed4326b4c547470ec9f35a0b3439a85eb420acbc35543de1b" + }, + "/_format.ts": { + "size": 783, + "checksum": "sha256-0ba808961bf678437fb486b56405b6fefad2cf87b5809667c781ddee8c32aff4" + }, + "/assert_is_error_test.ts": { + "size": 1893, + "checksum": "sha256-d2905e5a7f56ca62ddad1cc0c88eed9fc7efc4ca8d61df3c30109bee68781546" + }, + "/assert_rejects.ts": { + "size": 3286, + "checksum": "sha256-647e327b9077643d0e7c6a392006f9dccf0e09594596af8843f47103d74a4df9" + }, + "/assert_instance_of_test.ts": { + "size": 3673, + "checksum": "sha256-4cc3a4fc5a74cbfe8d8554efaf04ad4addf50c122857a7bfe3d75c97b2f65cd2" + }, + "/assert.ts": { + "size": 524, + "checksum": "sha256-501b416473ec27c71885aaf819e363c8df617f89ce68ae57fec7acf9d62743b2" + }, + "/shared_test.ts": { + "size": 566, + "checksum": "sha256-24193bd1346fad4eb0ccd021e3f05b648e8c6f2c197146b75a7672a92d78f5bc" + }, + "/assert_array_includes.ts": { + "size": 1448, + "checksum": "sha256-1efd3b46318f3d486827b5d6e7847b1efadb980f7b622c840715d10eb1740e5d" + }, + "/mod.ts": { + "size": 1585, + "checksum": "sha256-e6aaeffd9ba36f410aead37a9f15743de2e2a30fbe44a7d9820a05b0335bfea5" + }, + "/assert_strict_equals.ts": { + "size": 1837, + "checksum": "sha256-41832f44dc11227cd01b4884c0c174a851ab72691b47c5a15f2cce4fce0b1066" + }, + "/unreachable_test.ts": { + "size": 653, + "checksum": "sha256-58d243825002fddb07bb8bbf3278d56908c6c9247986d3936d221b94ef2df59d" + }, + "/assert_match_test.ts": { + "size": 633, + "checksum": "sha256-3c54e286513b0d69bda04639646645aab8d12f0fa7ce167d683ae15732c0a45c" + }, + "/assert_throws.ts": { + "size": 2839, + "checksum": "sha256-1fee4ef9d67bd0d101dff574779a0d0882b11ebc2849c74cf04ed67be6c94d67" + }, + "/assertion_error.ts": { + "size": 446, + "checksum": "sha256-13acffc12087dc5d3d17f2e30e9bc419987d06ae62400aac37a1e894a2e22578" + }, + "/unreachable.ts": { + "size": 408, + "checksum": "sha256-7d33e611b31f1c61d67476e14cf4e895373707929703b0aba1398a0729f4d020" + }, + "/equal_test.ts": { + "size": 8088, + "checksum": "sha256-aca8b17f9d01ddea188183eaa9c5dd36d0a3286f0b8aca99c2244c15a1c282ad" + }, + "/_constants.ts": { + "size": 126, + "checksum": "sha256-a271e8ef5a573f1df8e822a6eb9d09df064ad66a4390f21b3e31f820a38e0975" + }, + "/assert_greater_or_equal.ts": { + "size": 824, + "checksum": "sha256-8411f51b29a63b3de0317d6438f150c47f6242efec499674d0669f0e266061ae" + }, + "/assert_almost_equals_test.ts": { + "size": 1716, + "checksum": "sha256-e9d0b1845af1e5395f3af7624236c6d8d8921427f1f6a9830ad7421486667a7f" + }, + "/assert_match.ts": { + "size": 717, + "checksum": "sha256-8e3f9ff8b9fec4ec8a01fd5a46d15cfccf7f9ba7d3be5c314c44febba61ead51" + }, + "/assert_not_match.ts": { + "size": 748, + "checksum": "sha256-3e7a4165270a09a614c70ef9add725f8404ef8ded3672ae2f1c107afb43f7c37" + }, + "/assert_string_includes_test.ts": { + "size": 943, + "checksum": "sha256-d5c131176dde72af8a4e0ecfefa7430d6794b0d200016151f650cb2f0e91b51c" + }, + "/assert_almost_equals.ts": { + "size": 1258, + "checksum": "sha256-77a20a203abff37146dc029afd14e7cce9c9c085c25a107a5f075ed49b646db0" + }, + "/assert_not_equals.ts": { + "size": 1134, + "checksum": "sha256-9e9ee2efde761cca345b0293a78500b20ce9f594c98398110dac335b6687fa33" + }, + "/equal.ts": { + "size": 3785, + "checksum": "sha256-166d9377ce8df4d53f676d9a568a13914c2323d9d3b2fd1096aafeb59f3c1edf" + }, + "/assert_array_includes_test.ts": { + "size": 1709, + "checksum": "sha256-518f3ce7cc52dfc20159bfae940109243cca61fbe493835257789fe0cf16fb87" + }, + "/assert_not_match_test.ts": { + "size": 648, + "checksum": "sha256-bcae04c24725507c4d41ab509ce3d13103b1e2e6536ad83fc901a0997b216d7b" + } + }, + "moduleGraph1": { + "/assert_not_match.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/equal.ts": {}, + "/assert_not_instance_of.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert_false.ts", + "specifierRange": [ + [ + 1, + 28 + ], + [ + 1, + 47 + ] + ] + } + ] + }, + "/assert_false.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_less.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_format.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/assert.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/_constants.ts": {}, + "/assert_not_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_constants.ts", + "specifierRange": [ + [ + 2, + 32 + ], + [ + 2, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./equal.ts", + "specifierRange": [ + [ + 3, + 22 + ], + [ + 3, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 4, + 31 + ], + [ + 4, + 53 + ] + ] + } + ] + }, + "/_format.ts": {}, + "/_diff.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/fmt@^0.221.0/colors", + "specifierRange": [ + [ + 3, + 62 + ], + [ + 3, + 93 + ] + ] + } + ] + }, + "/unreachable.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_is_error.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/fmt@^0.221.0/colors", + "specifierRange": [ + [ + 2, + 30 + ], + [ + 2, + 61 + ] + ] + } + ] + }, + "/assert_not_strict_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_format.ts", + "specifierRange": [ + [ + 2, + 23 + ], + [ + 2, + 37 + ] + ] + } + ] + }, + "/assert_rejects.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assert_is_error.ts", + "specifierRange": [ + [ + 2, + 30 + ], + [ + 2, + 52 + ] + ] + } + ] + }, + "/assert_strict_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_format.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_diff.ts", + "specifierRange": [ + [ + 3, + 44 + ], + [ + 3, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_constants.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/fmt@^0.221.0/colors", + "specifierRange": [ + [ + 5, + 20 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./assert_almost_equals.ts", + "specifierRange": [ + [ + 19, + 14 + ], + [ + 19, + 41 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_array_includes.ts", + "specifierRange": [ + [ + 20, + 14 + ], + [ + 20, + 42 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_equals.ts", + "specifierRange": [ + [ + 21, + 14 + ], + [ + 21, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_exists.ts", + "specifierRange": [ + [ + 22, + 14 + ], + [ + 22, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_false.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 33 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_greater_or_equal.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 44 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_greater.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_instance_of.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_is_error.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_less_or_equal.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 41 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_less.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_match.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 33 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_not_equals.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 38 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_not_instance_of.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 43 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_not_match.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 37 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_not_strict_equals.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 45 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_object_match.ts", + "specifierRange": [ + [ + 35, + 14 + ], + [ + 35, + 40 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_rejects.ts", + "specifierRange": [ + [ + 36, + 14 + ], + [ + 36, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_strict_equals.ts", + "specifierRange": [ + [ + 37, + 14 + ], + [ + 37, + 41 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_string_includes.ts", + "specifierRange": [ + [ + 38, + 14 + ], + [ + 38, + 43 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert_throws.ts", + "specifierRange": [ + [ + 39, + 14 + ], + [ + 39, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert.ts", + "specifierRange": [ + [ + 40, + 14 + ], + [ + 40, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 41, + 14 + ], + [ + 41, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./equal.ts", + "specifierRange": [ + [ + 42, + 14 + ], + [ + 42, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./fail.ts", + "specifierRange": [ + [ + 43, + 14 + ], + [ + 43, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./unimplemented.ts", + "specifierRange": [ + [ + 44, + 14 + ], + [ + 44, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./unreachable.ts", + "specifierRange": [ + [ + 45, + 14 + ], + [ + 45, + 32 + ] + ] + } + ] + }, + "/assert_exists.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_less_or_equal.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_format.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/unimplemented.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_match.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/fail.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 36 + ] + ] + } + ] + }, + "/assert_array_includes.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./equal.ts", + "specifierRange": [ + [ + 1, + 22 + ], + [ + 1, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_format.ts", + "specifierRange": [ + [ + 2, + 23 + ], + [ + 2, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 53 + ] + ] + } + ] + }, + "/assert_string_includes.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_object_match.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert_equals.ts", + "specifierRange": [ + [ + 1, + 29 + ], + [ + 1, + 49 + ] + ] + } + ] + }, + "/assertion_error.ts": {}, + "/assert_throws.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert_is_error.ts", + "specifierRange": [ + [ + 1, + 30 + ], + [ + 1, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/assert_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./equal.ts", + "specifierRange": [ + [ + 1, + 22 + ], + [ + 1, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_format.ts", + "specifierRange": [ + [ + 2, + 23 + ], + [ + 2, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/fmt@^0.221.0/colors", + "specifierRange": [ + [ + 4, + 20 + ], + [ + 4, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_diff.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_constants.ts", + "specifierRange": [ + [ + 6, + 32 + ], + [ + 6, + 49 + ] + ] + } + ] + }, + "/assert_greater_or_equal.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_format.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/assert_almost_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_instance_of.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 53 + ] + ] + } + ] + }, + "/assert_greater.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_format.ts", + "specifierRange": [ + [ + 1, + 23 + ], + [ + 1, + 37 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./assert": "./assert.ts", + "./assert-almost-equals": "./assert_almost_equals.ts", + "./assert-array-includes": "./assert_array_includes.ts", + "./assert-equals": "./assert_equals.ts", + "./assert-exists": "./assert_exists.ts", + "./assert-false": "./assert_false.ts", + "./assert-greater": "./assert_greater.ts", + "./assert-greater-or-equal": "./assert_greater_or_equal.ts", + "./assert-instance-of": "./assert_instance_of.ts", + "./assert-is-error": "./assert_is_error.ts", + "./assert-less": "./assert_less.ts", + "./assert-less-or-equal": "./assert_less_or_equal.ts", + "./assert-match": "./assert_match.ts", + "./assert-not-equals": "./assert_not_equals.ts", + "./assert-not-instance-of": "./assert_not_instance_of.ts", + "./assert-not-match": "./assert_not_match.ts", + "./assert-not-strict-equals": "./assert_not_strict_equals.ts", + "./assert-object-match": "./assert_object_match.ts", + "./assert-rejects": "./assert_rejects.ts", + "./assert-strict-equals": "./assert_strict_equals.ts", + "./assert-string-includes": "./assert_string_includes.ts", + "./assert-throws": "./assert_throws.ts", + "./assertion-error": "./assertion_error.ts", + "./equal": "./equal.ts", + "./fail": "./fail.ts", + "./unimplemented": "./unimplemented.ts", + "./unreachable": "./unreachable.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/assert/1.0.10/almost_equals.ts b/vendor/jsr.io/@std/assert/1.0.10/almost_equals.ts new file mode 100644 index 0000000..378c91b --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/almost_equals.ts @@ -0,0 +1,55 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion that `actual` and `expected` are almost equal numbers + * through a given tolerance. It can be used to take into account IEEE-754 + * double-precision floating-point representation limitations. If the values + * are not almost equal then throw. + * + * The default tolerance is one hundred thousandth of a percent of the + * expected value. + * + * @example Usage + * ```ts ignore + * import { assertAlmostEquals } from "@std/assert"; + * + * assertAlmostEquals(0.01, 0.02); // Throws + * assertAlmostEquals(1e-8, 1e-9); // Throws + * assertAlmostEquals(1.000000001e-8, 1.000000002e-8); // Doesn't throw + * assertAlmostEquals(0.01, 0.02, 0.1); // Doesn't throw + * assertAlmostEquals(0.1 + 0.2, 0.3, 1e-16); // Doesn't throw + * assertAlmostEquals(0.1 + 0.2, 0.3, 1e-17); // Throws + * ``` + * + * @param actual The actual value to compare. + * @param expected The expected value to compare. + * @param tolerance The tolerance to consider the values almost equal. The + * default is one hundred thousandth of a percent of the expected value. + * @param msg The optional message to include in the error. + */ +export function assertAlmostEquals( + actual: number, + expected: number, + tolerance?: number, + msg?: string, +) { + if (Object.is(actual, expected)) { + return; + } + const delta = Math.abs(expected - actual); + if (tolerance === undefined) { + tolerance = isFinite(expected) ? Math.abs(expected * 1e-7) : 1e-7; + } + if (delta <= tolerance) { + return; + } + + const msgSuffix = msg ? `: ${msg}` : "."; + const f = (n: number) => Number.isInteger(n) ? n : n.toExponential(); + throw new AssertionError( + `Expected actual: "${f(actual)}" to be close to "${f(expected)}": \ +delta "${f(delta)}" is greater than "${f(tolerance)}"${msgSuffix}`, + ); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/array_includes.ts b/vendor/jsr.io/@std/assert/1.0.10/array_includes.ts new file mode 100644 index 0000000..b6b6951 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/array_includes.ts @@ -0,0 +1,57 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { equal } from "./equal.ts"; +import { format } from "jsr:@std/internal@^1.0.5/format"; +import { AssertionError } from "./assertion_error.ts"; + +/** An array-like object (`Array`, `Uint8Array`, `NodeList`, etc.) that is not a string */ +export type ArrayLikeArg = ArrayLike & object; + +/** + * Make an assertion that `actual` includes the `expected` values. If not then + * an error will be thrown. + * + * Type parameter can be specified to ensure values under comparison have the + * same type. + * + * @example Usage + * ```ts ignore + * import { assertArrayIncludes } from "@std/assert"; + * + * assertArrayIncludes([1, 2], [2]); // Doesn't throw + * assertArrayIncludes([1, 2], [3]); // Throws + * ``` + * + * @typeParam T The type of the elements in the array to compare. + * @param actual The array-like object to check for. + * @param expected The array-like object to check for. + * @param msg The optional message to display if the assertion fails. + */ +export function assertArrayIncludes( + actual: ArrayLikeArg, + expected: ArrayLikeArg, + msg?: string, +) { + const missing: unknown[] = []; + for (let i = 0; i < expected.length; i++) { + let found = false; + for (let j = 0; j < actual.length; j++) { + if (equal(expected[i], actual[j])) { + found = true; + break; + } + } + if (!found) { + missing.push(expected[i]); + } + } + if (missing.length === 0) { + return; + } + + const msgSuffix = msg ? `: ${msg}` : "."; + msg = `Expected actual: "${format(actual)}" to include: "${ + format(expected) + }"${msgSuffix}\nmissing: ${format(missing)}`; + throw new AssertionError(msg); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/assert.ts b/vendor/jsr.io/@std/assert/1.0.10/assert.ts new file mode 100644 index 0000000..c2a9673 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/assert.ts @@ -0,0 +1,23 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion, error will be thrown if `expr` does not have truthy value. + * + * @example Usage + * ```ts ignore + * import { assert } from "@std/assert"; + * + * assert("hello".includes("ello")); // Doesn't throw + * assert("hello".includes("world")); // Throws + * ``` + * + * @param expr The expression to test. + * @param msg The optional message to display if the assertion fails. + */ +export function assert(expr: unknown, msg = ""): asserts expr { + if (!expr) { + throw new AssertionError(msg); + } +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/assertion_error.ts b/vendor/jsr.io/@std/assert/1.0.10/assertion_error.ts new file mode 100644 index 0000000..ac5002d --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/assertion_error.ts @@ -0,0 +1,31 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Error thrown when an assertion fails. + * + * @example Usage + * ```ts ignore + * import { AssertionError } from "@std/assert"; + * + * try { + * throw new AssertionError("foo", { cause: "bar" }); + * } catch (error) { + * if (error instanceof AssertionError) { + * error.message === "foo"; // true + * error.cause === "bar"; // true + * } + * } + * ``` + */ +export class AssertionError extends Error { + /** Constructs a new instance. + * + * @param message The error message. + * @param options Additional options. This argument is still unstable. It may change in the future release. + */ + constructor(message: string, options?: ErrorOptions) { + super(message, options); + this.name = "AssertionError"; + } +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/equal.ts b/vendor/jsr.io/@std/assert/1.0.10/equal.ts new file mode 100644 index 0000000..bae5383 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/equal.ts @@ -0,0 +1,208 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +type KeyedCollection = Set | Map; +function isKeyedCollection(x: unknown): x is KeyedCollection { + return x instanceof Set || x instanceof Map; +} + +function prototypesEqual(a: object, b: object) { + const pa = Object.getPrototypeOf(a); + const pb = Object.getPrototypeOf(b); + return pa === pb || + pa === Object.prototype && pb === null || + pa === null && pb === Object.prototype; +} + +function isBasicObjectOrArray(obj: object) { + const proto = Object.getPrototypeOf(obj); + return proto === null || proto === Object.prototype || + proto === Array.prototype; +} + +// Slightly faster than Reflect.ownKeys in V8 as of 12.9.202.13-rusty (2024-10-28) +function ownKeys(obj: object) { + return [ + ...Object.getOwnPropertyNames(obj), + ...Object.getOwnPropertySymbols(obj), + ]; +} + +function getKeysDeep(obj: object) { + const keys = new Set(); + + while (obj !== Object.prototype && obj !== Array.prototype && obj != null) { + for (const key of ownKeys(obj)) { + keys.add(key); + } + obj = Object.getPrototypeOf(obj); + } + + return keys; +} + +// deno-lint-ignore no-explicit-any +const Temporal: any = (globalThis as any).Temporal ?? + new Proxy({}, { get: () => {} }); + +/** A non-exhaustive list of prototypes that can be accurately fast-path compared with `String(instance)` */ +const stringComparablePrototypes = new Set( + [ + Intl.Locale, + RegExp, + Temporal.Duration, + Temporal.Instant, + Temporal.PlainDate, + Temporal.PlainDateTime, + Temporal.PlainTime, + Temporal.PlainYearMonth, + Temporal.PlainMonthDay, + Temporal.ZonedDateTime, + URL, + URLSearchParams, + ].filter((x) => x != null).map((x) => x.prototype), +); + +function isPrimitive(x: unknown) { + return typeof x === "string" || + typeof x === "number" || + typeof x === "boolean" || + typeof x === "bigint" || + typeof x === "symbol" || + x == null; +} + +type TypedArray = Pick; +const TypedArray = Object.getPrototypeOf(Uint8Array); +function compareTypedArrays(a: TypedArray, b: TypedArray) { + if (a.length !== b.length) return false; + for (let i = 0; i < b.length; i++) { + if (!sameValueZero(a[i], b[i])) return false; + } + return true; +} + +/** Check both strict equality (`0 == -0`) and `Object.is` (`NaN == NaN`) */ +function sameValueZero(a: unknown, b: unknown) { + return a === b || Object.is(a, b); +} + +/** + * Deep equality comparison used in assertions. + * + * @param a The actual value + * @param b The expected value + * @returns `true` if the values are deeply equal, `false` otherwise + * + * @example Usage + * ```ts + * import { equal } from "@std/assert/equal"; + * + * equal({ foo: "bar" }, { foo: "bar" }); // Returns `true` + * equal({ foo: "bar" }, { foo: "baz" }); // Returns `false` + * ``` + */ +export function equal(a: unknown, b: unknown): boolean { + const seen = new Map(); + return (function compare(a: unknown, b: unknown): boolean { + if (sameValueZero(a, b)) return true; + if (isPrimitive(a) || isPrimitive(b)) return false; + + if (a instanceof Date && b instanceof Date) { + return Object.is(a.getTime(), b.getTime()); + } + if (a && typeof a === "object" && b && typeof b === "object") { + if (!prototypesEqual(a, b)) { + return false; + } + if (a instanceof TypedArray) { + return compareTypedArrays(a as TypedArray, b as TypedArray); + } + if (a instanceof WeakMap) { + throw new TypeError("cannot compare WeakMap instances"); + } + if (a instanceof WeakSet) { + throw new TypeError("cannot compare WeakSet instances"); + } + if (a instanceof WeakRef) { + return compare(a.deref(), (b as WeakRef).deref()); + } + if (seen.get(a) === b) { + return true; + } + if (Object.keys(a).length !== Object.keys(b).length) { + return false; + } + seen.set(a, b); + if (isKeyedCollection(a) && isKeyedCollection(b)) { + if (a.size !== b.size) { + return false; + } + + const aKeys = [...a.keys()]; + const primitiveKeysFastPath = aKeys.every(isPrimitive); + if (primitiveKeysFastPath) { + if (a instanceof Set) { + return a.symmetricDifference(b).size === 0; + } + + for (const key of aKeys) { + if ( + !b.has(key) || + !compare(a.get(key), (b as Map).get(key)) + ) { + return false; + } + } + return true; + } + + let unmatchedEntries = a.size; + + for (const [aKey, aValue] of a.entries()) { + for (const [bKey, bValue] of b.entries()) { + /* Given that Map keys can be references, we need + * to ensure that they are also deeply equal */ + + if (!compare(aKey, bKey)) continue; + + if ( + (aKey === aValue && bKey === bValue) || + (compare(aValue, bValue)) + ) { + unmatchedEntries--; + break; + } + } + } + + return unmatchedEntries === 0; + } + + let keys: Iterable; + + if (isBasicObjectOrArray(a)) { + // fast path + keys = ownKeys({ ...a, ...b }); + } else if (stringComparablePrototypes.has(Object.getPrototypeOf(a))) { + // medium path + return String(a) === String(b); + } else { + // slow path + keys = getKeysDeep(a).union(getKeysDeep(b)); + } + + for (const key of keys) { + type Key = keyof typeof a; + if (!compare(a[key as Key], b[key as Key])) { + return false; + } + if (((key in a) && (!(key in b))) || ((key in b) && (!(key in a)))) { + return false; + } + } + return true; + } + return false; + })(a, b); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/equals.ts b/vendor/jsr.io/@std/assert/1.0.10/equals.ts new file mode 100644 index 0000000..158402e --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/equals.ts @@ -0,0 +1,65 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { equal } from "./equal.ts"; +import { buildMessage } from "jsr:@std/internal@^1.0.5/build-message"; +import { diff } from "jsr:@std/internal@^1.0.5/diff"; +import { diffStr } from "jsr:@std/internal@^1.0.5/diff-str"; +import { format } from "jsr:@std/internal@^1.0.5/format"; + +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion that `actual` and `expected` are equal, deeply. If not + * deeply equal, then throw. + * + * Type parameter can be specified to ensure values under comparison have the + * same type. + * + * Note: When comparing `Blob` objects, you should first convert them to + * `Uint8Array` using the `Blob.bytes()` method and then compare their + * contents. + * + * @example Usage + * ```ts ignore + * import { assertEquals } from "@std/assert"; + * + * assertEquals("world", "world"); // Doesn't throw + * assertEquals("hello", "world"); // Throws + * ``` + * @example Compare `Blob` objects + * ```ts ignore + * import { assertEquals } from "@std/assert"; + * + * const bytes1 = await new Blob(["foo"]).bytes(); + * const bytes2 = await new Blob(["foo"]).bytes(); + * + * assertEquals(bytes1, bytes2); + * ``` + * + * @typeParam T The type of the values to compare. This is usually inferred. + * @param actual The actual value to compare. + * @param expected The expected value to compare. + * @param msg The optional message to display if the assertion fails. + */ +export function assertEquals( + actual: T, + expected: T, + msg?: string, +) { + if (equal(actual, expected)) { + return; + } + const msgSuffix = msg ? `: ${msg}` : "."; + let message = `Values are not equal${msgSuffix}`; + + const actualString = format(actual); + const expectedString = format(expected); + const stringDiff = (typeof actual === "string") && + (typeof expected === "string"); + const diffResult = stringDiff + ? diffStr(actual as string, expected as string) + : diff(actualString.split("\n"), expectedString.split("\n")); + const diffMsg = buildMessage(diffResult, { stringDiff }).join("\n"); + message = `${message}\n${diffMsg}`; + throw new AssertionError(message); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/exists.ts b/vendor/jsr.io/@std/assert/1.0.10/exists.ts new file mode 100644 index 0000000..b987316 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/exists.ts @@ -0,0 +1,31 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion that actual is not null or undefined. + * If not then throw. + * + * @example Usage + * ```ts ignore + * import { assertExists } from "@std/assert"; + * + * assertExists("something"); // Doesn't throw + * assertExists(undefined); // Throws + * ``` + * + * @typeParam T The type of the actual value. + * @param actual The actual value to check. + * @param msg The optional message to include in the error if the assertion fails. + */ +export function assertExists( + actual: T, + msg?: string, +): asserts actual is NonNullable { + if (actual === undefined || actual === null) { + const msgSuffix = msg ? `: ${msg}` : "."; + msg = + `Expected actual: "${actual}" to not be null or undefined${msgSuffix}`; + throw new AssertionError(msg); + } +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/fail.ts b/vendor/jsr.io/@std/assert/1.0.10/fail.ts new file mode 100644 index 0000000..8285269 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/fail.ts @@ -0,0 +1,21 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; + +/** + * Forcefully throws a failed assertion. + * + * @example Usage + * ```ts ignore + * import { fail } from "@std/assert"; + * + * fail("Deliberately failed!"); // Throws + * ``` + * + * @param msg Optional message to include in the error. + * @returns Never returns, always throws. + */ +export function fail(msg?: string): never { + const msgSuffix = msg ? `: ${msg}` : "."; + throw new AssertionError(`Failed assertion${msgSuffix}`); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/false.ts b/vendor/jsr.io/@std/assert/1.0.10/false.ts new file mode 100644 index 0000000..aa8f27b --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/false.ts @@ -0,0 +1,26 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; + +/** Assertion condition for {@linkcode assertFalse}. */ +export type Falsy = false | 0 | 0n | "" | null | undefined; + +/** + * Make an assertion, error will be thrown if `expr` have truthy value. + * + * @example Usage + * ```ts ignore + * import { assertFalse } from "@std/assert"; + * + * assertFalse(false); // Doesn't throw + * assertFalse(true); // Throws + * ``` + * + * @param expr The expression to test. + * @param msg The optional message to display if the assertion fails. + */ +export function assertFalse(expr: unknown, msg = ""): asserts expr is Falsy { + if (expr) { + throw new AssertionError(msg); + } +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/greater.ts b/vendor/jsr.io/@std/assert/1.0.10/greater.ts new file mode 100644 index 0000000..e135607 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/greater.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { format } from "jsr:@std/internal@^1.0.5/format"; +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion that `actual` is greater than `expected`. + * If not then throw. + * + * @example Usage + * ```ts ignore + * import { assertGreater } from "@std/assert"; + * + * assertGreater(2, 1); // Doesn't throw + * assertGreater(1, 1); // Throws + * assertGreater(0, 1); // Throws + * ``` + * + * @typeParam T The type of the values to compare. + * @param actual The actual value to compare. + * @param expected The expected value to compare. + * @param msg The optional message to display if the assertion fails. + */ +export function assertGreater(actual: T, expected: T, msg?: string) { + if (actual > expected) return; + + const actualString = format(actual); + const expectedString = format(expected); + throw new AssertionError(msg ?? `Expect ${actualString} > ${expectedString}`); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/greater_or_equal.ts b/vendor/jsr.io/@std/assert/1.0.10/greater_or_equal.ts new file mode 100644 index 0000000..2aa8ae2 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/greater_or_equal.ts @@ -0,0 +1,36 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { format } from "jsr:@std/internal@^1.0.5/format"; +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion that `actual` is greater than or equal to `expected`. + * If not then throw. + * + * @example Usage + * ```ts ignore + * import { assertGreaterOrEqual } from "@std/assert"; + * + * assertGreaterOrEqual(2, 1); // Doesn't throw + * assertGreaterOrEqual(1, 1); // Doesn't throw + * assertGreaterOrEqual(0, 1); // Throws + * ``` + * + * @typeParam T The type of the values to compare. + * @param actual The actual value to compare. + * @param expected The expected value to compare. + * @param msg The optional message to display if the assertion fails. + */ +export function assertGreaterOrEqual( + actual: T, + expected: T, + msg?: string, +) { + if (actual >= expected) return; + + const actualString = format(actual); + const expectedString = format(expected); + throw new AssertionError( + msg ?? `Expect ${actualString} >= ${expectedString}`, + ); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/instance_of.ts b/vendor/jsr.io/@std/assert/1.0.10/instance_of.ts new file mode 100644 index 0000000..68d6962 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/instance_of.ts @@ -0,0 +1,64 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; + +/** Any constructor */ +// deno-lint-ignore no-explicit-any +export type AnyConstructor = new (...args: any[]) => any; +/** Gets constructor type */ +export type GetConstructorType = InstanceType; + +/** + * Make an assertion that `obj` is an instance of `type`. + * If not then throw. + * + * @example Usage + * ```ts ignore + * import { assertInstanceOf } from "@std/assert"; + * + * assertInstanceOf(new Date(), Date); // Doesn't throw + * assertInstanceOf(new Date(), Number); // Throws + * ``` + * + * @typeParam T The expected type of the object. + * @param actual The object to check. + * @param expectedType The expected class constructor. + * @param msg The optional message to display if the assertion fails. + */ +export function assertInstanceOf< + // deno-lint-ignore no-explicit-any + T extends abstract new (...args: any[]) => any, +>( + actual: unknown, + expectedType: T, + msg = "", +): asserts actual is InstanceType { + if (actual instanceof expectedType) return; + + const msgSuffix = msg ? `: ${msg}` : "."; + const expectedTypeStr = expectedType.name; + + let actualTypeStr = ""; + if (actual === null) { + actualTypeStr = "null"; + } else if (actual === undefined) { + actualTypeStr = "undefined"; + } else if (typeof actual === "object") { + actualTypeStr = actual.constructor?.name ?? "Object"; + } else { + actualTypeStr = typeof actual; + } + + if (expectedTypeStr === actualTypeStr) { + msg = + `Expected object to be an instance of "${expectedTypeStr}"${msgSuffix}`; + } else if (actualTypeStr === "function") { + msg = + `Expected object to be an instance of "${expectedTypeStr}" but was not an instanced object${msgSuffix}`; + } else { + msg = + `Expected object to be an instance of "${expectedTypeStr}" but was "${actualTypeStr}"${msgSuffix}`; + } + + throw new AssertionError(msg); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/is_error.ts b/vendor/jsr.io/@std/assert/1.0.10/is_error.ts new file mode 100644 index 0000000..4e729dc --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/is_error.ts @@ -0,0 +1,65 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; +import { stripAnsiCode } from "jsr:@std/internal@^1.0.5/styles"; + +/** + * Make an assertion that `error` is an `Error`. + * If not then an error will be thrown. + * An error class and a string that should be included in the + * error message can also be asserted. + * + * @example Usage + * ```ts ignore + * import { assertIsError } from "@std/assert"; + * + * assertIsError(null); // Throws + * assertIsError(new RangeError("Out of range")); // Doesn't throw + * assertIsError(new RangeError("Out of range"), SyntaxError); // Throws + * assertIsError(new RangeError("Out of range"), SyntaxError, "Out of range"); // Doesn't throw + * assertIsError(new RangeError("Out of range"), SyntaxError, "Within range"); // Throws + * ``` + * + * @typeParam E The type of the error to assert. + * @param error The error to assert. + * @param ErrorClass The optional error class to assert. + * @param msgMatches The optional string or RegExp to assert in the error message. + * @param msg The optional message to display if the assertion fails. + */ +export function assertIsError( + error: unknown, + // deno-lint-ignore no-explicit-any + ErrorClass?: abstract new (...args: any[]) => E, + msgMatches?: string | RegExp, + msg?: string, +): asserts error is E { + const msgSuffix = msg ? `: ${msg}` : "."; + if (!(error instanceof Error)) { + throw new AssertionError( + `Expected "error" to be an Error object${msgSuffix}`, + ); + } + if (ErrorClass && !(error instanceof ErrorClass)) { + msg = + `Expected error to be instance of "${ErrorClass.name}", but was "${error?.constructor?.name}"${msgSuffix}`; + throw new AssertionError(msg); + } + let msgCheck; + if (typeof msgMatches === "string") { + msgCheck = stripAnsiCode(error.message).includes( + stripAnsiCode(msgMatches), + ); + } + if (msgMatches instanceof RegExp) { + msgCheck = msgMatches.test(stripAnsiCode(error.message)); + } + + if (msgMatches && !msgCheck) { + msg = `Expected error message to include ${ + msgMatches instanceof RegExp + ? msgMatches.toString() + : JSON.stringify(msgMatches) + }, but got ${JSON.stringify(error?.message)}${msgSuffix}`; + throw new AssertionError(msg); + } +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/less.ts b/vendor/jsr.io/@std/assert/1.0.10/less.ts new file mode 100644 index 0000000..8b48074 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/less.ts @@ -0,0 +1,29 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { format } from "jsr:@std/internal@^1.0.5/format"; +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion that `actual` is less than `expected`. + * If not then throw. + * + * @example Usage + * ```ts ignore + * import { assertLess } from "@std/assert"; + * + * assertLess(1, 2); // Doesn't throw + * assertLess(2, 1); // Throws + * ``` + * + * @typeParam T The type of the values to compare. + * @param actual The actual value to compare. + * @param expected The expected value to compare. + * @param msg The optional message to display if the assertion fails. + */ +export function assertLess(actual: T, expected: T, msg?: string) { + if (actual < expected) return; + + const actualString = format(actual); + const expectedString = format(expected); + throw new AssertionError(msg ?? `Expect ${actualString} < ${expectedString}`); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/less_or_equal.ts b/vendor/jsr.io/@std/assert/1.0.10/less_or_equal.ts new file mode 100644 index 0000000..b9ca466 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/less_or_equal.ts @@ -0,0 +1,36 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { format } from "jsr:@std/internal@^1.0.5/format"; +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion that `actual` is less than or equal to `expected`. + * If not then throw. + * + * @example Usage + * ```ts ignore + * import { assertLessOrEqual } from "@std/assert"; + * + * assertLessOrEqual(1, 2); // Doesn't throw + * assertLessOrEqual(1, 1); // Doesn't throw + * assertLessOrEqual(1, 0); // Throws + * ``` + * + * @typeParam T The type of the values to compare. + * @param actual The actual value to compare. + * @param expected The expected value to compare. + * @param msg The optional message to display if the assertion fails. + */ +export function assertLessOrEqual( + actual: T, + expected: T, + msg?: string, +) { + if (actual <= expected) return; + + const actualString = format(actual); + const expectedString = format(expected); + throw new AssertionError( + msg ?? `Expect ${actualString} <= ${expectedString}`, + ); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/match.ts b/vendor/jsr.io/@std/assert/1.0.10/match.ts new file mode 100644 index 0000000..32e660a --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/match.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion that `actual` match RegExp `expected`. If not + * then throw. + * + * @example Usage + * ```ts ignore + * import { assertMatch } from "@std/assert"; + * + * assertMatch("Raptor", /Raptor/); // Doesn't throw + * assertMatch("Denosaurus", /Raptor/); // Throws + * ``` + * + * @param actual The actual value to be matched. + * @param expected The expected pattern to match. + * @param msg The optional message to display if the assertion fails. + */ +export function assertMatch( + actual: string, + expected: RegExp, + msg?: string, +) { + if (expected.test(actual)) return; + const msgSuffix = msg ? `: ${msg}` : "."; + msg = `Expected actual: "${actual}" to match: "${expected}"${msgSuffix}`; + throw new AssertionError(msg); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/mod.ts b/vendor/jsr.io/@std/assert/1.0.10/mod.ts new file mode 100644 index 0000000..00835ef --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/mod.ts @@ -0,0 +1,47 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** A library of assertion functions. + * If the assertion is false an `AssertionError` will be thrown which will + * result in pretty-printed diff of the failing assertion. + * + * This module is browser compatible, but do not rely on good formatting of + * values for AssertionError messages in browsers. + * + * ```ts ignore + * import { assert } from "@std/assert"; + * + * assert("I am truthy"); // Doesn't throw + * assert(false); // Throws `AssertionError` + * ``` + * + * @module + */ + +export * from "./almost_equals.ts"; +export * from "./array_includes.ts"; +export * from "./equals.ts"; +export * from "./exists.ts"; +export * from "./false.ts"; +export * from "./greater_or_equal.ts"; +export * from "./greater.ts"; +export * from "./instance_of.ts"; +export * from "./is_error.ts"; +export * from "./less_or_equal.ts"; +export * from "./less.ts"; +export * from "./match.ts"; +export * from "./not_equals.ts"; +export * from "./not_instance_of.ts"; +export * from "./not_match.ts"; +export * from "./not_strict_equals.ts"; +export * from "./object_match.ts"; +export * from "./rejects.ts"; +export * from "./strict_equals.ts"; +export * from "./string_includes.ts"; +export * from "./throws.ts"; +export * from "./assert.ts"; +export * from "./assertion_error.ts"; +export * from "./equal.ts"; +export * from "./fail.ts"; +export * from "./unimplemented.ts"; +export * from "./unreachable.ts"; diff --git a/vendor/jsr.io/@std/assert/1.0.10/not_equals.ts b/vendor/jsr.io/@std/assert/1.0.10/not_equals.ts new file mode 100644 index 0000000..76c30c9 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/not_equals.ts @@ -0,0 +1,37 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { equal } from "./equal.ts"; +import { AssertionError } from "./assertion_error.ts"; +import { format } from "jsr:@std/internal@^1.0.5/format"; + +/** + * Make an assertion that `actual` and `expected` are not equal, deeply. + * If not then throw. + * + * Type parameter can be specified to ensure values under comparison have the same type. + * + * @example Usage + * ```ts ignore + * import { assertNotEquals } from "@std/assert"; + * + * assertNotEquals(1, 2); // Doesn't throw + * assertNotEquals(1, 1); // Throws + * ``` + * + * @typeParam T The type of the values to compare. + * @param actual The actual value to compare. + * @param expected The expected value to compare. + * @param msg The optional message to display if the assertion fails. + */ +export function assertNotEquals(actual: T, expected: T, msg?: string) { + if (!equal(actual, expected)) { + return; + } + const actualString = format(actual); + const expectedString = format(expected); + const msgSuffix = msg ? `: ${msg}` : "."; + throw new AssertionError( + `Expected actual: ${actualString} not to be: ${expectedString}${msgSuffix}`, + ); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/not_instance_of.ts b/vendor/jsr.io/@std/assert/1.0.10/not_instance_of.ts new file mode 100644 index 0000000..3040e15 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/not_instance_of.ts @@ -0,0 +1,33 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { assertFalse } from "./false.ts"; + +/** + * Make an assertion that `obj` is not an instance of `type`. + * If so, then throw. + * + * @example Usage + * ```ts ignore + * import { assertNotInstanceOf } from "@std/assert"; + * + * assertNotInstanceOf(new Date(), Number); // Doesn't throw + * assertNotInstanceOf(new Date(), Date); // Throws + * ``` + * + * @typeParam A The type of the object to check. + * @typeParam T The type of the class to check against. + * @param actual The object to check. + * @param unexpectedType The class constructor to check against. + * @param msg The optional message to display if the assertion fails. + */ +export function assertNotInstanceOf( + actual: A, + // deno-lint-ignore no-explicit-any + unexpectedType: abstract new (...args: any[]) => T, + msg?: string, +): asserts actual is Exclude { + const msgSuffix = msg ? `: ${msg}` : "."; + msg = + `Expected object to not be an instance of "${typeof unexpectedType}"${msgSuffix}`; + assertFalse(actual instanceof unexpectedType, msg); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/not_match.ts b/vendor/jsr.io/@std/assert/1.0.10/not_match.ts new file mode 100644 index 0000000..35d0b14 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/not_match.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion that `actual` not match RegExp `expected`. If match + * then throw. + * + * @example Usage + * ```ts ignore + * import { assertNotMatch } from "@std/assert"; + * + * assertNotMatch("Denosaurus", /Raptor/); // Doesn't throw + * assertNotMatch("Raptor", /Raptor/); // Throws + * ``` + * + * @param actual The actual value to match. + * @param expected The expected value to not match. + * @param msg The optional message to display if the assertion fails. + */ +export function assertNotMatch( + actual: string, + expected: RegExp, + msg?: string, +) { + if (!expected.test(actual)) return; + const msgSuffix = msg ? `: ${msg}` : "."; + msg = `Expected actual: "${actual}" to not match: "${expected}"${msgSuffix}`; + throw new AssertionError(msg); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/not_strict_equals.ts b/vendor/jsr.io/@std/assert/1.0.10/not_strict_equals.ts new file mode 100644 index 0000000..702bcc7 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/not_strict_equals.ts @@ -0,0 +1,42 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; +import { format } from "jsr:@std/internal@^1.0.5/format"; + +/** + * Make an assertion that `actual` and `expected` are not strictly equal, using + * {@linkcode Object.is} for equality comparison. If the values are strictly + * equal then throw. + * + * @example Usage + * ```ts ignore + * import { assertNotStrictEquals } from "@std/assert"; + * + * assertNotStrictEquals(1, 1); // Throws + * assertNotStrictEquals(1, 2); // Doesn't throw + * + * assertNotStrictEquals(0, 0); // Throws + * assertNotStrictEquals(0, -0); // Doesn't throw + * ``` + * + * @typeParam T The type of the values to compare. + * @param actual The actual value to compare. + * @param expected The expected value to compare. + * @param msg The optional message to display if the assertion fails. + */ +export function assertNotStrictEquals( + actual: T, + expected: T, + msg?: string, +) { + if (!Object.is(actual, expected)) { + return; + } + + const msgSuffix = msg ? `: ${msg}` : "."; + throw new AssertionError( + `Expected "actual" to not be strictly equal to: ${ + format(actual) + }${msgSuffix}\n`, + ); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/object_match.ts b/vendor/jsr.io/@std/assert/1.0.10/object_match.ts new file mode 100644 index 0000000..9f4b4e2 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/object_match.ts @@ -0,0 +1,203 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { assertEquals } from "./equals.ts"; + +/** + * Make an assertion that `expected` object is a subset of `actual` object, + * deeply. If not, then throw a diff of the objects, with mismatching + * properties highlighted. + * + * @example Usage + * ```ts ignore + * import { assertObjectMatch } from "@std/assert"; + * + * assertObjectMatch({ foo: "bar" }, { foo: "bar" }); // Doesn't throw + * assertObjectMatch({ foo: "bar" }, { foo: "baz" }); // Throws + * assertObjectMatch({ foo: 1, bar: 2 }, { foo: 1 }); // Doesn't throw + * assertObjectMatch({ foo: 1 }, { foo: 1, bar: 2 }); // Throws + * ``` + * + * @example Usage with nested objects + * ```ts ignore + * import { assertObjectMatch } from "@std/assert"; + * + * assertObjectMatch({ foo: { bar: 3, baz: 4 } }, { foo: { bar: 3 } }); // Doesn't throw + * assertObjectMatch({ foo: { bar: 3 } }, { foo: { bar: 3, baz: 4 } }); // Throws + * ``` + * + * @param actual The actual value to be matched. + * @param expected The expected value to match. + * @param msg The optional message to display if the assertion fails. + */ +export function assertObjectMatch( + // deno-lint-ignore no-explicit-any + actual: Record, + expected: Record, + msg?: string, +): void { + return assertEquals( + // get the intersection of "actual" and "expected" + // side effect: all the instances' constructor field is "Object" now. + filter(actual, expected), + // set (nested) instances' constructor field to be "Object" without changing expected value. + // see https://github.com/denoland/deno_std/pull/1419 + filter(expected, expected), + msg, + ); +} + +type loose = Record; + +function isObject(val: unknown): boolean { + return typeof val === "object" && val !== null; +} + +function filter(a: loose, b: loose): loose { + const seen = new WeakMap(); + return filterObject(a, b); + + function filterObject(a: loose, b: loose): loose { + // Prevent infinite loop with circular references with same filter + if ((seen.has(a)) && (seen.get(a) === b)) { + return a; + } + + try { + seen.set(a, b); + } catch (err) { + if (err instanceof TypeError) { + throw new TypeError( + `Cannot assertObjectMatch ${a === null ? null : `type ${typeof a}`}`, + ); + } + } + + // Filter keys and symbols which are present in both actual and expected + const filtered = {} as loose; + const keysA = Reflect.ownKeys(a); + const keysB = Reflect.ownKeys(b); + const entries = keysA.filter((key) => keysB.includes(key)) + .map((key) => [key, a[key as string]]) as Array<[string, unknown]>; + + if (keysA.length && keysB.length && !entries.length) { + // If both objects are not empty but don't have the same keys or symbols, + // returns the entries in object a. + for (const key of keysA) { + filtered[key] = a[key]; + } + + return filtered; + } + + for (const [key, value] of entries) { + // On regexp references, keep value as it to avoid loosing pattern and flags + if (value instanceof RegExp) { + filtered[key] = value; + continue; + } + + const subset = (b as loose)[key]; + + // On array references, build a filtered array and filter nested objects inside + if (Array.isArray(value) && Array.isArray(subset)) { + filtered[key] = filterArray(value, subset); + continue; + } + + // On nested objects references, build a filtered object recursively + if (isObject(value) && isObject(subset)) { + // When both operands are maps, build a filtered map with common keys and filter nested objects inside + if ((value instanceof Map) && (subset instanceof Map)) { + filtered[key] = new Map( + [...value].filter(([k]) => subset.has(k)).map( + ([k, v]) => { + const v2 = subset.get(k); + if (isObject(v) && isObject(v2)) { + return [k, filterObject(v as loose, v2 as loose)]; + } + + return [k, v]; + }, + ), + ); + continue; + } + + // When both operands are set, build a filtered set with common values + if ((value instanceof Set) && (subset instanceof Set)) { + filtered[key] = value.intersection(subset); + continue; + } + + filtered[key] = filterObject(value as loose, subset as loose); + continue; + } + + filtered[key] = value; + } + + return filtered; + } + + function filterArray(a: unknown[], b: unknown[]): unknown[] { + // Prevent infinite loop with circular references with same filter + if (seen.has(a) && (seen.get(a) === b)) { + return a; + } + + seen.set(a, b); + + const filtered: unknown[] = []; + const count = Math.min(a.length, b.length); + + for (let i = 0; i < count; ++i) { + const value = a[i]; + const subset = b[i]; + + // On regexp references, keep value as it to avoid loosing pattern and flags + if (value instanceof RegExp) { + filtered.push(value); + continue; + } + + // On array references, build a filtered array and filter nested objects inside + if (Array.isArray(value) && Array.isArray(subset)) { + filtered.push(filterArray(value, subset)); + continue; + } + + // On nested objects references, build a filtered object recursively + if (isObject(value) && isObject(subset)) { + // When both operands are maps, build a filtered map with common keys and filter nested objects inside + if ((value instanceof Map) && (subset instanceof Map)) { + const map = new Map( + [...value].filter(([k]) => subset.has(k)) + .map(([k, v]) => { + const v2 = subset.get(k); + if (isObject(v) && isObject(v2)) { + return [k, filterObject(v as loose, v2 as loose)]; + } + + return [k, v]; + }), + ); + filtered.push(map); + continue; + } + + // When both operands are set, build a filtered set with common values + if ((value instanceof Set) && (subset instanceof Set)) { + filtered.push(value.intersection(subset)); + continue; + } + + filtered.push(filterObject(value as loose, subset as loose)); + continue; + } + + filtered.push(value); + } + + return filtered; + } +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/rejects.ts b/vendor/jsr.io/@std/assert/1.0.10/rejects.ts new file mode 100644 index 0000000..4a1a8d7 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/rejects.ts @@ -0,0 +1,123 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; +import { assertIsError } from "./is_error.ts"; + +/** + * Executes a function which returns a promise, expecting it to reject. + * + * To assert that a synchronous function throws, use {@linkcode assertThrows}. + * + * @example Usage + * ```ts ignore + * import { assertRejects } from "@std/assert"; + * + * await assertRejects(async () => Promise.reject(new Error())); // Doesn't throw + * await assertRejects(async () => console.log("Hello world")); // Throws + * ``` + * + * @param fn The function to execute. + * @param msg The optional message to display if the assertion fails. + * @returns The promise which resolves to the thrown error. + */ +export function assertRejects( + fn: () => PromiseLike, + msg?: string, +): Promise; +/** + * Executes a function which returns a promise, expecting it to reject. + * If it does not, then it throws. An error class and a string that should be + * included in the error message can also be asserted. + * + * To assert that a synchronous function throws, use {@linkcode assertThrows}. + * + * @example Usage + * ```ts ignore + * import { assertRejects } from "@std/assert"; + * + * await assertRejects(async () => Promise.reject(new Error()), Error); // Doesn't throw + * await assertRejects(async () => Promise.reject(new Error()), SyntaxError); // Throws + * ``` + * + * @typeParam E The error class to assert. + * @param fn The function to execute. + * @param ErrorClass The error class to assert. + * @param msgIncludes The string that should be included in the error message. + * @param msg The optional message to display if the assertion fails. + * @returns The promise which resolves to the thrown error. + */ +export function assertRejects( + fn: () => PromiseLike, + // deno-lint-ignore no-explicit-any + ErrorClass: abstract new (...args: any[]) => E, + msgIncludes?: string, + msg?: string, +): Promise; +export async function assertRejects( + fn: () => PromiseLike, + errorClassOrMsg?: + // deno-lint-ignore no-explicit-any + | (abstract new (...args: any[]) => E) + | string, + msgIncludesOrMsg?: string, + msg?: string, +): Promise { + // deno-lint-ignore no-explicit-any + let ErrorClass: (abstract new (...args: any[]) => E) | undefined; + let msgIncludes: string | undefined; + let err; + + if (typeof errorClassOrMsg !== "string") { + if ( + errorClassOrMsg === undefined || + errorClassOrMsg.prototype instanceof Error || + errorClassOrMsg.prototype === Error.prototype + ) { + ErrorClass = errorClassOrMsg; + msgIncludes = msgIncludesOrMsg; + } + } else { + msg = errorClassOrMsg; + } + let doesThrow = false; + let isPromiseReturned = false; + const msgSuffix = msg ? `: ${msg}` : "."; + try { + const possiblePromise = fn(); + if ( + possiblePromise && + typeof possiblePromise === "object" && + typeof possiblePromise.then === "function" + ) { + isPromiseReturned = true; + await possiblePromise; + } else { + throw new Error(); + } + } catch (error) { + if (!isPromiseReturned) { + throw new AssertionError( + `Function throws when expected to reject${msgSuffix}`, + ); + } + if (ErrorClass) { + if (!(error instanceof Error)) { + throw new AssertionError(`A non-Error object was rejected${msgSuffix}`); + } + assertIsError( + error, + ErrorClass, + msgIncludes, + msg, + ); + } + err = error; + doesThrow = true; + } + if (!doesThrow) { + throw new AssertionError( + `Expected function to reject${msgSuffix}`, + ); + } + return err; +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/strict_equals.ts b/vendor/jsr.io/@std/assert/1.0.10/strict_equals.ts new file mode 100644 index 0000000..fb530ce --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/strict_equals.ts @@ -0,0 +1,67 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { buildMessage } from "jsr:@std/internal@^1.0.5/build-message"; +import { diff } from "jsr:@std/internal@^1.0.5/diff"; +import { diffStr } from "jsr:@std/internal@^1.0.5/diff-str"; +import { format } from "jsr:@std/internal@^1.0.5/format"; +import { red } from "jsr:@std/internal@^1.0.5/styles"; +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion that `actual` and `expected` are strictly equal, using + * {@linkcode Object.is} for equality comparison. If not, then throw. + * + * @example Usage + * ```ts ignore + * import { assertStrictEquals } from "@std/assert"; + * + * const a = {}; + * const b = a; + * assertStrictEquals(a, b); // Doesn't throw + * + * const c = {}; + * const d = {}; + * assertStrictEquals(c, d); // Throws + * ``` + * + * @typeParam T The type of the expected value. + * @param actual The actual value to compare. + * @param expected The expected value to compare. + * @param msg The optional message to display if the assertion fails. + */ +export function assertStrictEquals( + actual: unknown, + expected: T, + msg?: string, +): asserts actual is T { + if (Object.is(actual, expected)) { + return; + } + + const msgSuffix = msg ? `: ${msg}` : "."; + let message: string; + + const actualString = format(actual); + const expectedString = format(expected); + + if (actualString === expectedString) { + const withOffset = actualString + .split("\n") + .map((l) => ` ${l}`) + .join("\n"); + message = + `Values have the same structure but are not reference-equal${msgSuffix}\n\n${ + red(withOffset) + }\n`; + } else { + const stringDiff = (typeof actual === "string") && + (typeof expected === "string"); + const diffResult = stringDiff + ? diffStr(actual as string, expected as string) + : diff(actualString.split("\n"), expectedString.split("\n")); + const diffMsg = buildMessage(diffResult, { stringDiff }).join("\n"); + message = `Values are not strictly equal${msgSuffix}\n${diffMsg}`; + } + + throw new AssertionError(message); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/string_includes.ts b/vendor/jsr.io/@std/assert/1.0.10/string_includes.ts new file mode 100644 index 0000000..cbdb6a7 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/string_includes.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; + +/** + * Make an assertion that actual includes expected. If not + * then throw. + * + * @example Usage + * ```ts ignore + * import { assertStringIncludes } from "@std/assert"; + * + * assertStringIncludes("Hello", "ello"); // Doesn't throw + * assertStringIncludes("Hello", "world"); // Throws + * ``` + * + * @param actual The actual string to check for inclusion. + * @param expected The expected string to check for inclusion. + * @param msg The optional message to display if the assertion fails. + */ +export function assertStringIncludes( + actual: string, + expected: string, + msg?: string, +) { + if (actual.includes(expected)) return; + const msgSuffix = msg ? `: ${msg}` : "."; + msg = `Expected actual: "${actual}" to contain: "${expected}"${msgSuffix}`; + throw new AssertionError(msg); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/throws.ts b/vendor/jsr.io/@std/assert/1.0.10/throws.ts new file mode 100644 index 0000000..b044d57 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/throws.ts @@ -0,0 +1,111 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { assertIsError } from "./is_error.ts"; +import { AssertionError } from "./assertion_error.ts"; + +/** + * Executes a function, expecting it to throw. If it does not, then it + * throws. + * + * To assert that an asynchronous function rejects, use + * {@linkcode assertRejects}. + * + * @example Usage + * ```ts ignore + * import { assertThrows } from "@std/assert"; + * + * assertThrows(() => { throw new TypeError("hello world!"); }); // Doesn't throw + * assertThrows(() => console.log("hello world!")); // Throws + * ``` + * + * @param fn The function to execute. + * @param msg The optional message to display if the assertion fails. + * @returns The error that was thrown. + */ +export function assertThrows( + fn: () => unknown, + msg?: string, +): unknown; +/** + * Executes a function, expecting it to throw. If it does not, then it + * throws. An error class and a string that should be included in the + * error message can also be asserted. + * + * To assert that an asynchronous function rejects, use + * {@linkcode assertRejects}. + * + * @example Usage + * ```ts ignore + * import { assertThrows } from "@std/assert"; + * + * assertThrows(() => { throw new TypeError("hello world!"); }, TypeError); // Doesn't throw + * assertThrows(() => { throw new TypeError("hello world!"); }, RangeError); // Throws + * ``` + * + * @typeParam E The error class to assert. + * @param fn The function to execute. + * @param ErrorClass The error class to assert. + * @param msgIncludes The string that should be included in the error message. + * @param msg The optional message to display if the assertion fails. + * @returns The error that was thrown. + */ +export function assertThrows( + fn: () => unknown, + // deno-lint-ignore no-explicit-any + ErrorClass: abstract new (...args: any[]) => E, + msgIncludes?: string, + msg?: string, +): E; +export function assertThrows( + fn: () => unknown, + errorClassOrMsg?: + // deno-lint-ignore no-explicit-any + | (abstract new (...args: any[]) => E) + | string, + msgIncludesOrMsg?: string, + msg?: string, +): E | Error | unknown { + // deno-lint-ignore no-explicit-any + let ErrorClass: (abstract new (...args: any[]) => E) | undefined; + let msgIncludes: string | undefined; + let err; + + if (typeof errorClassOrMsg !== "string") { + if ( + errorClassOrMsg === undefined || + errorClassOrMsg?.prototype instanceof Error || + errorClassOrMsg?.prototype === Error.prototype + ) { + ErrorClass = errorClassOrMsg; + msgIncludes = msgIncludesOrMsg; + } else { + msg = msgIncludesOrMsg; + } + } else { + msg = errorClassOrMsg; + } + let doesThrow = false; + const msgSuffix = msg ? `: ${msg}` : "."; + try { + fn(); + } catch (error) { + if (ErrorClass) { + if (error instanceof Error === false) { + throw new AssertionError(`A non-Error object was thrown${msgSuffix}`); + } + assertIsError( + error, + ErrorClass, + msgIncludes, + msg, + ); + } + err = error; + doesThrow = true; + } + if (!doesThrow) { + msg = `Expected function to throw${msgSuffix}`; + throw new AssertionError(msg); + } + return err; +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/unimplemented.ts b/vendor/jsr.io/@std/assert/1.0.10/unimplemented.ts new file mode 100644 index 0000000..c1b6f18 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/unimplemented.ts @@ -0,0 +1,21 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; + +/** + * Use this to stub out methods that will throw when invoked. + * + * @example Usage + * ```ts ignore + * import { unimplemented } from "@std/assert"; + * + * unimplemented(); // Throws + * ``` + * + * @param msg Optional message to include in the error. + * @returns Never returns, always throws. + */ +export function unimplemented(msg?: string): never { + const msgSuffix = msg ? `: ${msg}` : "."; + throw new AssertionError(`Unimplemented${msgSuffix}`); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/unreachable.ts b/vendor/jsr.io/@std/assert/1.0.10/unreachable.ts new file mode 100644 index 0000000..aab6f05 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/unreachable.ts @@ -0,0 +1,21 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { AssertionError } from "./assertion_error.ts"; + +/** + * Use this to assert unreachable code. + * + * @example Usage + * ```ts ignore + * import { unreachable } from "@std/assert"; + * + * unreachable(); // Throws + * ``` + * + * @param msg Optional message to include in the error. + * @returns Never returns, always throws. + */ +export function unreachable(msg?: string): never { + const msgSuffix = msg ? `: ${msg}` : "."; + throw new AssertionError(`Unreachable${msgSuffix}`); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10/unstable_never.ts b/vendor/jsr.io/@std/assert/1.0.10/unstable_never.ts new file mode 100644 index 0000000..5e326d7 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10/unstable_never.ts @@ -0,0 +1,101 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { format } from "jsr:@std/internal@^1.0.5/format"; +import { AssertionError } from "./assertion_error.ts"; + +/*! + * Ported and modified from: https://github.com/microsoft/TypeScript-Website/blob/v2/packages/documentation/copy/en/handbook-v1/Unions%20and%20Intersections.md#union-exhaustiveness-checking + * licensed as: + * + * The MIT License (MIT) + * Copyright (c) Microsoft Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + * associated documentation files (the "Software"), to deal in the Software without restriction, + * including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial + * portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT + * NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * Make an assertion that `x` is of type `never`. + * If not then throw. + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + * + * @example Exhaustivenss check + * ```ts + * import { assertNever } from "@std/assert/unstable-never"; + * + * type Kinds = "A" | "B"; + * + * function handleKind(kind: Kinds) { + * switch (kind) { + * case "A": + * doA(); + * break; + * case "B": + * doB(); + * break; + * default: + * assertNever(kind); + * } + * } + * + * function doA() { + * // ... + * } + * + * function doB() { + * // ... + * } + * ``` + * + * @example Compile-time error when there is a missing case + * ```ts expect-error ignore + * import { assertNever } from "@std/assert/unstable-never"; + * + * type Kinds = "A" | "B" | "C"; + * + * function handleKind(kind: Kinds) { + * switch (kind) { + * case "A": + * doA(); + * break; + * case "B": + * doB(); + * break; + * default: + * // Type error since "C" is not handled + * assertNever(kind); + * } + * } + * + * function doA() { + * // ... + * } + * + * function doB() { + * // ... + * } + * ``` + * + * @param x The value to be checked as never + * @param msg The optional message to display if the assertion fails. + * @returns Never returns, always throws. + * @throws {AssertionError} + */ +export function assertNever(x: never, msg?: string): never { + throw new AssertionError( + msg ?? `Expect ${format(x)} to be of type never`, + ); +} diff --git a/vendor/jsr.io/@std/assert/1.0.10_meta.json b/vendor/jsr.io/@std/assert/1.0.10_meta.json new file mode 100644 index 0000000..9af6e30 --- /dev/null +++ b/vendor/jsr.io/@std/assert/1.0.10_meta.json @@ -0,0 +1,1523 @@ +{ + "manifest": { + "/string_includes.ts": { + "size": 954, + "checksum": "sha256-1ae15192f035f87c1ba57b6c1117eea3550368e5cfbc3e0c774015d2b2a53487" + }, + "/strict_equals.ts": { + "size": 2140, + "checksum": "sha256-8610b58c099d30af9b096bde91cd1f7ec1cb8dd8a782647757929f0ab1d752ae" + }, + "/is_error_test.ts": { + "size": 2478, + "checksum": "sha256-a6005aef60f86769a3667eba6014f3eaac7f85c3c092a01e44d2c448c9c7437d" + }, + "/unstable_never.ts": { + "size": 3032, + "checksum": "sha256-2767db0111f88b2c474b1c1c113d476bc79b7328de7ef5295023d0dcf5ba51a7" + }, + "/deno.json": { + "size": 1183, + "checksum": "sha256-9d483608b1581d40e4a4a5cf858c410653e6e6aa341dfa9aaba52daffd833d44" + }, + "/instance_of.ts": { + "size": 2017, + "checksum": "sha256-75326cc6d2f5dd569c6601c7ba7b21a9c0669b69a9b12b4cb8e66b60ce2c12ef" + }, + "/rejects.ts": { + "size": 3788, + "checksum": "sha256-cbc4e32d920ed99ab660f493232ff8a4e304cd906cd85c0b99db9a297faadec2" + }, + "/instance_of_test.ts": { + "size": 3901, + "checksum": "sha256-5c87a575e12bb1504a0c85ccd8b20ea11eea901f9e552b5c1a616f8227034789" + }, + "/assertion_error.ts": { + "size": 842, + "checksum": "sha256-95856e579d55629205f886356bd53c20a4f8ab5faef1c112c1ef3ba9d344ad86" + }, + "/array_includes.ts": { + "size": 1743, + "checksum": "sha256-a5b98e4936196b07c2d6f3e533247500c8cf9d29c5847524973e48a452cb0985" + }, + "/false.ts": { + "size": 776, + "checksum": "sha256-565e2a4974f8d8b1448d857ce7f3b432eded50a909eb323aa4525b6dbab80d99" + }, + "/mod.ts": { + "size": 1480, + "checksum": "sha256-0a638715cadc6fa11ff61fd7ab8720c0f0a3fb940588ec90431e010ee32f16db" + }, + "/not_equals.ts": { + "size": 1222, + "checksum": "sha256-1da0c0d0b0e98079cff7a1e81ca589c09f4f1e3b06ce49c26c6c3d4c9494a9cf" + }, + "/less.ts": { + "size": 967, + "checksum": "sha256-414c64096441bfa2ed51d707c9f6e64bdbc23d5240d2b8c99dc6df849725954c" + }, + "/less_test.ts": { + "size": 270, + "checksum": "sha256-ef0c889519b9fc5949035274f54746e573597466902d1fc0b1ba665ac7a19681" + }, + "/not_instance_of_test.ts": { + "size": 1062, + "checksum": "sha256-cadf569d8e73b4f812df87e92cdf4447ff112bb269fe98c1aa8aecd4f69b4a22" + }, + "/assertion_error_test.ts": { + "size": 391, + "checksum": "sha256-661ba35ed3e6b3033a26e6b083042681158448b9ca2884ea618cc1ffdf0e768b" + }, + "/not_strict_equals_test.ts": { + "size": 815, + "checksum": "sha256-153484670e0d06f9fa51d416921cb768871f135806714b316e7ef636fa5cd2d3" + }, + "/almost_equals.ts": { + "size": 1936, + "checksum": "sha256-868c02e8fbcf209dbc416cfb031e234686c8f4ae038862fcc10d95d1d357d9df" + }, + "/not_strict_equals.ts": { + "size": 1244, + "checksum": "sha256-4f5ef508d35082f9aec305ca44d550550a23df11af7b2b789df4e92e88f01c06" + }, + "/fail_test.ts": { + "size": 348, + "checksum": "sha256-fbea772ad5e6bdd14fc1bbb1179f3c1cc868ad367dc3067bcd195c89b0dee4c1" + }, + "/throws_test.ts": { + "size": 3625, + "checksum": "sha256-48c0b5c88214517922fbb3b5516569983462c54342ef1426841228c2df651619" + }, + "/unreachable_test.ts": { + "size": 371, + "checksum": "sha256-2ed0b3e75437a4032c365989a41aa56371141aad131478ef7dde0dd4146f6051" + }, + "/equal_test.ts": { + "size": 14073, + "checksum": "sha256-f4934427c5242bd360efac73b3e5e0808e92c4ee18522c8594078fd08fd749fe" + }, + "/less_or_equal.ts": { + "size": 1072, + "checksum": "sha256-3cf61d45889aeefeba8f37f04f9dbaa5a0ec40febe2371c8c045e6e031d154a4" + }, + "/rejects_test.ts": { + "size": 3608, + "checksum": "sha256-6d415742b596d933c860521759b4577e3b853d2ebb27a2f324f107bdd97e1c2c" + }, + "/object_match_test.ts": { + "size": 10757, + "checksum": "sha256-d1bb50e4a20198f6a9f58da99170d5452f8e736432041b116ca0fe6373fdf2a1" + }, + "/array_includes_test.ts": { + "size": 1995, + "checksum": "sha256-04ecffd0c448c4647c8482eafb3d312be61051475ccf968da0e1e67cb217c3f7" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/exists.ts": { + "size": 937, + "checksum": "sha256-5c60be3b98672c90b6f2414c3f6dd683c45efd46f406501017ae1129f5bec7a1" + }, + "/less_or_equal_test.ts": { + "size": 283, + "checksum": "sha256-e517017ff0fe2d44b4d92db930e8c439dcc80b3199835da0179943b3b357015c" + }, + "/unstable_never_test.ts": { + "size": 715, + "checksum": "sha256-ddfc538b4c0e61319bb8d4163a30876f48a7b771b781023571c7125cb219ccfb" + }, + "/greater_or_equal.ts": { + "size": 1090, + "checksum": "sha256-852930f78ec16572168bb141ec724d5c6adaa0f636521f87b31d36724ba17da5" + }, + "/throws.ts": { + "size": 3272, + "checksum": "sha256-2551d301acbb2fecbb6ac749a36b5549325eada6f29cee56f4f1a432296fe7ef" + }, + "/unreachable.ts": { + "size": 591, + "checksum": "sha256-daa76cc23377d1b267075cdabb0c5f11a034e737b187f2bdb705c0f3e87b2382" + }, + "/greater_or_equal_test.ts": { + "size": 470, + "checksum": "sha256-29c0a3c1bb20436e37e332910c0e24e2c40d21d14af05d3304d3203cffc4993c" + }, + "/greater.ts": { + "size": 1016, + "checksum": "sha256-71b9acc08903b8a0cf52b281bc3fd0542d8f434dcea56bdf63e644d152aa18f0" + }, + "/assert.ts": { + "size": 680, + "checksum": "sha256-be1fe368187a25f49c177d19b16a67d30969e0455a765910655ab7fbb8eaed31" + }, + "/exists_test.ts": { + "size": 1128, + "checksum": "sha256-33ad6fafab5bc914a279f45a180afec82a7c577f527a43a42a74f4194b66dcdc" + }, + "/equals_test.ts": { + "size": 4929, + "checksum": "sha256-72aa19e59839406fa9f01d001f464249067ddc7c0b8fea5a87292b8f211d8200" + }, + "/fail.ts": { + "size": 598, + "checksum": "sha256-8bf3a6b11832be29f859258ee0206ae327ae3a6f4da2ddfe029174c761a978e4" + }, + "/not_equals_test.ts": { + "size": 1099, + "checksum": "sha256-7ddf9202052b59c36abb4250d4ca3bc8717015da47a786a939eb4a6275ff9895" + }, + "/not_match_test.ts": { + "size": 827, + "checksum": "sha256-70425d1a2571b929965d1d163e4093cee06f00af4d27d0133f24382060aad008" + }, + "/unimplemented.ts": { + "size": 621, + "checksum": "sha256-679e70c4b9d599d7b4ba12ff94a10fa079b52fb3f372ce4c5ef15247d467cd8f" + }, + "/greater_test.ts": { + "size": 467, + "checksum": "sha256-afffc474cc2e45536905449c7986c1bff504d2ae6f815f77dab71728caa36cd9" + }, + "/equals.ts": { + "size": 2197, + "checksum": "sha256-ab5d644274ecaf586d8477310536a816a7da7e93f14be0bf35a29051c67336e7" + }, + "/almost_equals_test.ts": { + "size": 2457, + "checksum": "sha256-6fdb999ce912ffcb403d5b811eceb82c5bbdba1de5776c6a02dc2ea40179ce0b" + }, + "/assert_test.ts": { + "size": 404, + "checksum": "sha256-fb080efe14856407f0f13bb39f3c8b83d1a9102fb6b798b6829144f6ccf03ca6" + }, + "/not_match.ts": { + "size": 926, + "checksum": "sha256-8d4883eb536910473c098145e02dab9cb608e0785b81a3c938fc92f99b27644b" + }, + "/false_test.ts": { + "size": 564, + "checksum": "sha256-b095fa0fe0a0d25d7039dbc05df32b8753ae39c464faf4c954a45181843936f1" + }, + "/string_includes_test.ts": { + "size": 1148, + "checksum": "sha256-d0e6b32a89ecad6418e34398266608487576b1a8ff23147dc73f5b0aeb1d1887" + }, + "/strict_equals_test.ts": { + "size": 1887, + "checksum": "sha256-63c660c5371397faec6d074e65d9982941d7526e51bbf002fce0944d37daf185" + }, + "/match.ts": { + "size": 906, + "checksum": "sha256-2a01781be327626dd884357262db53c39b5e59e963d4ef44fdf89930d40149c4" + }, + "/equal.ts": { + "size": 5970, + "checksum": "sha256-a4a7b09cbc6e573a705d1e353fa0af4a97a8d5d49ecf6e5ef74d4c2bb7f15e31" + }, + "/is_error.ts": { + "size": 2365, + "checksum": "sha256-f4e3611f0c56bf637105e8548362875b84a3db1e89931cddbe158b4bb2cfa420" + }, + "/match_test.ts": { + "size": 836, + "checksum": "sha256-0cbd9e897cb4637640b43d22f903834ad280af32e3e93c7a4c6637f11c28307c" + }, + "/object_match.ts": { + "size": 6501, + "checksum": "sha256-ca108460dcef207e1dd67a4e6a5a7f13fd576a155daa9da1f1f1d3066510074f" + }, + "/not_instance_of.ts": { + "size": 1139, + "checksum": "sha256-79d23964d158a3ca32ec91722134bad12a737a49ca573b4ff62db5776dc9a309" + }, + "/unimplemented_test.ts": { + "size": 471, + "checksum": "sha256-c4927ca16244e7168be655e1bf4b37fba7397432abe5c86171587217eb681f59" + } + }, + "moduleGraph2": { + "/unimplemented.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/not_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./equal.ts", + "specifierRange": [ + [ + 3, + 22 + ], + [ + 3, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 4, + 31 + ], + [ + 4, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/format", + "specifierRange": [ + [ + 5, + 23 + ], + [ + 5, + 56 + ] + ] + } + ] + }, + "/exists.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/greater_or_equal.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/format", + "specifierRange": [ + [ + 2, + 23 + ], + [ + 2, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 53 + ] + ] + } + ] + }, + "/throws.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./is_error.ts", + "specifierRange": [ + [ + 2, + 30 + ], + [ + 2, + 45 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 53 + ] + ] + } + ] + }, + "/unreachable.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/unstable_never.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/format", + "specifierRange": [ + [ + 2, + 23 + ], + [ + 2, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 53 + ] + ] + } + ] + }, + "/assertion_error.ts": {}, + "/array_includes.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./equal.ts", + "specifierRange": [ + [ + 2, + 22 + ], + [ + 2, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/format", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 4, + 31 + ], + [ + 4, + 53 + ] + ] + } + ] + }, + "/less_or_equal.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/format", + "specifierRange": [ + [ + 2, + 23 + ], + [ + 2, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 53 + ] + ] + } + ] + }, + "/equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./equal.ts", + "specifierRange": [ + [ + 2, + 22 + ], + [ + 2, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/build-message", + "specifierRange": [ + [ + 3, + 29 + ], + [ + 3, + 69 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/diff", + "specifierRange": [ + [ + 4, + 21 + ], + [ + 4, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/diff-str", + "specifierRange": [ + [ + 5, + 24 + ], + [ + 5, + 59 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/format", + "specifierRange": [ + [ + 6, + 23 + ], + [ + 6, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 8, + 31 + ], + [ + 8, + 53 + ] + ] + } + ] + }, + "/false.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/almost_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/assert.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/rejects.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./is_error.ts", + "specifierRange": [ + [ + 3, + 30 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/greater.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/format", + "specifierRange": [ + [ + 2, + 23 + ], + [ + 2, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 53 + ] + ] + } + ] + }, + "/strict_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/build-message", + "specifierRange": [ + [ + 2, + 29 + ], + [ + 2, + 69 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/diff", + "specifierRange": [ + [ + 3, + 21 + ], + [ + 3, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/diff-str", + "specifierRange": [ + [ + 4, + 24 + ], + [ + 4, + 59 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/format", + "specifierRange": [ + [ + 5, + 23 + ], + [ + 5, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/styles", + "specifierRange": [ + [ + 6, + 20 + ], + [ + 6, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 7, + 31 + ], + [ + 7, + 53 + ] + ] + } + ] + }, + "/not_instance_of.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./false.ts", + "specifierRange": [ + [ + 2, + 28 + ], + [ + 2, + 40 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./almost_equals.ts", + "specifierRange": [ + [ + 20, + 14 + ], + [ + 20, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./array_includes.ts", + "specifierRange": [ + [ + 21, + 14 + ], + [ + 21, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./equals.ts", + "specifierRange": [ + [ + 22, + 14 + ], + [ + 22, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./exists.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./false.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./greater_or_equal.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 37 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./greater.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./instance_of.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_error.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./less_or_equal.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./less.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./match.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./not_equals.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./not_instance_of.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./not_match.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./not_strict_equals.ts", + "specifierRange": [ + [ + 35, + 14 + ], + [ + 35, + 38 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./object_match.ts", + "specifierRange": [ + [ + 36, + 14 + ], + [ + 36, + 33 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./rejects.ts", + "specifierRange": [ + [ + 37, + 14 + ], + [ + 37, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./strict_equals.ts", + "specifierRange": [ + [ + 38, + 14 + ], + [ + 38, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./string_includes.ts", + "specifierRange": [ + [ + 39, + 14 + ], + [ + 39, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./throws.ts", + "specifierRange": [ + [ + 40, + 14 + ], + [ + 40, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assert.ts", + "specifierRange": [ + [ + 41, + 14 + ], + [ + 41, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 42, + 14 + ], + [ + 42, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./equal.ts", + "specifierRange": [ + [ + 43, + 14 + ], + [ + 43, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./fail.ts", + "specifierRange": [ + [ + 44, + 14 + ], + [ + 44, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./unimplemented.ts", + "specifierRange": [ + [ + 45, + 14 + ], + [ + 45, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./unreachable.ts", + "specifierRange": [ + [ + 46, + 14 + ], + [ + 46, + 32 + ] + ] + } + ] + }, + "/match.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/not_strict_equals.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/format", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 56 + ] + ] + } + ] + }, + "/string_includes.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/fail.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/instance_of.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/equal.ts": {}, + "/is_error.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/styles", + "specifierRange": [ + [ + 3, + 30 + ], + [ + 3, + 63 + ] + ] + } + ] + }, + "/not_match.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + } + ] + }, + "/object_match.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./equals.ts", + "specifierRange": [ + [ + 2, + 29 + ], + [ + 2, + 42 + ] + ] + } + ] + }, + "/less.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/internal@^1.0.5/format", + "specifierRange": [ + [ + 2, + 23 + ], + [ + 2, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./assertion_error.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 53 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./assert": "./assert.ts", + "./almost-equals": "./almost_equals.ts", + "./array-includes": "./array_includes.ts", + "./equals": "./equals.ts", + "./exists": "./exists.ts", + "./false": "./false.ts", + "./greater": "./greater.ts", + "./greater-or-equal": "./greater_or_equal.ts", + "./instance-of": "./instance_of.ts", + "./is-error": "./is_error.ts", + "./less": "./less.ts", + "./less-or-equal": "./less_or_equal.ts", + "./match": "./match.ts", + "./unstable-never": "./unstable_never.ts", + "./not-equals": "./not_equals.ts", + "./not-instance-of": "./not_instance_of.ts", + "./not-match": "./not_match.ts", + "./not-strict-equals": "./not_strict_equals.ts", + "./object-match": "./object_match.ts", + "./rejects": "./rejects.ts", + "./strict-equals": "./strict_equals.ts", + "./string-includes": "./string_includes.ts", + "./throws": "./throws.ts", + "./assertion-error": "./assertion_error.ts", + "./equal": "./equal.ts", + "./fail": "./fail.ts", + "./unimplemented": "./unimplemented.ts", + "./unreachable": "./unreachable.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/assert/meta.json b/vendor/jsr.io/@std/assert/meta.json new file mode 100644 index 0000000..dd8cd4c --- /dev/null +++ b/vendor/jsr.io/@std/assert/meta.json @@ -0,0 +1,62 @@ +{ + "scope": "std", + "name": "assert", + "latest": "1.0.10", + "versions": { + "0.210.0": {}, + "0.197.0": {}, + "0.215.0": {}, + "0.214.0": {}, + "0.208.0": {}, + "1.0.0-rc.1": {}, + "0.211.0": {}, + "0.196.0": {}, + "0.218.2": {}, + "0.225.2": {}, + "1.0.2": {}, + "0.213.1": {}, + "0.209.0": {}, + "0.198.0": {}, + "1.0.10": {}, + "1.0.6": {}, + "0.216.0": {}, + "0.207.0": {}, + "0.206.0": {}, + "0.223.0": {}, + "0.219.0": {}, + "0.205.0": {}, + "0.224.0": {}, + "0.222.0": {}, + "0.225.1": {}, + "0.212.0": {}, + "0.200.0": {}, + "0.217.0": {}, + "0.218.1": {}, + "0.203.0": {}, + "0.199.0": {}, + "0.226.0": {}, + "1.0.8": {}, + "1.0.7": {}, + "1.0.0-rc.2": {}, + "0.204.0": {}, + "0.201.0": {}, + "0.219.1": {}, + "1.0.5": {}, + "0.213.0": {}, + "0.220.1": {}, + "0.202.0": {}, + "1.0.1": {}, + "0.225.0": { + "yanked": true + }, + "1.0.9": {}, + "1.0.4": {}, + "1.0.3": {}, + "1.0.0": {}, + "1.0.0-rc.3": {}, + "0.218.0": {}, + "0.222.1": {}, + "0.225.3": {}, + "0.221.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/bytes/1.0.4/concat.ts b/vendor/jsr.io/@std/bytes/1.0.4/concat.ts new file mode 100644 index 0000000..5b43cdf --- /dev/null +++ b/vendor/jsr.io/@std/bytes/1.0.4/concat.ts @@ -0,0 +1,34 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Concatenate an array of byte slices into a single slice. + * + * @param buffers Array of byte slices to concatenate. + * @returns A new byte slice containing all the input slices concatenated. + * + * @example Basic usage + * ```ts + * import { concat } from "@std/bytes/concat"; + * import { assertEquals } from "@std/assert"; + * + * const a = new Uint8Array([0, 1, 2]); + * const b = new Uint8Array([3, 4, 5]); + * + * assertEquals(concat([a, b]), new Uint8Array([0, 1, 2, 3, 4, 5])); + * ``` + */ +export function concat(buffers: Uint8Array[]): Uint8Array { + let length = 0; + for (const buffer of buffers) { + length += buffer.length; + } + const output = new Uint8Array(length); + let index = 0; + for (const buffer of buffers) { + output.set(buffer, index); + index += buffer.length; + } + + return output; +} diff --git a/vendor/jsr.io/@std/bytes/1.0.4/copy.ts b/vendor/jsr.io/@std/bytes/1.0.4/copy.ts new file mode 100644 index 0000000..027370e --- /dev/null +++ b/vendor/jsr.io/@std/bytes/1.0.4/copy.ts @@ -0,0 +1,51 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Copy bytes from the source array to the destination array and returns the + * number of bytes copied. + * + * If the source array is larger than what the `dst` array can hold, only the + * amount of bytes that fit in the `dst` array are copied. + * + * @param src Source array to copy from. + * @param dst Destination array to copy to. + * @param offset Offset in the destination array to start copying to. Defaults + * to 0. + * @returns Number of bytes copied. + * + * @example Basic usage + * ```ts + * import { copy } from "@std/bytes/copy"; + * import { assertEquals } from "@std/assert"; + * + * const src = new Uint8Array([9, 8, 7]); + * const dst = new Uint8Array([0, 1, 2, 3, 4, 5]); + * + * assertEquals(copy(src, dst), 3); + * assertEquals(dst, new Uint8Array([9, 8, 7, 3, 4, 5])); + * ``` + * + * @example Copy with offset + * ```ts + * import { copy } from "@std/bytes/copy"; + * import { assertEquals } from "@std/assert"; + * + * const src = new Uint8Array([1, 1, 1, 1]); + * const dst = new Uint8Array([0, 0, 0, 0]); + * + * assertEquals(copy(src, dst, 1), 3); + * assertEquals(dst, new Uint8Array([0, 1, 1, 1])); + * ``` + * Defining an offset will start copying at the specified index in the + * destination array. + */ +export function copy(src: Uint8Array, dst: Uint8Array, offset = 0): number { + offset = Math.max(0, Math.min(offset, dst.byteLength)); + const dstBytesAvailable = dst.byteLength - offset; + if (src.byteLength > dstBytesAvailable) { + src = src.subarray(0, dstBytesAvailable); + } + dst.set(src, offset); + return src.byteLength; +} diff --git a/vendor/jsr.io/@std/bytes/1.0.4/ends_with.ts b/vendor/jsr.io/@std/bytes/1.0.4/ends_with.ts new file mode 100644 index 0000000..8627688 --- /dev/null +++ b/vendor/jsr.io/@std/bytes/1.0.4/ends_with.ts @@ -0,0 +1,37 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Returns `true` if the suffix array appears at the end of the source array, + * `false` otherwise. + * + * The complexity of this function is `O(suffix.length)`. + * + * @param source Source array to check. + * @param suffix Suffix array to check for. + * @returns `true` if the suffix array appears at the end of the source array, + * `false` otherwise. + * + * @example Basic usage + * ```ts + * import { endsWith } from "@std/bytes/ends-with"; + * import { assertEquals } from "@std/assert"; + * + * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]); + * const suffix = new Uint8Array([1, 2, 3]); + * + * assertEquals(endsWith(source, suffix), true); + * ``` + */ +export function endsWith(source: Uint8Array, suffix: Uint8Array): boolean { + const diff = source.length - suffix.length; + if (diff < 0) { + return false; + } + for (let i = suffix.length - 1; i >= 0; i--) { + if (source[diff + i] !== suffix[i]) { + return false; + } + } + return true; +} diff --git a/vendor/jsr.io/@std/bytes/1.0.4/equals.ts b/vendor/jsr.io/@std/bytes/1.0.4/equals.ts new file mode 100644 index 0000000..00048be --- /dev/null +++ b/vendor/jsr.io/@std/bytes/1.0.4/equals.ts @@ -0,0 +1,90 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Check whether byte slices are equal to each other using 8-bit comparisons. + * + * @param a First array to check equality + * @param b Second array to check equality + * @returns `true` if the arrays are equal, `false` otherwise + * + * @private + */ +function equalsNaive(a: Uint8Array, b: Uint8Array): boolean { + for (let i = 0; i < b.length; i++) { + if (a[i] !== b[i]) return false; + } + return true; +} + +/** Check whether byte slices are equal to each other using 32-bit comparisons. + * + * @param a First array to check equality. + * @param b Second array to check equality. + * @returns `true` if the arrays are equal, `false` otherwise. + * + * @private + */ +function equals32Bit(a: Uint8Array, b: Uint8Array): boolean { + const len = a.length; + const compactOffset = 3 - ((a.byteOffset + 3) % 4); + const compactLen = Math.floor((len - compactOffset) / 4); + const compactA = new Uint32Array( + a.buffer, + a.byteOffset + compactOffset, + compactLen, + ); + const compactB = new Uint32Array( + b.buffer, + b.byteOffset + compactOffset, + compactLen, + ); + for (let i = 0; i < compactOffset; i++) { + if (a[i] !== b[i]) return false; + } + for (let i = 0; i < compactA.length; i++) { + if (compactA[i] !== compactB[i]) return false; + } + for (let i = compactOffset + compactLen * 4; i < len; i++) { + if (a[i] !== b[i]) return false; + } + return true; +} + +/** + * Byte length threshold for when to use 32-bit comparisons, based on + * benchmarks. + * + * @see {@link https://github.com/denoland/deno_std/pull/4635} + */ +const THRESHOLD_32_BIT = 160; + +/** + * Check whether byte slices are equal to each other. + * + * @param a First array to check equality. + * @param b Second array to check equality. + * @returns `true` if the arrays are equal, `false` otherwise. + * + * @example Basic usage + * ```ts + * import { equals } from "@std/bytes/equals"; + * import { assertEquals } from "@std/assert"; + * + * const a = new Uint8Array([1, 2, 3]); + * const b = new Uint8Array([1, 2, 3]); + * const c = new Uint8Array([4, 5, 6]); + * + * assertEquals(equals(a, b), true); + * assertEquals(equals(a, c), false); + * ``` + */ +export function equals(a: Uint8Array, b: Uint8Array): boolean { + if (a.length !== b.length) { + return false; + } + return a.length >= THRESHOLD_32_BIT && + (a.byteOffset % 4) === (b.byteOffset % 4) + ? equals32Bit(a, b) + : equalsNaive(a, b); +} diff --git a/vendor/jsr.io/@std/bytes/1.0.4/includes_needle.ts b/vendor/jsr.io/@std/bytes/1.0.4/includes_needle.ts new file mode 100644 index 0000000..c903336 --- /dev/null +++ b/vendor/jsr.io/@std/bytes/1.0.4/includes_needle.ts @@ -0,0 +1,48 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { indexOfNeedle } from "./index_of_needle.ts"; + +/** + * Determines whether the source array contains the needle array. + * + * The complexity of this function is `O(source.length * needle.length)`. + * + * @param source Source array to check. + * @param needle Needle array to check for. + * @param start Start index in the source array to begin the search. Defaults to + * 0. + * @returns `true` if the source array contains the needle array, `false` + * otherwise. + * + * @example Basic usage + * ```ts + * import { includesNeedle } from "@std/bytes/includes-needle"; + * import { assertEquals } from "@std/assert"; + * + * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]); + * const needle = new Uint8Array([1, 2]); + * + * assertEquals(includesNeedle(source, needle), true); + * ``` + * + * @example Start index + * ```ts + * import { includesNeedle } from "@std/bytes/includes-needle"; + * import { assertEquals } from "@std/assert"; + * + * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]); + * const needle = new Uint8Array([1, 2]); + * + * assertEquals(includesNeedle(source, needle, 3), true); + * assertEquals(includesNeedle(source, needle, 6), false); + * ``` + * The search will start at the specified index in the source array. + */ +export function includesNeedle( + source: Uint8Array, + needle: Uint8Array, + start = 0, +): boolean { + return indexOfNeedle(source, needle, start) !== -1; +} diff --git a/vendor/jsr.io/@std/bytes/1.0.4/index_of_needle.ts b/vendor/jsr.io/@std/bytes/1.0.4/index_of_needle.ts new file mode 100644 index 0000000..f677082 --- /dev/null +++ b/vendor/jsr.io/@std/bytes/1.0.4/index_of_needle.ts @@ -0,0 +1,72 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Returns the index of the first occurrence of the needle array in the source + * array, or -1 if it is not present. + * + * A start index can be specified as the third argument that begins the search + * at that given index. The start index defaults to the start of the array. + * + * The complexity of this function is `O(source.length * needle.length)`. + * + * @param source Source array to check. + * @param needle Needle array to check for. + * @param start Start index in the source array to begin the search. Defaults to + * 0. + * @returns Index of the first occurrence of the needle array in the source + * array, or -1 if it is not present. + * + * @example Basic usage + * ```ts + * import { indexOfNeedle } from "@std/bytes/index-of-needle"; + * import { assertEquals } from "@std/assert"; + * + * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]); + * const needle = new Uint8Array([1, 2]); + * const notNeedle = new Uint8Array([5, 0]); + * + * assertEquals(indexOfNeedle(source, needle), 1); + * assertEquals(indexOfNeedle(source, notNeedle), -1); + * ``` + * + * @example Start index + * ```ts + * import { indexOfNeedle } from "@std/bytes/index-of-needle"; + * import { assertEquals } from "@std/assert"; + * + * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]); + * const needle = new Uint8Array([1, 2]); + * + * assertEquals(indexOfNeedle(source, needle, 2), 3); + * assertEquals(indexOfNeedle(source, needle, 6), -1); + * ``` + * Defining a start index will begin the search at the specified index in the + * source array. + */ +export function indexOfNeedle( + source: Uint8Array, + needle: Uint8Array, + start = 0, +): number { + if (start < 0) { + start = Math.max(0, source.length + start); + } + if (needle.length > source.length - start) { + return -1; + } + const s = needle[0]; + for (let i = start; i < source.length; i++) { + if (source[i] !== s) continue; + let matched = 1; + let j = i + 1; + while (matched < needle.length && source[j] === needle[j - i]) { + matched++; + j++; + } + if (matched === needle.length) { + return i; + } + } + return -1; +} diff --git a/vendor/jsr.io/@std/bytes/1.0.4/last_index_of_needle.ts b/vendor/jsr.io/@std/bytes/1.0.4/last_index_of_needle.ts new file mode 100644 index 0000000..3b8bda8 --- /dev/null +++ b/vendor/jsr.io/@std/bytes/1.0.4/last_index_of_needle.ts @@ -0,0 +1,71 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Returns the index of the last occurrence of the needle array in the source + * array, or -1 if it is not present. + * + * The complexity of this function is `O(source.length * needle.length)`. + * + * @param source Source array to check. + * @param needle Needle array to check for. + * @param start Start index in the source array to begin the search. Defaults to + * `source.length - 1`. + * @returns Index of the last occurrence of the needle array in the source + * array, or -1 if it is not present. + * + * @example Basic usage + * ```ts + * import { lastIndexOfNeedle } from "@std/bytes/last-index-of-needle"; + * import { assertEquals } from "@std/assert"; + * + * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]); + * const needle = new Uint8Array([1, 2]); + * const notNeedle = new Uint8Array([5, 0]); + * + * assertEquals(lastIndexOfNeedle(source, needle), 5); + * assertEquals(lastIndexOfNeedle(source, notNeedle), -1); + * ``` + * + * @example Start index + * ```ts + * import { lastIndexOfNeedle } from "@std/bytes/last-index-of-needle"; + * import { assertEquals } from "@std/assert"; + * + * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]); + * const needle = new Uint8Array([1, 2]); + * + * assertEquals(lastIndexOfNeedle(source, needle, 2), 1); + * assertEquals(lastIndexOfNeedle(source, needle, 6), 5); + * ``` + * Defining a start index will begin the search at the specified index in the + * source array. + */ +export function lastIndexOfNeedle( + source: Uint8Array, + needle: Uint8Array, + start: number = source.length - 1, +): number { + if (start < 0) { + return -1; + } + if (start >= source.length) { + start = source.length - 1; + } + const e = needle[needle.length - 1]; + for (let i = start; i >= 0; i--) { + if (source[i] !== e) continue; + let matched = 1; + let j = i; + while ( + matched < needle.length && + source[--j] === needle[needle.length - 1 - (i - j)] + ) { + matched++; + } + if (matched === needle.length) { + return i - needle.length + 1; + } + } + return -1; +} diff --git a/vendor/jsr.io/@std/bytes/1.0.4/mod.ts b/vendor/jsr.io/@std/bytes/1.0.4/mod.ts new file mode 100644 index 0000000..0cf58ae --- /dev/null +++ b/vendor/jsr.io/@std/bytes/1.0.4/mod.ts @@ -0,0 +1,35 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Helper functions for working with + * {@linkcode https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array | Uint8Array} + * byte slices. + * + * ```ts + * import { concat, indexOfNeedle, endsWith } from "@std/bytes"; + * import { assertEquals } from "@std/assert"; + * + * const a = new Uint8Array([0, 1, 2]); + * const b = new Uint8Array([3, 4, 5]); + * + * const c = concat([a, b]); + * + * assertEquals(c, new Uint8Array([0, 1, 2, 3, 4, 5])); + * + * assertEquals(indexOfNeedle(c, new Uint8Array([2, 3])), 2); + * + * assertEquals(endsWith(c, b), true); + * ``` + * + * @module + */ +export * from "./concat.ts"; +export * from "./copy.ts"; +export * from "./ends_with.ts"; +export * from "./equals.ts"; +export * from "./includes_needle.ts"; +export * from "./index_of_needle.ts"; +export * from "./last_index_of_needle.ts"; +export * from "./repeat.ts"; +export * from "./starts_with.ts"; diff --git a/vendor/jsr.io/@std/bytes/1.0.4/repeat.ts b/vendor/jsr.io/@std/bytes/1.0.4/repeat.ts new file mode 100644 index 0000000..73d0495 --- /dev/null +++ b/vendor/jsr.io/@std/bytes/1.0.4/repeat.ts @@ -0,0 +1,47 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { copy } from "./copy.ts"; + +/** + * Returns a new byte slice composed of `count` repetitions of the `source` + * array. + * + * @param source Source array to repeat. + * @param count Number of times to repeat the source array. + * @returns A new byte slice composed of `count` repetitions of the `source` + * array. + * + * @example Basic usage + * ```ts + * import { repeat } from "@std/bytes/repeat"; + * import { assertEquals } from "@std/assert"; + * + * const source = new Uint8Array([0, 1, 2]); + * + * assertEquals(repeat(source, 3), new Uint8Array([0, 1, 2, 0, 1, 2, 0, 1, 2])); + * ``` + * + * @example Zero count + * ```ts + * import { repeat } from "@std/bytes/repeat"; + * import { assertEquals } from "@std/assert"; + * + * const source = new Uint8Array([0, 1, 2]); + * + * assertEquals(repeat(source, 0), new Uint8Array()); + * ``` + */ +export function repeat(source: Uint8Array, count: number): Uint8Array { + if (count < 0 || !Number.isInteger(count)) { + throw new RangeError("Count must be a non-negative integer"); + } + + const repeated = new Uint8Array(source.length * count); + let offset = 0; + + while (offset < repeated.length) { + offset += copy(source, repeated, offset); + } + + return repeated; +} diff --git a/vendor/jsr.io/@std/bytes/1.0.4/starts_with.ts b/vendor/jsr.io/@std/bytes/1.0.4/starts_with.ts new file mode 100644 index 0000000..812d0eb --- /dev/null +++ b/vendor/jsr.io/@std/bytes/1.0.4/starts_with.ts @@ -0,0 +1,35 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Returns `true` if the prefix array appears at the start of the source array, + * `false` otherwise. + * + * The complexity of this function is `O(prefix.length)`. + * + * @param source Source array to check. + * @param prefix Prefix array to check for. + * @returns `true` if the prefix array appears at the start of the source array, + * `false` otherwise. + * + * @example Basic usage + * ```ts + * import { startsWith } from "@std/bytes/starts-with"; + * import { assertEquals } from "@std/assert"; + * + * const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]); + * const prefix = new Uint8Array([0, 1, 2]); + * + * assertEquals(startsWith(source, prefix), true); + * ``` + */ +export function startsWith(source: Uint8Array, prefix: Uint8Array): boolean { + if (prefix.length > source.length) { + return false; + } + + for (let i = 0; i < prefix.length; i++) { + if (source[i] !== prefix[i]) return false; + } + return true; +} diff --git a/vendor/jsr.io/@std/bytes/1.0.4_meta.json b/vendor/jsr.io/@std/bytes/1.0.4_meta.json new file mode 100644 index 0000000..29cb61a --- /dev/null +++ b/vendor/jsr.io/@std/bytes/1.0.4_meta.json @@ -0,0 +1,286 @@ +{ + "manifest": { + "/ends_with.ts": { + "size": 1073, + "checksum": "sha256-6bd7a67b3cfd015c7ae5c846e44c22536f23e8ac3fcd83d407c9b6868171f878" + }, + "/equals.ts": { + "size": 2495, + "checksum": "sha256-53db83d0ffa992093479fc07b0aec7aa6722f8b4a00c3c1c7a19e1a4bfbb99db" + }, + "/concat.ts": { + "size": 927, + "checksum": "sha256-ce4f42754a80f5c2fe6d21c1a8816c6a84f65f8515b6c3e9b6f589678a1f31ae" + }, + "/index_of_needle_test.ts": { + "size": 2042, + "checksum": "sha256-02b689680528726d85794aed4378a73e090df9d308fdbc16e52ab7e524ca9106" + }, + "/starts_with.ts": { + "size": 1035, + "checksum": "sha256-4306f883611ade4cf156e0ab11868cd87daae5ae9da5ff07a455ee99aa7e4f0c" + }, + "/deno.json": { + "size": 444, + "checksum": "sha256-003af8972d53dd0246f5dc7475f0adcb7385ae8c31f3ab28c028c52ca5812e85" + }, + "/concat_test.ts": { + "size": 1501, + "checksum": "sha256-58f97796fec84af40d589bf277edda307823adef05a99938e15a1550d8c0b76b" + }, + "/last_index_of_needle.ts": { + "size": 2142, + "checksum": "sha256-c5017720bbfae016cf1977a364c9d65a812a2664a364179a4b1fa70f743bae29" + }, + "/starts_with_test.ts": { + "size": 1137, + "checksum": "sha256-abe999b47c01181eb81ce2f760fc434532b836ae445da986b63ecfed8cf8f771" + }, + "/copy.ts": { + "size": 1655, + "checksum": "sha256-ed1abfc4107325c9abc28ab0a47bef4f8415c646343e64730ab09da3a97837cd" + }, + "/copy_test.ts": { + "size": 966, + "checksum": "sha256-e95335d17864c15a13a1cd307d5f01270fc1dfb89bd7d01ec6fe0cba6588c4ab" + }, + "/last_index_of_needle_test.ts": { + "size": 1649, + "checksum": "sha256-d29fbd350af90f108e513f16c0858081f9eb7f0b3b84332a0ba08e6cf2a04600" + }, + "/repeat_test.ts": { + "size": 1022, + "checksum": "sha256-37e20909aaa2d2b1f410f0d55d02e2dbd6c5ce090b2a359325f6d34334acf88d" + }, + "/includes_needle_test.ts": { + "size": 568, + "checksum": "sha256-239dc175470505415331c47a1ac0a5c72cb1fe1836551e66e8fc15d3e45ff3b3" + }, + "/includes_needle.ts": { + "size": 1505, + "checksum": "sha256-afff22cf92ebd7541975709d8c910d2a90beb24784981663ca4e1b524a70417d" + }, + "/mod.ts": { + "size": 1020, + "checksum": "sha256-00e910f39be66261927b74c970d97e4da45473d3a38ea1f841d2f063fff8f1da" + }, + "/ends_with_test.ts": { + "size": 1117, + "checksum": "sha256-a666e53ff127da92e151bd192546f54434fbaf571ea6e1b47ea28fc42458bf1c" + }, + "/index_of_needle.ts": { + "size": 2203, + "checksum": "sha256-a4c1507e90b5e02f4b1da3e7d162efc5f5531dfbdb07222b656d8edf7d84525c" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/equals_test.ts": { + "size": 3018, + "checksum": "sha256-3cd9e0bbededd11fc8b4aadf63506c054d1ad21e4b129291d05c5a27b7c83661" + }, + "/repeat.ts": { + "size": 1319, + "checksum": "sha256-55dbc90b6cd8c114689f3a4f43f9ef9ec715314054f0c088e2345e0e66016003" + } + }, + "moduleGraph2": { + "/includes_needle.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./index_of_needle.ts", + "specifierRange": [ + [ + 3, + 30 + ], + [ + 3, + 52 + ] + ] + } + ] + }, + "/index_of_needle.ts": {}, + "/concat.ts": {}, + "/equals.ts": {}, + "/ends_with.ts": {}, + "/copy.ts": {}, + "/last_index_of_needle.ts": {}, + "/repeat.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./copy.ts", + "specifierRange": [ + [ + 2, + 21 + ], + [ + 2, + 32 + ] + ] + } + ] + }, + "/starts_with.ts": {}, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./concat.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./copy.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./ends_with.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./equals.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./includes_needle.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./index_of_needle.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./last_index_of_needle.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 41 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./repeat.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./starts_with.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 32 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./concat": "./concat.ts", + "./copy": "./copy.ts", + "./ends-with": "./ends_with.ts", + "./equals": "./equals.ts", + "./includes-needle": "./includes_needle.ts", + "./index-of-needle": "./index_of_needle.ts", + "./last-index-of-needle": "./last_index_of_needle.ts", + "./repeat": "./repeat.ts", + "./starts-with": "./starts_with.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/bytes/meta.json b/vendor/jsr.io/@std/bytes/meta.json new file mode 100644 index 0000000..0791cbd --- /dev/null +++ b/vendor/jsr.io/@std/bytes/meta.json @@ -0,0 +1,49 @@ +{ + "scope": "std", + "name": "bytes", + "latest": "1.0.4", + "versions": { + "0.214.0": {}, + "1.0.0-rc.2": {}, + "0.218.1": {}, + "0.222.1": {}, + "0.210.0": {}, + "0.213.1": {}, + "0.199.0": {}, + "0.204.0": {}, + "0.197.0": {}, + "0.209.0": {}, + "1.0.1": {}, + "0.196.0": {}, + "0.224.0": {}, + "1.0.3": {}, + "0.207.0": {}, + "0.215.0": {}, + "0.218.0": {}, + "0.205.0": {}, + "0.208.0": {}, + "0.203.0": {}, + "0.200.0": {}, + "1.0.0": {}, + "0.223.0": {}, + "1.0.0-rc.1": {}, + "1.0.2": {}, + "0.220.1": {}, + "0.219.1": {}, + "0.218.2": {}, + "0.213.0": {}, + "1.0.4": {}, + "0.219.0": {}, + "0.216.0": {}, + "0.221.0": {}, + "0.217.0": {}, + "0.202.0": {}, + "0.206.0": {}, + "0.201.0": {}, + "0.198.0": {}, + "1.0.0-rc.3": {}, + "0.212.0": {}, + "0.211.0": {}, + "0.222.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/cli/1.0.10/parse_args.ts b/vendor/jsr.io/@std/cli/1.0.10/parse_args.ts new file mode 100644 index 0000000..a6e97cd --- /dev/null +++ b/vendor/jsr.io/@std/cli/1.0.10/parse_args.ts @@ -0,0 +1,890 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. + +/** + * Command line arguments parser based on + * {@link https://github.com/minimistjs/minimist | minimist}. + * + * See {@linkcode parseArgs} for more information. + * + * @example Usage + * ```ts + * import { parseArgs } from "@std/cli/parse-args"; + * import { assertEquals } from "@std/assert/equals"; + * + * // For proper use, one should use `parseArgs(Deno.args)` + * assertEquals(parseArgs(["--foo", "--bar=baz", "./quux.txt"]), { + * foo: true, + * bar: "baz", + * _: ["./quux.txt"], + * }); + * ``` + * + * @example `string` and `boolean` options + * + * Use `string` and `boolean` options to specify the type of the argument. + * + * ```ts + * import { parseArgs } from "@std/cli/parse-args"; + * import { assertEquals } from "@std/assert/equals"; + * + * const args = parseArgs(["--foo", "--bar", "baz"], { + * boolean: ["foo"], + * string: ["bar"], + * }); + * + * assertEquals(args, { foo: true, bar: "baz", _: [] }); + * ``` + * + * @example `collect` option + * + * `collect` option tells the parser to treat the option as an array. All + * values will be collected into one array. If a non-collectable option is used + * multiple times, the last value is used. + * + * ```ts + * import { parseArgs } from "@std/cli/parse-args"; + * import { assertEquals } from "@std/assert/equals"; + * + * const args = parseArgs(["--foo", "bar", "--foo", "baz"], { + * collect: ["foo"], + * }); + * + * assertEquals(args, { foo: ["bar", "baz"], _: [] }); + * ``` + * + * @example `negatable` option + * + * `negatable` option tells the parser to treat the option can be negated by + * prefixing them with `--no-`, like `--no-config`. + * + * ```ts + * import { parseArgs } from "@std/cli/parse-args"; + * import { assertEquals } from "@std/assert/equals"; + * + * const args = parseArgs(["--no-foo"], { + * boolean: ["foo"], + * negatable: ["foo"], + * }); + * + * assertEquals(args, { foo: false, _: [] }); + * ``` + * + * @module + */ + +/** Combines recursively all intersection types and returns a new single type. + * @internal + */ +type Id = TRecord extends Record + ? TRecord extends infer InferredRecord + ? { [Key in keyof InferredRecord]: Id } + : never + : TRecord; + +/** Converts a union type `A | B | C` into an intersection type `A & B & C`. + * @internal + */ +type UnionToIntersection = + (TValue extends unknown ? (args: TValue) => unknown : never) extends + (args: infer R) => unknown ? R extends Record ? R : never + : never; + +/** @internal */ +type BooleanType = boolean | string | undefined; +/** @internal */ +type StringType = string | undefined; +/** @internal */ +type ArgType = StringType | BooleanType; + +/** @internal */ +type Collectable = string | undefined; +/** @internal */ +type Negatable = string | undefined; + +type UseTypes< + TBooleans extends BooleanType, + TStrings extends StringType, + TCollectable extends Collectable, +> = undefined extends ( + & (false extends TBooleans ? undefined : TBooleans) + & TCollectable + & TStrings +) ? false + : true; + +/** + * Creates a record with all available flags with the corresponding type and + * default type. + * @internal + */ +type Values< + TBooleans extends BooleanType, + TStrings extends StringType, + TCollectable extends Collectable, + TNegatable extends Negatable, + TDefault extends Record | undefined, + TAliases extends Aliases | undefined, +> = UseTypes extends true ? + & Record + & AddAliases< + SpreadDefaults< + & CollectValues + & RecursiveRequired> + & CollectUnknownValues< + TBooleans, + TStrings, + TCollectable, + TNegatable + >, + DedotRecord + >, + TAliases + > + // deno-lint-ignore no-explicit-any + : Record; + +/** @internal */ +type Aliases = Partial< + Record, TAliasNames | ReadonlyArray> +>; + +type AddAliases< + TArgs, + TAliases extends Aliases | undefined, +> = { + [TArgName in keyof TArgs as AliasNames]: TArgs[TArgName]; +}; + +type AliasNames< + TArgName, + TAliases extends Aliases | undefined, +> = TArgName extends keyof TAliases + ? string extends TAliases[TArgName] ? TArgName + : TAliases[TArgName] extends string ? TArgName | TAliases[TArgName] + : TAliases[TArgName] extends Array + ? TArgName | TAliases[TArgName][number] + : TArgName + : TArgName; + +/** + * Spreads all default values of Record `TDefaults` into Record `TArgs` + * and makes default values required. + * + * **Example:** + * `SpreadValues<{ foo?: boolean, bar?: number }, { foo: number }>` + * + * **Result:** `{ foo: boolean | number, bar?: number }` + */ +type SpreadDefaults = TDefaults extends undefined ? TArgs + : TArgs extends Record ? + & Omit + & { + [Default in keyof TDefaults]: Default extends keyof TArgs + ? (TArgs[Default] & TDefaults[Default] | TDefaults[Default]) extends + Record + ? NonNullable> + : TDefaults[Default] | NonNullable + : unknown; + } + : never; + +/** + * Defines the Record for the `default` option to add + * auto-suggestion support for IDE's. + * @internal + */ +type Defaults = Id< + UnionToIntersection< + & Record + // Dedotted auto suggestions: { foo: { bar: unknown } } + & MapTypes + & MapTypes + // Flat auto suggestions: { "foo.bar": unknown } + & MapDefaults + & MapDefaults + > +>; + +type MapDefaults = Partial< + Record +>; + +type RecursiveRequired = TRecord extends Record ? { + [Key in keyof TRecord]-?: RecursiveRequired; + } + : TRecord; + +/** Same as `MapTypes` but also supports collectable options. */ +type CollectValues< + TArgNames extends ArgType, + TType, + TCollectable extends Collectable, + TNegatable extends Negatable = undefined, +> = UnionToIntersection< + Extract extends string ? + & (Exclude extends never ? Record + : MapTypes, TType, TNegatable>) + & (Extract extends never ? Record + : RecursiveRequired< + MapTypes, Array, TNegatable> + >) + : MapTypes +>; + +/** Same as `Record` but also supports dotted and negatable options. */ +type MapTypes< + TArgNames extends ArgType, + TType, + TNegatable extends Negatable = undefined, +> = undefined extends TArgNames ? Record + : TArgNames extends `${infer Name}.${infer Rest}` ? { + [Key in Name]?: MapTypes< + Rest, + TType, + TNegatable extends `${Name}.${infer Negate}` ? Negate : undefined + >; + } + : TArgNames extends string ? Partial< + Record + > + : Record; + +type CollectUnknownValues< + TBooleans extends BooleanType, + TStrings extends StringType, + TCollectable extends Collectable, + TNegatable extends Negatable, +> = UnionToIntersection< + TCollectable extends TBooleans & TStrings ? Record + : DedotRecord< + // Unknown collectable & non-negatable args. + & Record< + Exclude< + Extract, string>, + Extract + >, + Array + > + // Unknown collectable & negatable args. + & Record< + Exclude< + Extract, string>, + Extract + >, + Array | false + > + > +>; + +/** Converts `{ "foo.bar.baz": unknown }` into `{ foo: { bar: { baz: unknown } } }`. */ +type DedotRecord = Record extends TRecord ? TRecord + : TRecord extends Record ? UnionToIntersection< + ValueOf< + { + [Key in keyof TRecord]: Key extends string ? Dedot + : never; + } + > + > + : TRecord; + +type Dedot = TKey extends + `${infer Name}.${infer Rest}` ? { [Key in Name]: Dedot } + : { [Key in TKey]: TValue }; + +type ValueOf = TValue[keyof TValue]; + +/** The value returned from {@linkcode parseArgs}. */ +export type Args< + // deno-lint-ignore no-explicit-any + TArgs extends Record = Record, + TDoubleDash extends boolean | undefined = undefined, +> = Id< + & TArgs + & { + /** Contains all the arguments that didn't have an option associated with + * them. */ + _: Array; + } + & (boolean extends TDoubleDash ? DoubleDash + : true extends TDoubleDash ? Required + : Record) +>; + +/** @internal */ +type DoubleDash = { + /** Contains all the arguments that appear after the double dash: "--". */ + "--"?: Array; +}; + +/** Options for {@linkcode parseArgs}. */ +export interface ParseOptions< + TBooleans extends BooleanType = BooleanType, + TStrings extends StringType = StringType, + TCollectable extends Collectable = Collectable, + TNegatable extends Negatable = Negatable, + TDefault extends Record | undefined = + | Record + | undefined, + TAliases extends Aliases | undefined = Aliases | undefined, + TDoubleDash extends boolean | undefined = boolean | undefined, +> { + /** + * When `true`, populate the result `_` with everything before the `--` and + * the result `['--']` with everything after the `--`. + * + * @default {false} + * + * @example Double dash option is false + * ```ts + * // $ deno run example.ts -- a arg1 + * import { parseArgs } from "@std/cli/parse-args"; + * const args = parseArgs(Deno.args, { "--": false }); // args equals { _: [ "a", "arg1" ] } + * ``` + * + * @example Double dash option is true + * ```ts + * // $ deno run example.ts -- a arg1 + * import { parseArgs } from "@std/cli/parse-args"; + * const args = parseArgs(Deno.args, { "--": true }); // args equals { _: [], --: [ "a", "arg1" ] } + * ``` + */ + "--"?: TDoubleDash; + + /** + * An object mapping string names to strings or arrays of string argument + * names to use as aliases. + * + * @default {{}} + */ + alias?: TAliases; + + /** + * A boolean, string or array of strings to always treat as booleans. If + * `true` will treat all double hyphenated arguments without equal signs as + * `boolean` (e.g. affects `--foo`, not `-f` or `--foo=bar`). + * All `boolean` arguments will be set to `false` by default. + * + * @default {false} + */ + boolean?: TBooleans | ReadonlyArray>; + + /** + * An object mapping string argument names to default values. + * + * @default {{}} + */ + default?: TDefault & Defaults; + + /** + * When `true`, populate the result `_` with everything after the first + * non-option. + * + * @default {false} + */ + stopEarly?: boolean; + + /** + * A string or array of strings argument names to always treat as strings. + * + * @default {[]} + */ + string?: TStrings | ReadonlyArray>; + + /** + * A string or array of strings argument names to always treat as arrays. + * Collectable options can be used multiple times. All values will be + * collected into one array. If a non-collectable option is used multiple + * times, the last value is used. + * + * @default {[]} + */ + collect?: TCollectable | ReadonlyArray>; + + /** + * A string or array of strings argument names which can be negated + * by prefixing them with `--no-`, like `--no-config`. + * + * @default {[]} + */ + negatable?: TNegatable | ReadonlyArray>; + + /** + * A function which is invoked with a command line parameter not defined in + * the `options` configuration object. If the function returns `false`, the + * unknown option is not added to `parsedArgs`. + * + * @default {unknown} + */ + unknown?: (arg: string, key?: string, value?: unknown) => unknown; +} + +interface NestedMapping { + [key: string]: NestedMapping | unknown; +} + +const FLAG_REGEXP = + /^(?:-(?:(?-)(?no-)?)?)(?.+?)(?:=(?.+?))?$/s; +const LETTER_REGEXP = /[A-Za-z]/; +const NUMBER_REGEXP = /-?\d+(\.\d*)?(e-?\d+)?$/; +const HYPHEN_REGEXP = /^(-|--)[^-]/; +const VALUE_REGEXP = /=(?.+)/; +const FLAG_NAME_REGEXP = /^--[^=]+$/; +const SPECIAL_CHAR_REGEXP = /\W/; + +const NON_WHITESPACE_REGEXP = /\S/; + +function isNumber(string: string): boolean { + return NON_WHITESPACE_REGEXP.test(string) && Number.isFinite(Number(string)); +} + +function setNested( + object: NestedMapping, + keys: string[], + value: unknown, + collect = false, +) { + keys = [...keys]; + const key = keys.pop()!; + + keys.forEach((key) => object = (object[key] ??= {}) as NestedMapping); + + if (collect) { + const v = object[key]; + if (Array.isArray(v)) { + v.push(value); + return; + } + + value = v ? [v, value] : [value]; + } + + object[key] = value; +} + +function hasNested(object: NestedMapping, keys: string[]): boolean { + for (const key of keys) { + const value = object[key]; + if (!Object.hasOwn(object, key)) return false; + object = value as NestedMapping; + } + return true; +} + +function aliasIsBoolean( + aliasMap: Map>, + booleanSet: Set, + key: string, +): boolean { + const set = aliasMap.get(key); + if (set === undefined) return false; + for (const alias of set) if (booleanSet.has(alias)) return true; + return false; +} + +function isBooleanString(value: string) { + return value === "true" || value === "false"; +} + +function parseBooleanString(value: unknown) { + return value !== "false"; +} + +/** + * Take a set of command line arguments, optionally with a set of options, and + * return an object representing the flags found in the passed arguments. + * + * By default, any arguments starting with `-` or `--` are considered boolean + * flags. If the argument name is followed by an equal sign (`=`) it is + * considered a key-value pair. Any arguments which could not be parsed are + * available in the `_` property of the returned object. + * + * By default, this module tries to determine the type of all arguments + * automatically and the return type of this function will have an index + * signature with `any` as value (`{ [x: string]: any }`). + * + * If the `string`, `boolean` or `collect` option is set, the return value of + * this function will be fully typed and the index signature of the return + * type will change to `{ [x: string]: unknown }`. + * + * Any arguments after `'--'` will not be parsed and will end up in `parsedArgs._`. + * + * Numeric-looking arguments will be returned as numbers unless `options.string` + * or `options.boolean` is set for that argument name. + * + * See {@linkcode ParseOptions} for more information. + * + * @param args An array of command line arguments. + * @param options Options for the parse function. + * + * @typeParam TArgs Type of result. + * @typeParam TDoubleDash Used by `TArgs` for the result. + * @typeParam TBooleans Used by `TArgs` for the result. + * @typeParam TStrings Used by `TArgs` for the result. + * @typeParam TCollectable Used by `TArgs` for the result. + * @typeParam TNegatable Used by `TArgs` for the result. + * @typeParam TDefaults Used by `TArgs` for the result. + * @typeParam TAliases Used by `TArgs` for the result. + * @typeParam TAliasArgNames Used by `TArgs` for the result. + * @typeParam TAliasNames Used by `TArgs` for the result. + * + * @return The parsed arguments. + * + * @example Usage + * ```ts + * import { parseArgs } from "@std/cli/parse-args"; + * import { assertEquals } from "@std/assert/equals"; + * + * // For proper use, one should use `parseArgs(Deno.args)` + * assertEquals(parseArgs(["--foo", "--bar=baz", "./quux.txt"]), { + * foo: true, + * bar: "baz", + * _: ["./quux.txt"], + * }); + * ``` + * + * @example `string` and `boolean` options + * + * Use `string` and `boolean` options to specify the type of the argument. + * + * ```ts + * import { parseArgs } from "@std/cli/parse-args"; + * import { assertEquals } from "@std/assert/equals"; + * + * const args = parseArgs(["--foo", "--bar", "baz"], { + * boolean: ["foo"], + * string: ["bar"], + * }); + * + * assertEquals(args, { foo: true, bar: "baz", _: [] }); + * ``` + * + * @example `collect` option + * + * `collect` option tells the parser to treat the option as an array. All + * values will be collected into one array. If a non-collectable option is used + * multiple times, the last value is used. + * + * ```ts + * import { parseArgs } from "@std/cli/parse-args"; + * import { assertEquals } from "@std/assert/equals"; + * + * const args = parseArgs(["--foo", "bar", "--foo", "baz"], { + * collect: ["foo"], + * }); + * + * assertEquals(args, { foo: ["bar", "baz"], _: [] }); + * ``` + * + * @example `negatable` option + * + * `negatable` option tells the parser to treat the option can be negated by + * prefixing them with `--no-`, like `--no-config`. + * + * ```ts + * import { parseArgs } from "@std/cli/parse-args"; + * import { assertEquals } from "@std/assert/equals"; + * + * const args = parseArgs(["--no-foo"], { + * boolean: ["foo"], + * negatable: ["foo"], + * }); + * + * assertEquals(args, { foo: false, _: [] }); + * ``` + */ +export function parseArgs< + TArgs extends Values< + TBooleans, + TStrings, + TCollectable, + TNegatable, + TDefaults, + TAliases + >, + TDoubleDash extends boolean | undefined = undefined, + TBooleans extends BooleanType = undefined, + TStrings extends StringType = undefined, + TCollectable extends Collectable = undefined, + TNegatable extends Negatable = undefined, + TDefaults extends Record | undefined = undefined, + TAliases extends Aliases | undefined = undefined, + TAliasArgNames extends string = string, + TAliasNames extends string = string, +>( + args: string[], + options?: ParseOptions< + TBooleans, + TStrings, + TCollectable, + TNegatable, + TDefaults, + TAliases, + TDoubleDash + >, +): Args { + const { + "--": doubleDash = false, + alias = {} as NonNullable, + boolean = false, + default: defaults = {} as TDefaults & Defaults, + stopEarly = false, + string = [], + collect = [], + negatable = [], + unknown: unknownFn = (i: string): unknown => i, + } = options ?? {}; + const aliasMap: Map> = new Map(); + const booleanSet = new Set(); + const stringSet = new Set(); + const collectSet = new Set(); + const negatableSet = new Set(); + + let allBools = false; + + if (alias) { + for (const [key, value] of Object.entries(alias)) { + if (value === undefined) { + throw new TypeError("Alias value must be defined"); + } + const aliases = Array.isArray(value) ? value : [value]; + aliasMap.set(key, new Set(aliases)); + aliases.forEach((alias) => + aliasMap.set( + alias, + new Set([key, ...aliases.filter((it) => it !== alias)]), + ) + ); + } + } + + if (boolean) { + if (typeof boolean === "boolean") { + allBools = boolean; + } else { + const booleanArgs = Array.isArray(boolean) ? boolean : [boolean]; + for (const key of booleanArgs.filter(Boolean)) { + booleanSet.add(key); + aliasMap.get(key)?.forEach((al) => { + booleanSet.add(al); + }); + } + } + } + + if (string) { + const stringArgs = Array.isArray(string) ? string : [string]; + for (const key of stringArgs.filter(Boolean)) { + stringSet.add(key); + aliasMap.get(key)?.forEach((al) => stringSet.add(al)); + } + } + + if (collect) { + const collectArgs = Array.isArray(collect) ? collect : [collect]; + for (const key of collectArgs.filter(Boolean)) { + collectSet.add(key); + aliasMap.get(key)?.forEach((al) => collectSet.add(al)); + } + } + + if (negatable) { + const negatableArgs = Array.isArray(negatable) ? negatable : [negatable]; + for (const key of negatableArgs.filter(Boolean)) { + negatableSet.add(key); + aliasMap.get(key)?.forEach((alias) => negatableSet.add(alias)); + } + } + + const argv: Args = { _: [] }; + + function setArgument( + key: string, + value: string | number | boolean, + arg: string, + collect: boolean, + ) { + if ( + !booleanSet.has(key) && + !stringSet.has(key) && + !aliasMap.has(key) && + !(allBools && FLAG_NAME_REGEXP.test(arg)) && + unknownFn?.(arg, key, value) === false + ) { + return; + } + + if (typeof value === "string" && !stringSet.has(key)) { + value = isNumber(value) ? Number(value) : value; + } + + const collectable = collect && collectSet.has(key); + setNested(argv, key.split("."), value, collectable); + aliasMap.get(key)?.forEach((key) => { + setNested(argv, key.split("."), value, collectable); + }); + } + + let notFlags: string[] = []; + + // all args after "--" are not parsed + const index = args.indexOf("--"); + if (index !== -1) { + notFlags = args.slice(index + 1); + args = args.slice(0, index); + } + + argsLoop: + for (let i = 0; i < args.length; i++) { + const arg = args[i]!; + + const groups = arg.match(FLAG_REGEXP)?.groups; + + if (groups) { + const { doubleDash, negated } = groups; + let key = groups.key!; + let value: string | number | boolean | undefined = groups.value; + + if (doubleDash) { + if (value) { + if (booleanSet.has(key)) value = parseBooleanString(value); + setArgument(key, value, arg, true); + continue; + } + + if (negated) { + if (negatableSet.has(key)) { + setArgument(key, false, arg, false); + continue; + } + key = `no-${key}`; + } + + const next = args[i + 1]; + + if (next) { + if ( + !booleanSet.has(key) && + !allBools && + !next.startsWith("-") && + (!aliasMap.has(key) || !aliasIsBoolean(aliasMap, booleanSet, key)) + ) { + value = next; + i++; + setArgument(key, value, arg, true); + continue; + } + + if (isBooleanString(next)) { + value = parseBooleanString(next); + i++; + setArgument(key, value, arg, true); + continue; + } + } + + value = stringSet.has(key) ? "" : true; + setArgument(key, value, arg, true); + continue; + } + const letters = arg.slice(1, -1).split(""); + + for (const [j, letter] of letters.entries()) { + const next = arg.slice(j + 2); + + if (next === "-") { + setArgument(letter, next, arg, true); + continue; + } + + if (LETTER_REGEXP.test(letter)) { + const groups = VALUE_REGEXP.exec(next)?.groups; + if (groups) { + setArgument(letter, groups.value!, arg, true); + continue argsLoop; + } + if (NUMBER_REGEXP.test(next)) { + setArgument(letter, next, arg, true); + continue argsLoop; + } + } + + if (letters[j + 1]?.match(SPECIAL_CHAR_REGEXP)) { + setArgument(letter, arg.slice(j + 2), arg, true); + continue argsLoop; + } + setArgument(letter, stringSet.has(letter) ? "" : true, arg, true); + } + + key = arg.slice(-1); + if (key === "-") continue; + + const nextArg = args[i + 1]; + + if (nextArg) { + if ( + !HYPHEN_REGEXP.test(nextArg) && + !booleanSet.has(key) && + (!aliasMap.has(key) || !aliasIsBoolean(aliasMap, booleanSet, key)) + ) { + setArgument(key, nextArg, arg, true); + i++; + continue; + } + if (isBooleanString(nextArg)) { + const value = parseBooleanString(nextArg); + setArgument(key, value, arg, true); + i++; + continue; + } + } + setArgument(key, stringSet.has(key) ? "" : true, arg, true); + continue; + } + + if (unknownFn?.(arg) !== false) { + argv._.push( + stringSet.has("_") || !isNumber(arg) ? arg : Number(arg), + ); + } + + if (stopEarly) { + argv._.push(...args.slice(i + 1)); + break; + } + } + + for (const [key, value] of Object.entries(defaults)) { + const keys = key.split("."); + if (!hasNested(argv, keys)) { + setNested(argv, keys, value); + aliasMap.get(key)?.forEach((key) => + setNested(argv, key.split("."), value) + ); + } + } + + for (const key of booleanSet.keys()) { + const keys = key.split("."); + if (!hasNested(argv, keys)) { + const value = collectSet.has(key) ? [] : false; + setNested(argv, keys, value); + } + } + + for (const key of stringSet.keys()) { + const keys = key.split("."); + if (!hasNested(argv, keys) && collectSet.has(key)) { + setNested(argv, keys, []); + } + } + + if (doubleDash) { + argv["--"] = notFlags; + } else { + argv._.push(...notFlags); + } + + return argv as Args; +} diff --git a/vendor/jsr.io/@std/cli/1.0.10_meta.json b/vendor/jsr.io/@std/cli/1.0.10_meta.json new file mode 100644 index 0000000..a3e1187 --- /dev/null +++ b/vendor/jsr.io/@std/cli/1.0.10_meta.json @@ -0,0 +1,201 @@ +{ + "manifest": { + "/unstable_prompt_select.ts": { + "size": 2567, + "checksum": "sha256-ae5e9124166fd161768fb659cc96d7c12b38bb857129d40c802f683f2a81746d" + }, + "/_tools/compare_with_rust.ts": { + "size": 1951, + "checksum": "sha256-a0d0d419554a76ca88252049a5779507881291c008a6fb37ec4414990e60a6e1" + }, + "/prompt_secret_test.ts": { + "size": 10744, + "checksum": "sha256-c8011fbcd832a1c18870ba3b53c8407bb99b4d846c68113949a20740a4327a56" + }, + "/unstable_prompt_multiple_select_test.ts": { + "size": 13073, + "checksum": "sha256-1e8fffecc3bbcfdbdffa01f270de5260ff46e23eb9c2743641cc62748b62b337" + }, + "/unstable_spinner_test.ts": { + "size": 15725, + "checksum": "sha256-8a66248d5e3cf4dc474ad436c2c3833f441c77a6478c5ac855267e1a919a0964" + }, + "/testdata/unicode_width_crate/Cargo.toml": { + "size": 185, + "checksum": "sha256-9a9db49f8245eee59614b09ec12117624e8539e9776322bbdac15ea4c9063eb5" + }, + "/unstable_spinner.ts": { + "size": 6187, + "checksum": "sha256-fb1ebb482e4322ad9824be19e15a8630dea8699c7032e50633bba86b634a1135" + }, + "/_run_length_test.ts": { + "size": 1866, + "checksum": "sha256-d0c7f51935ec9a439fc915602f98b9baf6d1610d477975f77574561063241644" + }, + "/parse_args_test.ts": { + "size": 45091, + "checksum": "sha256-bad6bb242d2eafb462b53ca5e3083fe213a17dadd89154dbb631205bc1d80be2" + }, + "/_tools/generate_data.ts": { + "size": 8055, + "checksum": "sha256-554d6c9908322b8ffb45db83c2cec1082e1fea97df895bddb4b2a4dd3a7849c0" + }, + "/unstable_prompt_select_test.ts": { + "size": 9152, + "checksum": "sha256-f323468b7a6fc45e90022a82367014ac417192ffe1491ea3b43476b8b5078a1b" + }, + "/testdata/unicode_width_crate/src/lib.rs": { + "size": 520, + "checksum": "sha256-03594cd06ca89858b696d611b40a2cb8a398f61477ed957d55ae2733a9688838" + }, + "/_data.json": { + "size": 4202, + "checksum": "sha256-cf2cc9d039a192b3adbfe64627167c7e6212704c888c25c769fc8f1709e1e1b8" + }, + "/unstable_prompt_multiple_select.ts": { + "size": 3147, + "checksum": "sha256-8720bcfb10ec89032ae52a2c76b0d0a4c2e744f0eeb1ccf801a8e53a41454060" + }, + "/prompt_secret.ts": { + "size": 3079, + "checksum": "sha256-fdc18cee188f0b3a4426fc840f22461b7f0a96aebfbc46177953a4d2d54c12cf" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/mod.ts": { + "size": 563, + "checksum": "sha256-9747c66038363e2620482a2d36a0677aa09313c8e136166ba15f525a4573580b" + }, + "/parse_args.ts": { + "size": 25643, + "checksum": "sha256-e1f34ba3e86919a2c360dfebff74264a92f5bb288f932de6f99522b6154f3cf1" + }, + "/_run_length.ts": { + "size": 936, + "checksum": "sha256-20063dcf0792f52a24c2f498023b050b0aeaacd0055a3a1647c26584d506baf9" + }, + "/unicode_width.ts": { + "size": 2824, + "checksum": "sha256-63dd9ff0ce1dda2268f0607bf79e5da26c7b0f1b453f66608954229de76944cf" + }, + "/deno.json": { + "size": 412, + "checksum": "sha256-9b69c256cfc7ed750c8bc077d09cdca2fc577b0ce506f4ca4e7c1a67006bf63f" + }, + "/unicode_width_test.ts": { + "size": 2868, + "checksum": "sha256-9cce7018cb4d4799d2056d02239232a39bcd9be35e793abe302628969050a638" + }, + "/testdata/unicode_width_crate/Cargo.lock": { + "size": 1420, + "checksum": "sha256-b8690a50f8edb28b117d1066bf08fc44bb6ef4a9909bc99e6e452dc8bccd808b" + } + }, + "moduleGraph2": { + "/unstable_spinner.ts": {}, + "/unstable_prompt_select.ts": {}, + "/unstable_prompt_multiple_select.ts": {}, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./parse_args.ts", + "specifierRange": [ + [ + 17, + 14 + ], + [ + 17, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./prompt_secret.ts", + "specifierRange": [ + [ + 18, + 14 + ], + [ + 18, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./unicode_width.ts", + "specifierRange": [ + [ + 19, + 14 + ], + [ + 19, + 34 + ] + ] + } + ] + }, + "/prompt_secret.ts": {}, + "/parse_args.ts": {}, + "/unicode_width.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_data.json", + "specifierRange": [ + [ + 4, + 17 + ], + [ + 4, + 31 + ] + ], + "importAttributes": { + "known": { + "type": "json" + } + } + }, + { + "type": "static", + "kind": "import", + "specifier": "./_run_length.ts", + "specifierRange": [ + [ + 5, + 32 + ], + [ + 5, + 50 + ] + ] + } + ] + }, + "/_run_length.ts": {} + }, + "exports": { + ".": "./mod.ts", + "./parse-args": "./parse_args.ts", + "./prompt-secret": "./prompt_secret.ts", + "./unstable-prompt-select": "./unstable_prompt_select.ts", + "./unstable-prompt-multiple-select": "./unstable_prompt_multiple_select.ts", + "./unstable-spinner": "./unstable_spinner.ts", + "./unicode-width": "./unicode_width.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/cli/meta.json b/vendor/jsr.io/@std/cli/meta.json new file mode 100644 index 0000000..b09a3ca --- /dev/null +++ b/vendor/jsr.io/@std/cli/meta.json @@ -0,0 +1,53 @@ +{ + "scope": "std", + "name": "cli", + "latest": "1.0.10", + "versions": { + "1.0.0-rc.3": {}, + "0.220.1": {}, + "1.0.0-rc.1": {}, + "1.0.5": {}, + "1.0.0": {}, + "1.0.8": {}, + "0.224.3": {}, + "0.210.0": {}, + "1.0.9": {}, + "0.214.0": {}, + "0.221.0": {}, + "0.222.0": {}, + "0.224.0": {}, + "0.211.0": {}, + "0.224.5": {}, + "0.222.1": {}, + "0.219.0": {}, + "0.207.0": {}, + "1.0.0-rc.2": {}, + "0.219.1": {}, + "0.224.7": {}, + "0.218.2": {}, + "0.215.0": {}, + "0.218.0": {}, + "0.218.1": {}, + "0.213.0": {}, + "1.0.0-rc.5": {}, + "1.0.2": {}, + "0.213.1": {}, + "0.224.6": {}, + "1.0.0-rc.4": {}, + "0.224.4": {}, + "1.0.6": {}, + "0.224.2": {}, + "0.223.0": {}, + "1.0.1": {}, + "0.217.0": {}, + "0.216.0": {}, + "1.0.7": {}, + "1.0.3": {}, + "0.224.1": {}, + "0.212.0": {}, + "0.209.0": {}, + "1.0.4": {}, + "0.208.0": {}, + "1.0.10": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/crypto/1.0.3/_wasm/lib/#deno_std_wasm_crypto_7822f.d.mts b/vendor/jsr.io/@std/crypto/1.0.3/_wasm/lib/#deno_std_wasm_crypto_7822f.d.mts new file mode 100644 index 0000000..c78987a --- /dev/null +++ b/vendor/jsr.io/@std/crypto/1.0.3/_wasm/lib/#deno_std_wasm_crypto_7822f.d.mts @@ -0,0 +1,78 @@ +// deno-lint-ignore-file +// deno-fmt-ignore-file + +export interface InstantiateResult { + instance: WebAssembly.Instance; + exports: { + digest: typeof digest; + DigestContext : typeof DigestContext + }; +} + +/** Gets if the Wasm module has been instantiated. */ +export function isInstantiated(): boolean; + + +/** Instantiates an instance of the Wasm module returning its functions. +* @remarks It is safe to call this multiple times and once successfully +* loaded it will always return a reference to the same object. */ +export function instantiate(): InstantiateResult["exports"]; + +/** Instantiates an instance of the Wasm module along with its exports. + * @remarks It is safe to call this multiple times and once successfully + * loaded it will always return a reference to the same object. */ +export function instantiateWithInstance(): InstantiateResult; + +/** +* Returns the digest of the given `data` using the given hash `algorithm`. +* +* `length` will usually be left `undefined` to use the default length for +* the algorithm. For algorithms with variable-length output, it can be used +* to specify a non-negative integer number of bytes. +* +* An error will be thrown if `algorithm` is not a supported hash algorithm or +* `length` is not a supported length for the algorithm. +* @param {string} algorithm +* @param {Uint8Array} data +* @param {number | undefined} [length] +* @returns {Uint8Array} +*/ +export function digest(algorithm: string, data: Uint8Array, length?: number): Uint8Array; +/** +* A context for incrementally computing a digest using a given hash algorithm. +*/ +export class DigestContext { + free(): void; +/** +* Creates a new context incrementally computing a digest using the given +* hash algorithm. +* +* An error will be thrown if `algorithm` is not a supported hash algorithm. +* @param {string} algorithm +*/ + constructor(algorithm: string); +/** +* Update the digest's internal state with the additional input `data`. +* +* If the `data` array view is large, it will be split into subarrays (via +* JavaScript bindings) which will be processed sequentially in order to +* limit the amount of memory that needs to be allocated in the Wasm heap. +* @param {Uint8Array} data +*/ + update(data: Uint8Array): void; +/** +* Returns the digest of the input data so far, and then drops the context +* from memory on the Wasm side. This context must no longer be used, and any +* further method calls will result in null pointer errors being thrown. +* https://github.com/rustwasm/wasm-bindgen/blob/bf39cfd8/crates/backend/src/codegen.rs#L186 +* +* `length` will usually be left `undefined` to use the default length for +* the algorithm. For algorithms with variable-length output, it can be used +* to specify a non-negative integer number of bytes. +* +* An error will be thrown if `length` is not a supported length for the algorithm. +* @param {number | undefined} [length] +* @returns {Uint8Array} +*/ + digestAndDrop(length?: number): Uint8Array; +} diff --git a/vendor/jsr.io/@std/crypto/1.0.3/_wasm/lib/#deno_std_wasm_crypto_bc4f1.mjs b/vendor/jsr.io/@std/crypto/1.0.3/_wasm/lib/#deno_std_wasm_crypto_bc4f1.mjs new file mode 100644 index 0000000..26ea7d3 --- /dev/null +++ b/vendor/jsr.io/@std/crypto/1.0.3/_wasm/lib/#deno_std_wasm_crypto_bc4f1.mjs @@ -0,0 +1,2708 @@ +// @generated file from wasmbuild -- do not edit +// @ts-nocheck: generated +// deno-lint-ignore-file +// deno-fmt-ignore-file +/// + +// source-hash: 8af6b7dfcb5d38d1b2fc36a7ab6dd8085926089e +let wasm; + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { + return heap[idx]; +} + +let heap_next = heap.length; + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +const cachedTextDecoder = typeof TextDecoder !== "undefined" + ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) + : { + decode: () => { + throw Error("TextDecoder not available"); + }, + }; + +if (typeof TextDecoder !== "undefined") cachedTextDecoder.decode(); + +let cachedUint8Memory0 = null; + +function getUint8Memory0() { + if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8Memory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = typeof TextEncoder !== "undefined" + ? new TextEncoder("utf-8") + : { + encode: () => { + throw Error("TextEncoder not available"); + }, + }; + +const encodeString = function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +}; + +function passStringToWasm0(arg, malloc, realloc) { + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8Memory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8Memory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} + +function getArrayU8FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); +} +/** + * Returns the digest of the given `data` using the given hash `algorithm`. + * + * `length` will usually be left `undefined` to use the default length for + * the algorithm. For algorithms with variable-length output, it can be used + * to specify a non-negative integer number of bytes. + * + * An error will be thrown if `algorithm` is not a supported hash algorithm or + * `length` is not a supported length for the algorithm. + * @param {string} algorithm + * @param {Uint8Array} data + * @param {number | undefined} [length] + * @returns {Uint8Array} + */ +export function digest(algorithm, data, length) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0( + algorithm, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len0 = WASM_VECTOR_LEN; + wasm.digest( + retptr, + ptr0, + len0, + addHeapObject(data), + !isLikeNone(length), + isLikeNone(length) ? 0 : length, + ); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + if (r3) { + throw takeObject(r2); + } + var v2 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_free(r0, r1 * 1, 1); + return v2; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +const DigestContextFinalization = (typeof FinalizationRegistry === "undefined") + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry((ptr) => wasm.__wbg_digestcontext_free(ptr >>> 0)); +/** + * A context for incrementally computing a digest using a given hash algorithm. + */ +export class DigestContext { + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + DigestContextFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_digestcontext_free(ptr); + } + /** + * Creates a new context incrementally computing a digest using the given + * hash algorithm. + * + * An error will be thrown if `algorithm` is not a supported hash algorithm. + * @param {string} algorithm + */ + constructor(algorithm) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0( + algorithm, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len0 = WASM_VECTOR_LEN; + wasm.digestcontext_new(retptr, ptr0, len0); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + if (r2) { + throw takeObject(r1); + } + this.__wbg_ptr = r0 >>> 0; + return this; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Update the digest's internal state with the additional input `data`. + * + * If the `data` array view is large, it will be split into subarrays (via + * JavaScript bindings) which will be processed sequentially in order to + * limit the amount of memory that needs to be allocated in the Wasm heap. + * @param {Uint8Array} data + */ + update(data) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.digestcontext_update(retptr, this.__wbg_ptr, addHeapObject(data)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Returns the digest of the input data so far, and then drops the context + * from memory on the Wasm side. This context must no longer be used, and any + * further method calls will result in null pointer errors being thrown. + * https://github.com/rustwasm/wasm-bindgen/blob/bf39cfd8/crates/backend/src/codegen.rs#L186 + * + * `length` will usually be left `undefined` to use the default length for + * the algorithm. For algorithms with variable-length output, it can be used + * to specify a non-negative integer number of bytes. + * + * An error will be thrown if `length` is not a supported length for the algorithm. + * @param {number | undefined} [length] + * @returns {Uint8Array} + */ + digestAndDrop(length) { + try { + const ptr = this.__destroy_into_raw(); + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.digestcontext_digestAndDrop( + retptr, + ptr, + !isLikeNone(length), + isLikeNone(length) ? 0 : length, + ); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var r2 = getInt32Memory0()[retptr / 4 + 2]; + var r3 = getInt32Memory0()[retptr / 4 + 3]; + if (r3) { + throw takeObject(r2); + } + var v1 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_free(r0, r1 * 1, 1); + return v1; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} + +const imports = { + __wbindgen_placeholder__: { + __wbg_new_5dd86ebc917d9f52: function (arg0, arg1) { + const ret = new TypeError(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }, + __wbindgen_object_drop_ref: function (arg0) { + takeObject(arg0); + }, + __wbg_byteLength_58f7b4fab1919d44: function (arg0) { + const ret = getObject(arg0).byteLength; + return ret; + }, + __wbg_byteOffset_81d60f7392524f62: function (arg0) { + const ret = getObject(arg0).byteOffset; + return ret; + }, + __wbg_buffer_dd7f74bc60f1faab: function (arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }, + __wbg_newwithbyteoffsetandlength_aa4a17c33a06e5cb: function ( + arg0, + arg1, + arg2, + ) { + const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }, + __wbg_length_c20a40f15020d68a: function (arg0) { + const ret = getObject(arg0).length; + return ret; + }, + __wbindgen_memory: function () { + const ret = wasm.memory; + return addHeapObject(ret); + }, + __wbg_buffer_12d079cc21e14bdb: function (arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }, + __wbg_new_63b92bc8671ed464: function (arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }, + __wbg_set_a47bac70306a19a7: function (arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }, + __wbindgen_throw: function (arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }, + }, +}; + +export function instantiate() { + return instantiateWithInstance().exports; +} + +let instanceWithExports; + +export function instantiateWithInstance() { + if (instanceWithExports == null) { + const instance = instantiateInstance(); + wasm = instance.exports; + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + instanceWithExports = { + instance, + exports: { digest, DigestContext }, + }; + } + return instanceWithExports; +} + +export function isInstantiated() { + return instanceWithExports != null; +} + +function instantiateInstance() { + const wasmBytes = base64decode( + "\ +AGFzbQEAAAABpwEYYAAAYAABf2ABfwBgAX8Bf2ACf38AYAJ/fwF/YAN/f38AYAN/f38Bf2AEf39/fw\ +BgBH9/f38Bf2AFf39/f38AYAV/f39/fwF/YAZ/f39/f38AYAZ/f39/f38Bf2AFf39/fn8AYAd/f39+\ +f39/AX9gA39/fgBgBX9/fn9/AGAFf399f38AYAV/f3x/fwBgAn9+AGAEf35/fwBgBH99f38AYAR/fH\ +9/AAKkBQwYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fGl9fd2JnX25ld181ZGQ4NmViYzkxN2Q5ZjUy\ +AAUYX193YmluZGdlbl9wbGFjZWhvbGRlcl9fGl9fd2JpbmRnZW5fb2JqZWN0X2Ryb3BfcmVmAAIYX1\ +93YmluZGdlbl9wbGFjZWhvbGRlcl9fIV9fd2JnX2J5dGVMZW5ndGhfNThmN2I0ZmFiMTkxOWQ0NAAD\ +GF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXyFfX3diZ19ieXRlT2Zmc2V0XzgxZDYwZjczOTI1MjRmNj\ +IAAxhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18dX193YmdfYnVmZmVyX2RkN2Y3NGJjNjBmMWZhYWIA\ +AxhfX3diaW5kZ2VuX3BsYWNlaG9sZGVyX18xX193YmdfbmV3d2l0aGJ5dGVvZmZzZXRhbmRsZW5ndG\ +hfYWE0YTE3YzMzYTA2ZTVjYgAHGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXx1fX3diZ19sZW5ndGhf\ +YzIwYTQwZjE1MDIwZDY4YQADGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxFfX3diaW5kZ2VuX21lbW\ +9yeQABGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXx1fX3diZ19idWZmZXJfMTJkMDc5Y2MyMWUxNGJk\ +YgADGF9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxpfX3diZ19uZXdfNjNiOTJiYzg2NzFlZDQ2NAADGF\ +9fd2JpbmRnZW5fcGxhY2Vob2xkZXJfXxpfX3diZ19zZXRfYTQ3YmFjNzAzMDZhMTlhNwAGGF9fd2Jp\ +bmRnZW5fcGxhY2Vob2xkZXJfXxBfX3diaW5kZ2VuX3Rocm93AAQDYWAIBgYKBhAEBgYEDgMGBgQPBx\ +QEBAYCBQQJBgYHDQQEBAcFBAcGBAQIBgwEBgcGBAwIBgYGBgUFAgQFBwYGCQAEBAkNCwoLCgoSExEI\ +AgcFBQQGAgUDAAAEBAcHBwACAgIEBQFwARcXBQMBABEGCQF/AUGAgMAACwfUAQoGbWVtb3J5AgAGZG\ +lnZXN0ADUYX193YmdfZGlnZXN0Y29udGV4dF9mcmVlAEMRZGlnZXN0Y29udGV4dF9uZXcAORRkaWdl\ +c3Rjb250ZXh0X3VwZGF0ZQBHG2RpZ2VzdGNvbnRleHRfZGlnZXN0QW5kRHJvcAAzH19fd2JpbmRnZW\ +5fYWRkX3RvX3N0YWNrX3BvaW50ZXIAYBFfX3diaW5kZ2VuX21hbGxvYwBFEl9fd2JpbmRnZW5fcmVh\ +bGxvYwBND19fd2JpbmRnZW5fZnJlZQBdCRwBAEEBCxZaWyJfTztQUU5ZV1JTVFVWakFpQmtcCreXB2\ +C6ggECOX8CfiMAQYACayIEJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJA\ +AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQA\ +JAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC\ +QAJAAkACQAJAAkACQAJAAkAgAA4fAAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHgALIAFByA\ +BqIQUgA0GAASABQcgBai0AACIAayIGTQ0eIABFDVMgBSAAaiACIAYQZRogASABKQNAQoABfDcDQCAB\ +IAVCABARAkAgAyAGayIDRQ0AIAIgBmohAgxUC0HgkcAAIQNBACEGDFQLIAFByABqIQUCQCADQYABIA\ +FByAFqLQAAIgBrIgZNDQAgAEUNUSAFIABqIAIgBhBlGiABIAEpA0BCgAF8NwNAIAEgBUIAEBECQCAD\ +IAZrIgNFDQAgAiAGaiECDFILQeCRwAAhA0EAIQYMUgsgBSAAaiACIAMQZRogASAAIANqOgDIAQxUCy\ +ABQcgAaiEFAkAgA0GAASABQcgBai0AACIAayIGTQ0AIABFDU4gBSAAaiACIAYQZRogASABKQNAQoAB\ +fDcDQCABIAVCABARAkAgAyAGayIDRQ0AIAIgBmohAgxPC0HgkcAAIQNBACEGDE8LIAUgAGogAiADEG\ +UaIAEgACADajoAyAEMUwsgAUHIAGohBQJAIANBgAEgAUHIAWotAAAiAGsiBk0NACAARQ1LIAUgAGog\ +AiAGEGUaIAEgASkDQEKAAXw3A0AgASAFQgAQEQJAIAMgBmsiA0UNACACIAZqIQIMTAtB4JHAACEDQQ\ +AhBgxMCyAFIABqIAIgAxBlGiABIAAgA2o6AMgBDFILIAFByABqIQUCQCADQYABIAFByAFqLQAAIgBr\ +IgZNDQAgAEUNSCAFIABqIAIgBhBlGiABIAEpA0BCgAF8NwNAIAEgBUIAEBECQCADIAZrIgNFDQAgAi\ +AGaiECDEkLQeCRwAAhA0EAIQYMSQsgBSAAaiACIAMQZRogASAAIANqOgDIAQxRCyABQcgAaiEFAkAg\ +A0GAASABQcgBai0AACIAayIGTQ0AIABFDUUgBSAAaiACIAYQZRogASABKQNAQoABfDcDQCABIAVCAB\ +ARAkAgAyAGayIDRQ0AIAIgBmohAgxGC0HgkcAAIQNBACEGDEYLIAUgAGogAiADEGUaIAEgACADajoA\ +yAEMUAsgAUEoaiEFAkAgA0HAACABQegAai0AACIAayIGTQ0AIABFDUIgBSAAaiACIAYQZRogASABKQ\ +MgQsAAfDcDIEEAIQcgASAFQQAQEwJAIAMgBmsiA0UNACACIAZqIQIMQwtB4JHAACEDDEMLIAUgAGog\ +AiADEGUaIAEgACADajoAaAxPCyABQSBqIQggAUGJAWotAABBBnQgAUGIAWotAABqIgBFDT8gCCACQY\ +AIIABrIgAgAyAAIANJGyIGECwhBSADIAZrIgNFDU4gBEG4AWoiCSABQegAaiIAKQMANwMAIARBwAFq\ +IgogAUHwAGoiBykDADcDACAEQcgBaiILIAFB+ABqIgwpAwA3AwAgBEHwAGpBCGoiDSAFQQhqKQMANw\ +MAIARB8ABqQRBqIg4gBUEQaikDADcDACAEQfAAakEYaiIPIAVBGGopAwA3AwAgBEHwAGpBIGoiECAF\ +QSBqKQMANwMAIARB8ABqQShqIhEgBUEoaikDADcDACAEQfAAakEwaiISIAVBMGopAwA3AwAgBEHwAG\ +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\ +ogJDoAACAEQfcAaiArOgAAIAQgKDoAjAEgBCAWOgCIASAEICk6AIQBIAQgDDoAgAEgBCAqOgB8IAQg\ +JzoAeCAEIC46AHQgBCAyOgBwIAQgMToAcSAEIDA6AHIgBCAvOgBzQbSRwAAgBEHwAGpByIjAAEGgh8\ +AAEDwACyAFIABqIAIgBhBlGiABIAEpAwAgASkA0AGFNwMAIAEgASkDCCABQdgBaikAAIU3AwggASAB\ +KQMQIAFB4AFqKQAAhTcDECABIAEpAxggAUHoAWopAACFNwMYIAEgASkDICABQfABaikAAIU3AyAgAS\ +ABKQMoIAFB+AFqKQAAhTcDKCABIAEpAzAgAUGAAmopAACFNwMwIAEgASkDOCABQYgCaikAAIU3Azgg\ +ASABKQNAIAFBkAJqKQAAhTcDQCABIAEpA0ggAUGYAmopAACFNwNIIAEgASkDUCABQaACaikAAIU3A1\ +AgASABKQNYIAFBqAJqKQAAhTcDWCABIAEpA2AgAUGwAmopAACFNwNgIAEgASkDaCABQbgCaikAAIU3\ +A2ggASABKQNwIAFBwAJqKQAAhTcDcCABIAEpA3ggAUHIAmopAACFNwN4IAEgASkDgAEgAUHQAmopAA\ +CFNwOAASABIAEpA4gBIAFB2AJqKQAAhTcDiAEgASABKALIARAfIAMgBmshAyACIAZqIQIMJAsgBSAA\ +aiACIAYQZRogASABKQMAIAEpANABhTcDACABIAEpAwggAUHYAWopAACFNwMIIAEgASkDECABQeABai\ +kAAIU3AxAgASABKQMYIAFB6AFqKQAAhTcDGCABIAEpAyAgAUHwAWopAACFNwMgIAEgASkDKCABQfgB\ +aikAAIU3AyggASABKQMwIAFBgAJqKQAAhTcDMCABIAEpAzggAUGIAmopAACFNwM4IAEgASkDQCABQZ\ +ACaikAAIU3A0AgASABKQNIIAFBmAJqKQAAhTcDSCABIAEpA1AgAUGgAmopAACFNwNQIAEgASkDWCAB\ +QagCaikAAIU3A1ggASABKQNgIAFBsAJqKQAAhTcDYCABIAEpA2ggAUG4AmopAACFNwNoIAEgASkDcC\ +ABQcACaikAAIU3A3AgASABKQN4IAFByAJqKQAAhTcDeCABIAEpA4ABIAFB0AJqKQAAhTcDgAEgASAB\ +KALIARAfIAMgBmshAyACIAZqIQIMIgsgBSAAaiACIAYQZRogASABKQMAIAEpANABhTcDACABIAEpAw\ +ggAUHYAWopAACFNwMIIAEgASkDECABQeABaikAAIU3AxAgASABKQMYIAFB6AFqKQAAhTcDGCABIAEp\ +AyAgAUHwAWopAACFNwMgIAEgASkDKCABQfgBaikAAIU3AyggASABKQMwIAFBgAJqKQAAhTcDMCABIA\ +EpAzggAUGIAmopAACFNwM4IAEgASkDQCABQZACaikAAIU3A0AgASABKQNIIAFBmAJqKQAAhTcDSCAB\ +IAEpA1AgAUGgAmopAACFNwNQIAEgASkDWCABQagCaikAAIU3A1ggASABKQNgIAFBsAJqKQAAhTcDYC\ +ABIAEoAsgBEB8gAyAGayEDIAIgBmohAgwgCyAFIABqIAIgBhBlGiABIAEpAwAgASkA0AGFNwMAIAEg\ +ASkDCCABQdgBaikAAIU3AwggASABKQMQIAFB4AFqKQAAhTcDECABIAEpAxggAUHoAWopAACFNwMYIA\ +EgASkDICABQfABaikAAIU3AyAgASABKQMoIAFB+AFqKQAAhTcDKCABIAEpAzAgAUGAAmopAACFNwMw\ +IAEgASkDOCABQYgCaikAAIU3AzggASABKQNAIAFBkAJqKQAAhTcDQCABIAEoAsgBEB8gAyAGayEDIA\ +IgBmohAgweCyAFIABqIAIgBhBlGiABIAEpAxBCAXw3AxAgASAFEB4gAyAGayEDIAIgBmohAgwcCyAF\ +IABqIAIgBhBlGiAEQfAAaiAFQQEQGSACIAZqIQIgAyAGayEDDBoLIAYgAGogAiAFEGUaIAEgASkDAE\ +IBfDcDACABQQhqIAYQEiADIAVrIQMgAiAFaiECDBgLIAUgAGogAiAGEGUaIAEgASkDAEIBfDcDACAB\ +QQhqIAVBARAUIAIgBmohAiADIAZrIQMMFgsgBSAAaiACIAYQZRogASABKQMAIAEpANABhTcDACABIA\ +EpAwggAUHYAWopAACFNwMIIAEgASkDECABQeABaikAAIU3AxAgASABKQMYIAFB6AFqKQAAhTcDGCAB\ +IAEpAyAgAUHwAWopAACFNwMgIAEgASkDKCABQfgBaikAAIU3AyggASABKQMwIAFBgAJqKQAAhTcDMC\ +ABIAEpAzggAUGIAmopAACFNwM4IAEgASkDQCABQZACaikAAIU3A0AgASABKQNIIAFBmAJqKQAAhTcD\ +SCABIAEpA1AgAUGgAmopAACFNwNQIAEgASkDWCABQagCaikAAIU3A1ggASABKQNgIAFBsAJqKQAAhT\ +cDYCABIAEpA2ggAUG4AmopAACFNwNoIAEgASkDcCABQcACaikAAIU3A3AgASABKQN4IAFByAJqKQAA\ +hTcDeCABIAEpA4ABIAFB0AJqKQAAhTcDgAEgASABKQOIASABQdgCaikAAIU3A4gBIAEgASgCyAEQHy\ +ADIAZrIQMgAiAGaiECDBQLIAUgAGogAiAGEGUaIAEgASkDACABKQDQAYU3AwAgASABKQMIIAFB2AFq\ +KQAAhTcDCCABIAEpAxAgAUHgAWopAACFNwMQIAEgASkDGCABQegBaikAAIU3AxggASABKQMgIAFB8A\ +FqKQAAhTcDICABIAEpAyggAUH4AWopAACFNwMoIAEgASkDMCABQYACaikAAIU3AzAgASABKQM4IAFB\ +iAJqKQAAhTcDOCABIAEpA0AgAUGQAmopAACFNwNAIAEgASkDSCABQZgCaikAAIU3A0ggASABKQNQIA\ +FBoAJqKQAAhTcDUCABIAEpA1ggAUGoAmopAACFNwNYIAEgASkDYCABQbACaikAAIU3A2AgASABKQNo\ +IAFBuAJqKQAAhTcDaCABIAEpA3AgAUHAAmopAACFNwNwIAEgASkDeCABQcgCaikAAIU3A3ggASABKQ\ +OAASABQdACaikAAIU3A4ABIAEgASgCyAEQHyADIAZrIQMgAiAGaiECDBILIAUgAGogAiAGEGUaIAEg\ +ASkDACABKQDQAYU3AwAgASABKQMIIAFB2AFqKQAAhTcDCCABIAEpAxAgAUHgAWopAACFNwMQIAEgAS\ +kDGCABQegBaikAAIU3AxggASABKQMgIAFB8AFqKQAAhTcDICABIAEpAyggAUH4AWopAACFNwMoIAEg\ +ASkDMCABQYACaikAAIU3AzAgASABKQM4IAFBiAJqKQAAhTcDOCABIAEpA0AgAUGQAmopAACFNwNAIA\ +EgASkDSCABQZgCaikAAIU3A0ggASABKQNQIAFBoAJqKQAAhTcDUCABIAEpA1ggAUGoAmopAACFNwNY\ +IAEgASkDYCABQbACaikAAIU3A2AgASABKALIARAfIAMgBmshAyACIAZqIQIMEAsgBSAAaiACIAYQZR\ +ogASABKQMAIAEpANABhTcDACABIAEpAwggAUHYAWopAACFNwMIIAEgASkDECABQeABaikAAIU3AxAg\ +ASABKQMYIAFB6AFqKQAAhTcDGCABIAEpAyAgAUHwAWopAACFNwMgIAEgASkDKCABQfgBaikAAIU3Ay\ +ggASABKQMwIAFBgAJqKQAAhTcDMCABIAEpAzggAUGIAmopAACFNwM4IAEgASkDQCABQZACaikAAIU3\ +A0AgASABKALIARAfIAMgBmshAyACIAZqIQIMDgsgBSAAaiACIAYQZRogASABKQMgQgF8NwMgIAEgBU\ +EBEA4gAiAGaiECIAMgBmshAwwMCyAFIABqIAIgBhBlGiABIAEpAyBCAXw3AyAgASAFQQEQDiACIAZq\ +IQIgAyAGayEDDAoLIAUgAGogAiAGEGUaIAEgASkDQEIBfCI9NwNAIAFByABqIgAgACkDACA9UK18Nw\ +MAIAEgBUEBEA0gAiAGaiECIAMgBmshAwwICyAFIABqIAIgBhBlGiABIAEpA0BCAXwiPTcDQCABQcgA\ +aiIAIAApAwAgPVCtfDcDACABIAVBARANIAIgBmohAiADIAZrIQMMBgsgBSAAaiACIAYQZRogASABKQ\ +MAIAEpANABhTcDACABIAEpAwggAUHYAWopAACFNwMIIAEgASkDECABQeABaikAAIU3AxAgASABKQMY\ +IAFB6AFqKQAAhTcDGCABIAEpAyAgAUHwAWopAACFNwMgIAEgASkDKCABQfgBaikAAIU3AyggASABKQ\ +MwIAFBgAJqKQAAhTcDMCABIAEpAzggAUGIAmopAACFNwM4IAEgASkDQCABQZACaikAAIU3A0AgASAB\ +KQNIIAFBmAJqKQAAhTcDSCABIAEpA1AgAUGgAmopAACFNwNQIAEgASkDWCABQagCaikAAIU3A1ggAS\ +ABKQNgIAFBsAJqKQAAhTcDYCABIAEpA2ggAUG4AmopAACFNwNoIAEgASkDcCABQcACaikAAIU3A3Ag\ +ASABKQN4IAFByAJqKQAAhTcDeCABIAEpA4ABIAFB0AJqKQAAhTcDgAEgASABKQOIASABQdgCaikAAI\ +U3A4gBIAEgASkDkAEgAUHgAmopAACFNwOQASABIAEpA5gBIAFB6AJqKQAAhTcDmAEgASABKQOgASAB\ +QfACaikAAIU3A6ABIAEgASgCyAEQHyADIAZrIQMgAiAGaiECDAQLIAUgAGogAiAGEGUaIAEgASkDAC\ +ABKQDQAYU3AwAgASABKQMIIAFB2AFqKQAAhTcDCCABIAEpAxAgAUHgAWopAACFNwMQIAEgASkDGCAB\ +QegBaikAAIU3AxggASABKQMgIAFB8AFqKQAAhTcDICABIAEpAyggAUH4AWopAACFNwMoIAEgASkDMC\ +ABQYACaikAAIU3AzAgASABKQM4IAFBiAJqKQAAhTcDOCABIAEpA0AgAUGQAmopAACFNwNAIAEgASkD\ +SCABQZgCaikAAIU3A0ggASABKQNQIAFBoAJqKQAAhTcDUCABIAEpA1ggAUGoAmopAACFNwNYIAEgAS\ +kDYCABQbACaikAAIU3A2AgASABKQNoIAFBuAJqKQAAhTcDaCABIAEpA3AgAUHAAmopAACFNwNwIAEg\ +ASkDeCABQcgCaikAAIU3A3ggASABKQOAASABQdACaikAAIU3A4ABIAEgASgCyAEQHyADIAZrIQMgAi\ +AGaiECDAILIAYgAGogAiAFEGUaIAEgASkDAEIBfDcDACABQQhqIAYQFSADIAVrIQMgAiAFaiECCyAD\ +QT9xIQcgAiADQUBxIgBqIQwCQCADQcAASQ0AIAEgASkDACADQQZ2rXw3AwAgAUEIaiEFA0AgBSACEB\ +UgAkHAAGohAiAAQUBqIgANAAsLIAYgDCAHEGUaIAEgBzoAYAwhCyACIANBiAFuQYgBbCIGaiEAIAMg\ +BmshBgJAIANBiAFJDQADQCABIAEpAwAgAikAAIU3AwAgASABKQMIIAIpAAiFNwMIIAEgASkDECACKQ\ +AQhTcDECABIAEpAxggAikAGIU3AxggASABKQMgIAIpACCFNwMgIAEgASkDKCACKQAohTcDKCABIAEp\ +AzAgAikAMIU3AzAgASABKQM4IAIpADiFNwM4IAEgASkDQCACKQBAhTcDQCABIAEpA0ggAikASIU3A0\ +ggASABKQNQIAIpAFCFNwNQIAEgASkDWCACKQBYhTcDWCABIAEpA2AgAikAYIU3A2AgASABKQNoIAIp\ +AGiFNwNoIAEgASkDcCACKQBwhTcDcCABIAEpA3ggAikAeIU3A3ggASABKQOAASACKQCAAYU3A4ABIA\ +EgASgCyAEQHyACQYgBaiICIABHDQALCwJAIAZBiQFPDQAgBSAAIAYQZRogASAGOgDYAgwhCyAGQYgB\ +QYCAwAAQPQALIAIgA0GoAW5BqAFsIgZqIQAgAyAGayEGAkAgA0GoAUkNAANAIAEgASkDACACKQAAhT\ +cDACABIAEpAwggAikACIU3AwggASABKQMQIAIpABCFNwMQIAEgASkDGCACKQAYhTcDGCABIAEpAyAg\ +AikAIIU3AyAgASABKQMoIAIpACiFNwMoIAEgASkDMCACKQAwhTcDMCABIAEpAzggAikAOIU3AzggAS\ +ABKQNAIAIpAECFNwNAIAEgASkDSCACKQBIhTcDSCABIAEpA1AgAikAUIU3A1AgASABKQNYIAIpAFiF\ +NwNYIAEgASkDYCACKQBghTcDYCABIAEpA2ggAikAaIU3A2ggASABKQNwIAIpAHCFNwNwIAEgASkDeC\ +ACKQB4hTcDeCABIAEpA4ABIAIpAIABhTcDgAEgASABKQOIASACKQCIAYU3A4gBIAEgASkDkAEgAikA\ +kAGFNwOQASABIAEpA5gBIAIpAJgBhTcDmAEgASABKQOgASACKQCgAYU3A6ABIAEgASgCyAEQHyACQa\ +gBaiICIABHDQALCwJAIAZBqQFPDQAgBSAAIAYQZRogASAGOgD4AgwgCyAGQagBQYCAwAAQPQALIANB\ +/wBxIQAgAiADQYB/cWohBgJAIANBgAFJDQAgASABKQNAIj0gA0EHdiIDrXwiPjcDQCABQcgAaiIHIA\ +cpAwAgPiA9VK18NwMAIAEgAiADEA0LIAUgBiAAEGUaIAEgADoA0AEMHgsgA0H/AHEhACACIANBgH9x\ +aiEGAkAgA0GAAUkNACABIAEpA0AiPSADQQd2IgOtfCI+NwNAIAFByABqIgcgBykDACA+ID1UrXw3Aw\ +AgASACIAMQDQsgBSAGIAAQZRogASAAOgDQAQwdCyADQT9xIQAgAiADQUBxaiEGAkAgA0HAAEkNACAB\ +IAEpAyAgA0EGdiIDrXw3AyAgASACIAMQDgsgBSAGIAAQZRogASAAOgBoDBwLIANBP3EhACACIANBQH\ +FqIQYCQCADQcAASQ0AIAEgASkDICADQQZ2IgOtfDcDICABIAIgAxAOCyAFIAYgABBlGiABIAA6AGgM\ +GwsgAiADQcgAbkHIAGwiBmohACADIAZrIQYCQCADQcgASQ0AA0AgASABKQMAIAIpAACFNwMAIAEgAS\ +kDCCACKQAIhTcDCCABIAEpAxAgAikAEIU3AxAgASABKQMYIAIpABiFNwMYIAEgASkDICACKQAghTcD\ +ICABIAEpAyggAikAKIU3AyggASABKQMwIAIpADCFNwMwIAEgASkDOCACKQA4hTcDOCABIAEpA0AgAi\ +kAQIU3A0AgASABKALIARAfIAJByABqIgIgAEcNAAsLAkAgBkHJAE8NACAFIAAgBhBlGiABIAY6AJgC\ +DBsLIAZByABBgIDAABA9AAsgAiADQegAbkHoAGwiBmohACADIAZrIQYCQCADQegASQ0AA0AgASABKQ\ +MAIAIpAACFNwMAIAEgASkDCCACKQAIhTcDCCABIAEpAxAgAikAEIU3AxAgASABKQMYIAIpABiFNwMY\ +IAEgASkDICACKQAghTcDICABIAEpAyggAikAKIU3AyggASABKQMwIAIpADCFNwMwIAEgASkDOCACKQ\ +A4hTcDOCABIAEpA0AgAikAQIU3A0AgASABKQNIIAIpAEiFNwNIIAEgASkDUCACKQBQhTcDUCABIAEp\ +A1ggAikAWIU3A1ggASABKQNgIAIpAGCFNwNgIAEgASgCyAEQHyACQegAaiICIABHDQALCwJAIAZB6Q\ +BPDQAgBSAAIAYQZRogASAGOgC4AgwaCyAGQegAQYCAwAAQPQALIAIgA0GIAW5BiAFsIgZqIQAgAyAG\ +ayEGAkAgA0GIAUkNAANAIAEgASkDACACKQAAhTcDACABIAEpAwggAikACIU3AwggASABKQMQIAIpAB\ +CFNwMQIAEgASkDGCACKQAYhTcDGCABIAEpAyAgAikAIIU3AyAgASABKQMoIAIpACiFNwMoIAEgASkD\ +MCACKQAwhTcDMCABIAEpAzggAikAOIU3AzggASABKQNAIAIpAECFNwNAIAEgASkDSCACKQBIhTcDSC\ +ABIAEpA1AgAikAUIU3A1AgASABKQNYIAIpAFiFNwNYIAEgASkDYCACKQBghTcDYCABIAEpA2ggAikA\ +aIU3A2ggASABKQNwIAIpAHCFNwNwIAEgASkDeCACKQB4hTcDeCABIAEpA4ABIAIpAIABhTcDgAEgAS\ +ABKALIARAfIAJBiAFqIgIgAEcNAAsLAkAgBkGJAU8NACAFIAAgBhBlGiABIAY6ANgCDBkLIAZBiAFB\ +gIDAABA9AAsgAiADQZABbkGQAWwiBmohACADIAZrIQYCQCADQZABSQ0AA0AgASABKQMAIAIpAACFNw\ +MAIAEgASkDCCACKQAIhTcDCCABIAEpAxAgAikAEIU3AxAgASABKQMYIAIpABiFNwMYIAEgASkDICAC\ +KQAghTcDICABIAEpAyggAikAKIU3AyggASABKQMwIAIpADCFNwMwIAEgASkDOCACKQA4hTcDOCABIA\ +EpA0AgAikAQIU3A0AgASABKQNIIAIpAEiFNwNIIAEgASkDUCACKQBQhTcDUCABIAEpA1ggAikAWIU3\ +A1ggASABKQNgIAIpAGCFNwNgIAEgASkDaCACKQBohTcDaCABIAEpA3AgAikAcIU3A3AgASABKQN4IA\ +IpAHiFNwN4IAEgASkDgAEgAikAgAGFNwOAASABIAEpA4gBIAIpAIgBhTcDiAEgASABKALIARAfIAJB\ +kAFqIgIgAEcNAAsLAkAgBkGRAU8NACAFIAAgBhBlGiABIAY6AOACDBgLIAZBkAFBgIDAABA9AAsgA0\ +E/cSEAIAIgA0FAcWohBgJAIANBwABJDQAgASABKQMAIANBBnYiA618NwMAIAFBCGogAiADEBQLIAUg\ +BiAAEGUaIAEgADoAYAwWCyADQT9xIQcgAiADQUBxIgBqIQwCQCADQcAASQ0AIAEgASkDACADQQZ2rX\ +w3AwAgAUEIaiEFA0AgBSACEBIgAkHAAGohAiAAQUBqIgANAAsLIAYgDCAHEGUaIAEgBzoAYAwVCyAD\ +QT9xIQAgAiADQUBxaiEGAkAgA0HAAEkNACAEQfAAaiACIANBBnYQGQsgBSAGIAAQZRogASAAOgBYDB\ +QLIANBP3EhBiACIANBQHEiAGohBwJAIANBwABJDQAgASABKQMQIANBBnatfDcDEANAIAEgAhAeIAJB\ +wABqIQIgAEFAaiIADQALCyAFIAcgBhBlGiABIAY6AFgMEwsgAiADQcgAbkHIAGwiBmohACADIAZrIQ\ +YCQCADQcgASQ0AA0AgASABKQMAIAIpAACFNwMAIAEgASkDCCACKQAIhTcDCCABIAEpAxAgAikAEIU3\ +AxAgASABKQMYIAIpABiFNwMYIAEgASkDICACKQAghTcDICABIAEpAyggAikAKIU3AyggASABKQMwIA\ +IpADCFNwMwIAEgASkDOCACKQA4hTcDOCABIAEpA0AgAikAQIU3A0AgASABKALIARAfIAJByABqIgIg\ +AEcNAAsLAkAgBkHJAE8NACAFIAAgBhBlGiABIAY6AJgCDBMLIAZByABBgIDAABA9AAsgAiADQegAbk\ +HoAGwiBmohACADIAZrIQYCQCADQegASQ0AA0AgASABKQMAIAIpAACFNwMAIAEgASkDCCACKQAIhTcD\ +CCABIAEpAxAgAikAEIU3AxAgASABKQMYIAIpABiFNwMYIAEgASkDICACKQAghTcDICABIAEpAyggAi\ +kAKIU3AyggASABKQMwIAIpADCFNwMwIAEgASkDOCACKQA4hTcDOCABIAEpA0AgAikAQIU3A0AgASAB\ +KQNIIAIpAEiFNwNIIAEgASkDUCACKQBQhTcDUCABIAEpA1ggAikAWIU3A1ggASABKQNgIAIpAGCFNw\ +NgIAEgASgCyAEQHyACQegAaiICIABHDQALCwJAIAZB6QBPDQAgBSAAIAYQZRogASAGOgC4AgwSCyAG\ +QegAQYCAwAAQPQALIAIgA0GIAW5BiAFsIgZqIQAgAyAGayEGAkAgA0GIAUkNAANAIAEgASkDACACKQ\ +AAhTcDACABIAEpAwggAikACIU3AwggASABKQMQIAIpABCFNwMQIAEgASkDGCACKQAYhTcDGCABIAEp\ +AyAgAikAIIU3AyAgASABKQMoIAIpACiFNwMoIAEgASkDMCACKQAwhTcDMCABIAEpAzggAikAOIU3Az\ +ggASABKQNAIAIpAECFNwNAIAEgASkDSCACKQBIhTcDSCABIAEpA1AgAikAUIU3A1AgASABKQNYIAIp\ +AFiFNwNYIAEgASkDYCACKQBghTcDYCABIAEpA2ggAikAaIU3A2ggASABKQNwIAIpAHCFNwNwIAEgAS\ +kDeCACKQB4hTcDeCABIAEpA4ABIAIpAIABhTcDgAEgASABKALIARAfIAJBiAFqIgIgAEcNAAsLAkAg\ +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\ +AUGAAWopAwAhYiABQdwAaigCACEIIAFB2ABqKAIAIQkgAUHUAGooAgAhCiABQdAAaigCACELIAFBzA\ +BqKAIAIQwgAUHIAGooAgAhDSABQcQAaigCACEOIAFBwABqKAIAIQ8gAUE8aigCACEQIAFBOGooAgAh\ +ESABQTRqKAIAIRIgAUEwaigCACETIAFBLGooAgAhFCABQShqKAIAIRUgAUEkaigCACEWIAFB/ABqKA\ +IAIRcgAUH4AGooAgAhGCABQfQAaigCACEZIAFB8ABqKAIAIRogAUHsAGooAgAhGyABQegAaigCACEc\ +IAFB5ABqKAIAIR0gAUHgAGooAgAhHiABKAIgIR8MAQsgAUGQAWohFwJAAkACQAJAIAFBiQFqLQAAIg\ +hBBnRBACABQYgBai0AACINa0cNACAFQX5qIQggBUEBTQ0HIAFBigFqLQAAIQ4gA0EYaiAXIAhBBXRq\ +IgxBGGopAAAiYjcDACADQRBqIAxBEGopAAAiYzcDACADQQhqIAxBCGopAAAiZDcDACADQSBqIAVBBX\ +QgF2pBYGoiDSkAACJlNwMAIANBKGogDUEIaikAACJmNwMAIANBMGogDUEQaikAACJnNwMAIANBOGog\ +DUEYaikAACJoNwMAIAMgDCkAACJpNwMAIANB8ABqQThqIGg3AwAgA0HwAGpBMGogZzcDACADQfAAak\ +EoaiBmNwMAIANB8ABqQSBqIGU3AwAgA0HwAGpBGGogYjcDACADQfAAakEQaiBjNwMAIANB8ABqQQhq\ +IGQ3AwAgAyBpNwNwIANByAFqIAFBGGopAwA3AwAgA0HAAWogAUEQaikDADcDACADQbgBaiABQQhqKQ\ +MANwMAIAMgASkDADcDsAEgAyADQfAAakHgABBlIg8gDkEEciIGOgBpQcAAIQ0gD0HAADoAaEIAIWIg\ +D0IANwNgIAhFDQIgBiEODAELIANB8ABqQcgAaiABQegAaikDADcDACADQfAAakHQAGogAUHwAGopAw\ +A3AwAgA0HwAGpB2ABqIAFB+ABqKQMANwMAIANB+ABqIAFBKGopAwA3AwAgA0GAAWogAUEwaikDADcD\ +ACADQYgBaiABQThqKQMANwMAIANBkAFqIAFBwABqKQMANwMAIANB8ABqQShqIAFByABqKQMANwMAIA\ +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\ +IiFXMgASgAMCIUQRh0IBRBgP4DcUEIdHIgFEEIdkGA/gNxIBRBGHZyciIWcyANIAEoAAQiFEEYdCAU\ +QYD+A3FBCHRyIBRBCHZBgP4DcSAUQRh2cnIiF3MgASgAJCIUQRh0IBRBgP4DcUEIdHIgFEEIdkGA/g\ +NxIBRBGHZyciIYcyAIc0EBdyIUc0EBdyIZcyAIIBZzIBlzIA4gGHMgFHMgE3NBAXciGnNBAXciG3Mg\ +EiAUcyAacyARIAhzIBNzIAsgDnMgEnMgASgAKCIcQRh0IBxBgP4DcUEIdHIgHEEIdkGA/gNxIBxBGH\ +ZyciIdIAlzIBFzIAEoABwiHEEYdCAcQYD+A3FBCHRyIBxBCHZBgP4DcSAcQRh2cnIiHiAMcyALcyAV\ +IA9zIB1zIAEoADwiHEEYdCAcQYD+A3FBCHRyIBxBCHZBgP4DcSAcQRh2cnIiHHNBAXciH3NBAXciIH\ +NBAXciIXNBAXciInNBAXciI3NBAXciJHNBAXciJSAZIB9zIBYgHXMgH3MgGCAecyAccyAZc0EBdyIm\ +c0EBdyIncyAUIBxzICZzIBtzQQF3IihzQQF3IilzIBsgJ3MgKXMgGiAmcyAocyAlc0EBdyIqc0EBdy\ +IrcyAkIChzICpzICMgG3MgJXMgIiAacyAkcyAhIBNzICNzICAgEnMgInMgHyARcyAhcyAcIAtzICBz\ +ICdzQQF3IixzQQF3Ii1zQQF3Ii5zQQF3Ii9zQQF3IjBzQQF3IjFzQQF3IjJzQQF3IjMgKSAtcyAnIC\ +FzIC1zICYgIHMgLHMgKXNBAXciNHNBAXciNXMgKCAscyA0cyArc0EBdyI2c0EBdyI3cyArIDVzIDdz\ +ICogNHMgNnMgM3NBAXciOHNBAXciOXMgMiA2cyA4cyAxICtzIDNzIDAgKnMgMnMgLyAlcyAxcyAuIC\ +RzIDBzIC0gI3MgL3MgLCAicyAucyA1c0EBdyI6c0EBdyI7c0EBdyI8c0EBdyI9c0EBdyI+c0EBdyI/\ +c0EBdyJAc0EBdyJBIDcgO3MgNSAvcyA7cyA0IC5zIDpzIDdzQQF3IkJzQQF3IkNzIDYgOnMgQnMgOX\ +NBAXciRHNBAXciRXMgOSBDcyBFcyA4IEJzIERzIEFzQQF3IkZzQQF3IkdzIEAgRHMgRnMgPyA5cyBB\ +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\ +AgCDYCiNRAQQAgBjYChNRAQQBBlNTAADYCoNRAQQBBnNTAADYCqNRAQQBBlNTAADYCnNRAQQBBpNTA\ +ADYCsNRAQQBBnNTAADYCpNRAQQBBrNTAADYCuNRAQQBBpNTAADYCrNRAQQBBtNTAADYCwNRAQQBBrN\ +TAADYCtNRAQQBBvNTAADYCyNRAQQBBtNTAADYCvNRAQQBBxNTAADYC0NRAQQBBvNTAADYCxNRAQQBB\ +zNTAADYC2NRAQQBBxNTAADYCzNRAQQBBADYCkNRAQQBB1NTAADYC4NRAQQBBzNTAADYC1NRAQQBB1N\ +TAADYC3NRAQQBB3NTAADYC6NRAQQBB3NTAADYC5NRAQQBB5NTAADYC8NRAQQBB5NTAADYC7NRAQQBB\ +7NTAADYC+NRAQQBB7NTAADYC9NRAQQBB9NTAADYCgNVAQQBB9NTAADYC/NRAQQBB/NTAADYCiNVAQQ\ +BB/NTAADYChNVAQQBBhNXAADYCkNVAQQBBhNXAADYCjNVAQQBBjNXAADYCmNVAQQBBjNXAADYClNVA\ +QQBBlNXAADYCoNVAQQBBnNXAADYCqNVAQQBBlNXAADYCnNVAQQBBpNXAADYCsNVAQQBBnNXAADYCpN\ +VAQQBBrNXAADYCuNVAQQBBpNXAADYCrNVAQQBBtNXAADYCwNVAQQBBrNXAADYCtNVAQQBBvNXAADYC\ +yNVAQQBBtNXAADYCvNVAQQBBxNXAADYC0NVAQQBBvNXAADYCxNVAQQBBzNXAADYC2NVAQQBBxNXAAD\ +YCzNVAQQBB1NXAADYC4NVAQQBBzNXAADYC1NVAQQBB3NXAADYC6NVAQQBB1NXAADYC3NVAQQBB5NXA\ +ADYC8NVAQQBB3NXAADYC5NVAQQBB7NXAADYC+NVAQQBB5NXAADYC7NVAQQBB9NXAADYCgNZAQQBB7N\ +XAADYC9NVAQQBB/NXAADYCiNZAQQBB9NXAADYC/NVAQQBBhNbAADYCkNZAQQBB/NXAADYChNZAQQBB\ +jNbAADYCmNZAQQBBhNbAADYCjNZAQQAgBjYCsNZAQQBBjNbAADYClNZAQQAgCEFYaiIANgKo1kAgBi\ +AAQQFyNgIEIAYgAGpBKDYCBEEAQYCAgAE2ArzWQAwICyABIAZPDQAgBSABSw0AIAAoAgxFDQMLQQBB\ +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\ +UNACAJQYAIRw0EQQEhCgsgAUH/B3EhAQJAIAogBkEFdiIIIAogCEkbRQ0AIAdBGGoiCCACQRhqKQIA\ +NwMAIAdBEGoiCyACQRBqKQIANwMAIAdBCGoiDCACQQhqKQIANwMAIAcgAikCADcDACAHIABBwAAgAy\ +AEQQFyEBYgByAAQcAAakHAACADIAQQFiAHIABBgAFqQcAAIAMgBBAWIAcgAEHAAWpBwAAgAyAEEBYg\ +ByAAQYACakHAACADIAQQFiAHIABBwAJqQcAAIAMgBBAWIAcgAEGAA2pBwAAgAyAEEBYgByAAQcADak\ +HAACADIAQQFiAHIABBgARqQcAAIAMgBBAWIAcgAEHABGpBwAAgAyAEEBYgByAAQYAFakHAACADIAQQ\ +FiAHIABBwAVqQcAAIAMgBBAWIAcgAEGABmpBwAAgAyAEEBYgByAAQcAGakHAACADIAQQFiAHIABBgA\ +dqQcAAIAMgBBAWIAcgAEHAB2pBwAAgAyAEQQJyEBYgBSAIKQMANwAYIAUgCykDADcAECAFIAwpAwA3\ +AAggBSAHKQMANwAACyABRQ0BIAdBgAFqQThqQgA3AwAgB0GAAWpBMGpCADcDACAHQYABakEoakIANw\ +MAIAdBgAFqQSBqQgA3AwAgB0GAAWpBGGpCADcDACAHQYABakEQakIANwMAIAdBgAFqQQhqQgA3AwAg\ +B0GAAWpByABqIgggAkEIaikCADcDACAHQYABakHQAGoiCyACQRBqKQIANwMAIAdBgAFqQdgAaiIMIA\ +JBGGopAgA3AwAgB0IANwOAASAHIAQ6AOoBIAdBADsB6AEgByACKQIANwPAASAHIAqtIAN8NwPgASAH\ +QYABaiAAIAlqIAEQLCEEIAdByABqIAgpAwA3AwAgB0HQAGogCykDADcDACAHQdgAaiAMKQMANwMAIA\ +dBCGogBEEIaikDADcDACAHQRBqIARBEGopAwA3AwAgB0EYaiAEQRhqKQMANwMAIAdBIGogBEEgaikD\ +ADcDACAHQShqIARBKGopAwA3AwAgB0EwaiAEQTBqKQMANwMAIAdBOGogBEE4aikDADcDACAHIAcpA8\ +ABNwNAIAcgBCkDADcDACAHLQDqASEEIActAOkBIQAgByAHLQDoASIBOgBoIAcgBykD4AEiAzcDYCAH\ +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\ +LQAAITQgGy0AACE1IBwtAAAhNiAdLQAAITcgHi0AACE4ICQtAAAhJCACLQCsASE5IAItAKQBITogAi\ +0AnAEhOyACLQCXASE8IAItAJYBIT0gAi0AlQEhPiACLQCUASE/IAItAJMBIUAgAi0AkgEhQSACLQCR\ +ASFCIAItAJABIUMgDEUNAyAmIEM6AAAgJiBCOgABIANB7gBqICg6AAAgA0HtAGogKToAACADQewAai\ +A5OgAAIANB6gBqICs6AAAgA0HpAGogLDoAACAhICA6AAAgA0HmAGogLjoAACADQeUAaiAvOgAAIANB\ +5ABqIDo6AAAgA0HiAGogMToAACADQeEAaiAyOgAAICMgIjoAACADQd4AaiA0OgAAIANB3QBqIDU6AA\ +AgA0HcAGogOzoAACADQdoAaiA3OgAAIANB2QBqIDg6AAAgJSAkOgAAIANB1gBqID06AAAgA0HVAGog\ +PjoAACADQdQAaiA/OgAAICYgQToAAiADQe8AaiAnOgAAIANB6wBqICo6AAAgA0HnAGogLToAACADQe\ +MAaiAwOgAAIANB3wBqIDM6AAAgA0HbAGogNjoAACADQdcAaiA8OgAAICZBA2ogQDoAACAAIAY2AvAO\ +IAVBYGohBSAfIQYgHyAETw0ACwsgAkHQAWokAA8LQYCHwAAQXgALIAJBrQFqICk6AAAgAkGpAWogLD\ +oAACACQaUBaiAvOgAAIAJBoQFqIDI6AAAgAkGdAWogNToAACACQZkBaiA4OgAAIAJBlQFqID46AAAg\ +AkGuAWogKDoAACACQaoBaiArOgAAIAJBpgFqIC46AAAgAkGiAWogMToAACACQZ4BaiA0OgAAIAJBmg\ +FqIDc6AAAgAkGWAWogPToAACACQa8BaiAnOgAAIAJBqwFqICo6AAAgAkGnAWogLToAACACQaMBaiAw\ +OgAAIAJBnwFqIDM6AAAgAkGbAWogNjoAACACQZcBaiA8OgAAIAIgOToArAEgAiAgOgCoASACIDo6AK\ +QBIAIgIjoAoAEgAiA7OgCcASACICQ6AJgBIAIgPzoAlAEgAiBDOgCQASACIEI6AJEBIAIgQToAkgEg\ +AiBAOgCTAUG0kcAAIAJBkAFqQciIwABBkIfAABA8AAvZCgEafyAAIAEoACwiAiABKAAcIgMgASgADC\ +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\ +QRhqKQAANwAAIAJBEGogAUEQaikAADcAACACQQhqIAFBCGopAAA3AAAgB0EBaiEHCyAGQTBqJAAgBw\ +8LQSAgAUHghcAAED0AC0EgIAlB8IXAABA/AAueBAIDfwR+IwBB4AJrIgIkACACIAFB4AIQZSICQdAB\ +aiACQdgCaiIDLQAAIgRqQQBBiAEgBGsQZiEEIANBADoAACAEQQE6AAAgAkHXAmoiAyADLQAAQYABcj\ +oAACACIAIpAwAgAikD0AGFNwMAIAIgAikDCCACQdgBaikDAIU3AwggAiACKQMQIAJB4AFqKQMAhTcD\ +ECACIAIpAxggAkHoAWopAwCFNwMYIAIgAikDICACQfABaikDAIU3AyAgAiACKQMoIAJB+AFqKQMAhT\ +cDKCACIAIpAzAgAkGAAmopAwCFNwMwIAIgAikDOCACQYgCaikDAIU3AzggAiACKQNAIAJBkAJqKQMA\ +hTcDQCACIAIpA0ggAkGYAmopAwCFNwNIIAIgAikDUCACQaACaikDAIU3A1AgAiACKQNYIAJBqAJqKQ\ +MAhTcDWCACIAIpA2AgAkGwAmopAwCFNwNgIAIgAikDaCACQbgCaikDAIU3A2ggAiACKQNwIAJBwAJq\ +KQMAhTcDcCACIAIpA3ggAkHIAmopAwCFNwN4IAIgAikDgAEgAkHQAmopAwCFNwOAASACIAIoAsgBEB\ +9BAC0AzdZAGiACKQMYIQUgAikDECEGIAIpAwghByACKQMAIQgCQEEgEBciAw0AAAsgAyAFNwAYIAMg\ +BjcAECADIAc3AAggAyAINwAAIAEQISAAQSA2AgQgACADNgIAIAJB4AJqJAALngQCA38EfiMAQeACay\ +ICJAAgAiABQeACEGUiAkHQAWogAkHYAmoiAy0AACIEakEAQYgBIARrEGYhBCADQQA6AAAgBEEGOgAA\ +IAJB1wJqIgMgAy0AAEGAAXI6AAAgAiACKQMAIAIpA9ABhTcDACACIAIpAwggAkHYAWopAwCFNwMIIA\ +IgAikDECACQeABaikDAIU3AxAgAiACKQMYIAJB6AFqKQMAhTcDGCACIAIpAyAgAkHwAWopAwCFNwMg\ +IAIgAikDKCACQfgBaikDAIU3AyggAiACKQMwIAJBgAJqKQMAhTcDMCACIAIpAzggAkGIAmopAwCFNw\ +M4IAIgAikDQCACQZACaikDAIU3A0AgAiACKQNIIAJBmAJqKQMAhTcDSCACIAIpA1AgAkGgAmopAwCF\ +NwNQIAIgAikDWCACQagCaikDAIU3A1ggAiACKQNgIAJBsAJqKQMAhTcDYCACIAIpA2ggAkG4AmopAw\ +CFNwNoIAIgAikDcCACQcACaikDAIU3A3AgAiACKQN4IAJByAJqKQMAhTcDeCACIAIpA4ABIAJB0AJq\ +KQMAhTcDgAEgAiACKALIARAfQQAtAM3WQBogAikDGCEFIAIpAxAhBiACKQMIIQcgAikDACEIAkBBIB\ +AXIgMNAAALIAMgBTcAGCADIAY3ABAgAyAHNwAIIAMgCDcAACABECEgAEEgNgIEIAAgAzYCACACQeAC\ +aiQAC70DAgZ/AX4jAEGQA2siAiQAIAJBIGogAUHQARBlGiACIAIpA2AgAkHoAWotAAAiA618NwNgIA\ +JB6ABqIQQCQCADQYABRg0AIAQgA2pBAEGAASADaxBmGgsgAkEAOgDoASACQSBqIARCfxARIAJBkAJq\ +QQhqIgMgAkEgakEIaikDADcDACACQZACakEQaiIEIAJBIGpBEGopAwA3AwAgAkGQAmpBGGoiBSACQS\ +BqQRhqKQMANwMAIAJBkAJqQSBqIAIpA0A3AwAgAkGQAmpBKGogAkEgakEoaikDADcDACACQZACakEw\ +aiACQSBqQTBqKQMANwMAIAJBkAJqQThqIAJBIGpBOGopAwA3AwAgAiACKQMgNwOQAiACQfABakEQai\ +AEKQMAIgg3AwAgAkEIaiIEIAMpAwA3AwAgAkEQaiIGIAg3AwAgAkEYaiIHIAUpAwA3AwAgAiACKQOQ\ +AjcDAEEALQDN1kAaAkBBIBAXIgMNAAALIAMgAikDADcAACADQRhqIAcpAwA3AAAgA0EQaiAGKQMANw\ +AAIANBCGogBCkDADcAACABECEgAEEgNgIEIAAgAzYCACACQZADaiQAC6ADAQJ/AkACQAJAAkACQCAA\ +LQBoIgNFDQAgA0HBAE8NAyAAIANqIAFBwAAgA2siAyACIAMgAkkbIgMQZRogACAALQBoIANqIgQ6AG\ +ggASADaiEBAkAgAiADayICDQBBACECDAILIABBwABqIABBwAAgACkDYCAALQBqIAAtAGlFchAWIABC\ +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\ +A2AgggBCACNgIUIAQgATYCECAEQRhqQQxqQgI3AgAgBEEwakEMakEBNgIAIARBAjYCHCAEQeyJwAA2\ +AhggBEECNgI0IAQgBEEwajYCICAEIARBEGo2AjggBCAEQQhqNgIwIARBGGogAxBLAAtyAQF/IwBBMG\ +siAyQAIAMgADYCACADIAE2AgQgA0EIakEMakICNwIAIANBIGpBDGpBAzYCACADQQI2AgwgA0GYjMAA\ +NgIIIANBAzYCJCADIANBIGo2AhAgAyADQQRqNgIoIAMgAzYCICADQQhqIAIQSwALcgEBfyMAQTBrIg\ +MkACADIAA2AgAgAyABNgIEIANBCGpBDGpCAjcCACADQSBqQQxqQQM2AgAgA0ECNgIMIANB+IvAADYC\ +CCADQQM2AiQgAyADQSBqNgIQIAMgA0EEajYCKCADIAM2AiAgA0EIaiACEEsAC3IBAX8jAEEwayIDJA\ +AgAyABNgIEIAMgADYCACADQQhqQQxqQgI3AgAgA0EgakEMakEDNgIAIANBAzYCDCADQeiMwAA2Aggg\ +A0EDNgIkIAMgA0EgajYCECADIAM2AiggAyADQQRqNgIgIANBCGogAhBLAAtyAQF/IwBBMGsiAyQAIA\ +MgATYCBCADIAA2AgAgA0EIakEMakICNwIAIANBIGpBDGpBAzYCACADQQI2AgwgA0HYicAANgIIIANB\ +AzYCJCADIANBIGo2AhAgAyADNgIoIAMgA0EEajYCICADQQhqIAIQSwALYwECfyMAQSBrIgIkACACQQ\ +xqQgE3AgAgAkEBNgIEIAJBkIjAADYCACACQQI2AhwgAkGwiMAANgIYIAFBGGooAgAhAyACIAJBGGo2\ +AgggASgCFCADIAIQJyEBIAJBIGokACABC2MBAn8jAEEgayICJAAgAkEMakIBNwIAIAJBATYCBCACQZ\ +CIwAA2AgAgAkECNgIcIAJBsIjAADYCGCABQRhqKAIAIQMgAiACQRhqNgIIIAEoAhQgAyACECchASAC\ +QSBqJAAgAQtbAQJ/AkACQCAARQ0AIAAoAgANASAAQQA2AgAgAEEIaigCACEBIAAoAgQhAiAAECECQC\ +ACQQdHDQAgAUHwDmooAgBFDQAgAUEANgLwDgsgARAhDwsQYQALEGIAC2UBAX9BAEEAKAKA00AiAkEB\ +ajYCgNNAAkAgAkEASA0AQQAtAMzWQEEBcQ0AQQBBAToAzNZAQQBBACgCyNZAQQFqNgLI1kBBACgC/N\ +JAQX9MDQBBAEEAOgDM1kAgAEUNABBoAAsAC1EAAkAgAWlBAUcNAEGAgICAeCABayAASQ0AAkAgAEUN\ +AEEALQDN1kAaAkACQCABQQlJDQAgASAAEC0hAQwBCyAAEBchAQsgAUUNAQsgAQ8LAAtKAQN/QQAhAw\ +JAIAJFDQACQANAIAAtAAAiBCABLQAAIgVHDQEgAEEBaiEAIAFBAWohASACQX9qIgJFDQIMAAsLIAQg\ +BWshAwsgAwtEAAJAAkAgAUUNACABKAIADQEgAUF/NgIAIAFBBGooAgAgAUEIaigCACACEDcgAUEANg\ +IAIABCADcDAA8LEGEACxBiAAtHAQF/IwBBIGsiAyQAIANBDGpCADcCACADQQE2AgQgA0HgkcAANgII\ +IAMgATYCHCADIAA2AhggAyADQRhqNgIAIAMgAhBLAAtCAQF/AkACQAJAIAJBgIDEAEYNAEEBIQQgAC\ +ACIAEoAhARBQANAQsgAw0BQQAhBAsgBA8LIAAgA0EAIAEoAgwRBwALPwEBfyMAQSBrIgAkACAAQRRq\ +QgA3AgAgAEEBNgIMIABBvITAADYCCCAAQeCRwAA2AhAgAEEIakHEhMAAEEsACz4BAX8jAEEgayICJA\ +AgAkEBOwEcIAIgATYCGCACIAA2AhQgAkGUicAANgIQIAJB4JHAADYCDCACQQxqEFgACzwBAX8gAEEM\ +aigCACECAkACQCAAKAIEDgIAAAELIAINACABLQAQIAEtABEQRAALIAEtABAgAS0AERBEAAsvAAJAAk\ +AgA2lBAUcNAEGAgICAeCADayABSQ0AIAAgASADIAIQJCIDDQELAAsgAwslAAJAIAANAEGUjsAAQTIQ\ +YwALIAAgAiADIAQgBSABKAIQEQsACyMAAkAgAA0AQZSOwABBMhBjAAsgACACIAMgBCABKAIQEQkACy\ +MAAkAgAA0AQZSOwABBMhBjAAsgACACIAMgBCABKAIQEQgACyMAAkAgAA0AQZSOwABBMhBjAAsgACAC\ +IAMgBCABKAIQEQkACyMAAkAgAA0AQZSOwABBMhBjAAsgACACIAMgBCABKAIQEQgACyMAAkAgAA0AQZ\ +SOwABBMhBjAAsgACACIAMgBCABKAIQEQgACyMAAkAgAA0AQZSOwABBMhBjAAsgACACIAMgBCABKAIQ\ +ERYACyMAAkAgAA0AQZSOwABBMhBjAAsgACACIAMgBCABKAIQERcACyMAAkAgAA0AQZSOwABBMhBjAA\ +sgACACIAMgBCABKAIQERUACyEAAkAgAA0AQZSOwABBMhBjAAsgACACIAMgASgCEBEGAAsfAQF/AkAg\ +ACgCCCIBDQBB/JHAABBeAAsgASAAEGQACx8AAkAgAA0AQZSOwABBMhBjAAsgACACIAEoAhARBQALFA\ +AgACgCACABIAAoAgQoAgwRBQALEAAgASAAKAIAIAAoAgQQHAsgACAAQr/vtPrh37HYXzcDCCAAQqn2\ +w62BitaoUTcDAAsOAAJAIAFFDQAgABAhCwsOAEHpiMAAQSsgABBIAAsNACAAKAIAGgN/DAALCwsAIA\ +AjAGokACMACwwAQZDSwABBGxBjAAsNAEGr0sAAQc8AEGMACwkAIAAgARALAAsJACAAIAEQTAALCgAg\ +ACABIAIQLwsKACAAIAEgAhA4CwoAIAAgASACEEYLAwAACwIACwIACwIACwuEUwEAQYCAwAAL+lKABh\ +AAYAAAAK4AAAAUAAAAQkxBS0UyQkJMQUtFMkItMTI4QkxBS0UyQi0xNjBCTEFLRTJCLTIyNEJMQUtF\ +MkItMjU2QkxBS0UyQi0zODRCTEFLRTJTQkxBS0UzS0VDQ0FLLTIyNEtFQ0NBSy0yNTZLRUNDQUstMz\ +g0S0VDQ0FLLTUxMk1ENE1ENVJJUEVNRC0xNjBTSEEtMVNIQS0yMjRTSEEtMjU2U0hBLTM4NFNIQS01\ +MTJUSUdFUkZOVjMyRk5WMzJBRk5WNjRGTlY2NEF1bnN1cHBvcnRlZCBhbGdvcml0aG0AAAAA782riW\ +dFIwEQMlR2mLrc/ofhssO0pZbwCMm882fmCWo7p8qEha5nuyv4lP5y82488TYdXzr1T6XRguatf1IO\ +UR9sPiuMaAWba71B+6vZgx95IX4TGc3gW9ieBcFdnbvLB9V8NiopmmIX3XAwWgFZkTlZDvfY7C8VMQ\ +vA/2cmM2cRFVhoh0q0jqeP+WQNLgzbpE/6vh1ItUdn5glqha5nu3Lzbjw69U+lf1IOUYxoBZur2YMf\ +Gc3gW9ieBcEH1Xw2F91wMDlZDvcxC8D/ERVYaKeP+WSkT/q+ASNFZ4mrze/+3LqYdlQyEPDh0sNub2\ +4tZGVmYXVsdCBsZW5ndGggc3BlY2lmaWVkIGZvciBub24tZXh0ZW5kYWJsZSBhbGdvcml0aG1saWJy\ +YXJ5L2FsbG9jL3NyYy9yYXdfdmVjLnJzY2FwYWNpdHkgb3ZlcmZsb3cAACkCEAARAAAADQIQABwAAA\ +A6AgAABQAAAC9Vc2Vycy9hc2hlci8uY2FyZ28vcmVnaXN0cnkvc3JjL2luZGV4LmNyYXRlcy5pby02\ +ZjE3ZDIyYmJhMTUwMDFmL2JsYWtlMy0xLjUuMS9zcmMvbGliLnJzAAAAVAIQAFkAAADwAQAAEQAAAF\ +QCEABZAAAAlgIAAAoAAABUAhAAWQAAAIICAAAWAAAAVAIQAFkAAADEAgAAKAAAAFQCEABZAAAAxAIA\ +ADQAAABUAhAAWQAAAMQCAAAMAAAAVAIQAFkAAAC0AgAAFwAAAFQCEABZAAAA8AIAAB8AAABUAhAAWQ\ +AAAA0DAAAMAAAAVAIQAFkAAAAUAwAAEgAAAFQCEABZAAAAOAMAACEAAABUAhAAWQAAADoDAAARAAAA\ +VAIQAFkAAAA6AwAAQQAAAFQCEABZAAAAKgQAADIAAABUAhAAWQAAADIEAAAbAAAAVAIQAFkAAABZBA\ +AAFwAAAFQCEABZAAAAvQQAABsAAABUAhAAWQAAAM8EAAAbAAAAVAIQAFkAAAAABQAAEgAAAFQCEABZ\ +AAAACgUAABIAAABUAhAAWQAAADcGAAAmAAAAQ2FwYWNpdHlFcnJvcjogAAAEEAAPAAAAaW5zdWZmaW\ +NpZW50IGNhcGFjaXR5AAAAGAQQABUAAAARAAAABAAAAAQAAAASAAAAEwAAACAAAAABAAAAFAAAABEA\ +AAAEAAAABAAAABIAAAApY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZR\ +UAAAAAAAAAAQAAABYAAABpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzICBidXQgdGhlIGlu\ +ZGV4IGlzIAAApAQQACAAAADEBBAAEgAAADogAADgCBAAAAAAAOgEEAACAAAAMDAwMTAyMDMwNDA1MD\ +YwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1\ +MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2ND\ +Y1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5\ +NDk1OTY5Nzk4OTlyYW5nZSBzdGFydCBpbmRleCAgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW\ +5ndGggxAUQABIAAADWBRAAIgAAAHJhbmdlIGVuZCBpbmRleCAIBhAAEAAAANYFEAAiAAAAc291cmNl\ +IHNsaWNlIGxlbmd0aCAoKSBkb2VzIG5vdCBtYXRjaCBkZXN0aW5hdGlvbiBzbGljZSBsZW5ndGggKC\ +gGEAAVAAAAPQYQACsAAABoBBAAAQAAAC9Vc2Vycy9hc2hlci8uY2FyZ28vcmVnaXN0cnkvc3JjL2lu\ +ZGV4LmNyYXRlcy5pby02ZjE3ZDIyYmJhMTUwMDFmL2Jsb2NrLWJ1ZmZlci0wLjEwLjQvc3JjL2xpYi\ +5yc4AGEABgAAAAWAEAAB4AAACABhAAYAAAABUBAAAsAAAAbWlkID4gbGVuAAAAAAcQAAkAAABjbG9z\ +dXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZAAAAQAAAAAAAACCgA\ +AAAAAAAIqAAAAAAACAAIAAgAAAAICLgAAAAAAAAAEAAIAAAAAAgYAAgAAAAIAJgAAAAAAAgIoAAAAA\ +AAAAiAAAAAAAAAAJgACAAAAAAAoAAIAAAAAAi4AAgAAAAACLAAAAAAAAgImAAAAAAACAA4AAAAAAAI\ +ACgAAAAAAAgIAAAAAAAACACoAAAAAAAAAKAACAAAAAgIGAAIAAAACAgIAAAAAAAIABAACAAAAAAAiA\ +AIAAAACAL1VzZXJzL2FzaGVyLy5jYXJnby9yZWdpc3RyeS9zcmMvaW5kZXguY3JhdGVzLmlvLTZmMT\ +dkMjJiYmExNTAwMWYva2VjY2FrLTAuMS41L3NyYy9saWIucnNBIHJvdW5kX2NvdW50IGdyZWF0ZXIg\ +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\ +lGAMj52EkyY/uI4+2bz4Ce8WwRmlOBGFck1Wv38wNRqPdHrvXmtxXPnH7U3sbX2xq7KAJBXOVEmU7b\ +XiXUR7Yw/Kq4K4gRXSoh0ym7iwn1s5YC6RTqtY9aAt1XIZR7Z7WskKPA51j7AUq9g0xn04k7ufNL36\ +QtnilIq4wyHsT8UixYupaM8wOyXdh/vb3RyoOugmDBQrS7sJrapWvoX7k/qXE3ZwQusthSMUnJWFOE\ +HlS0l4ZIKr5maY7TLdyilSuFPJKsESzAe6jyDZmxiCO+N08b+giAfAPlVE3I0HAf1FfOfuytkFQ6Og\ +bZJzwrAL+iMICEo65+wAMg7W0yAsaGQKlpfSing4p69TDLX3rFeefreeREaLXpvNwFD7Rzo+IOV4hu\ +eBrXoPbovc26nIcvo2TBvNFql4vXZpZe4iGrPMPl5apjEJCQjWlIRLMYmLuKHj6uh2TjtNw7iTH5va\ +8Z1btf3KBFY8pllJsm/iiG7FGcP2ABXR63SVChBkDkTbHLdvflcGy/7StV7/IYEkGjNlpwCAcMy0Rg\ +mE91FE3nDiioDkPZVs1lUF9T15ElwZbvCnLxIzLIH6Vjc285oMNudWxsIHBvaW50ZXIgcGFzc2VkIH\ +RvIHJ1c3RyZWN1cnNpdmUgdXNlIG9mIGFuIG9iamVjdCBkZXRlY3RlZCB3aGljaCB3b3VsZCBsZWFk\ +IHRvIHVuc2FmZSBhbGlhc2luZyBpbiBydXN0AJkxBG5hbWUBkTFsAEVqc19zeXM6OlR5cGVFcnJvcj\ +o6bmV3OjpfX3diZ19uZXdfNWRkODZlYmM5MTdkOWY1Mjo6aGY1NGY0OTM5ZTliNTEwNzABO3dhc21f\ +YmluZGdlbjo6X193YmluZGdlbl9vYmplY3RfZHJvcF9yZWY6Omg5NjQwNjIwM2Y3MjdhNTRjAlVqc1\ +9zeXM6OlVpbnQ4QXJyYXk6OmJ5dGVfbGVuZ3RoOjpfX3diZ19ieXRlTGVuZ3RoXzU4ZjdiNGZhYjE5\ +MTlkNDQ6Omg0MjEyYmQ1MmQ1ODhiMWZhA1Vqc19zeXM6OlVpbnQ4QXJyYXk6OmJ5dGVfb2Zmc2V0Oj\ +pfX3diZ19ieXRlT2Zmc2V0XzgxZDYwZjczOTI1MjRmNjI6OmgwNTY1ZGY3MDgwYzVlMGZlBExqc19z\ +eXM6OlVpbnQ4QXJyYXk6OmJ1ZmZlcjo6X193YmdfYnVmZmVyX2RkN2Y3NGJjNjBmMWZhYWI6Omg5OG\ +U4YzFhODM5NjEwMTQzBXlqc19zeXM6OlVpbnQ4QXJyYXk6Om5ld193aXRoX2J5dGVfb2Zmc2V0X2Fu\ +ZF9sZW5ndGg6Ol9fd2JnX25ld3dpdGhieXRlb2Zmc2V0YW5kbGVuZ3RoX2FhNGExN2MzM2EwNmU1Y2\ +I6OmhhNjkyZmRlODRlZmNkYWNkBkxqc19zeXM6OlVpbnQ4QXJyYXk6Omxlbmd0aDo6X193YmdfbGVu\ +Z3RoX2MyMGE0MGYxNTAyMGQ2OGE6Omg2MGFiY2ZiZTMxZDM3MzZlBzJ3YXNtX2JpbmRnZW46Ol9fd2\ +JpbmRnZW5fbWVtb3J5OjpoOTcwNjg1NjYyMjFiOTNiZghVanNfc3lzOjpXZWJBc3NlbWJseTo6TWVt\ +b3J5OjpidWZmZXI6Ol9fd2JnX2J1ZmZlcl8xMmQwNzljYzIxZTE0YmRiOjpoNDAyOTdkZjczNmE1Mz\ +Q3ZQlGanNfc3lzOjpVaW50OEFycmF5OjpuZXc6Ol9fd2JnX25ld182M2I5MmJjODY3MWVkNDY0Ojpo\ +NjJhZGMxNWU2N2QyNjA2NQpGanNfc3lzOjpVaW50OEFycmF5OjpzZXQ6Ol9fd2JnX3NldF9hNDdiYW\ +M3MDMwNmExOWE3OjpoY2I2NmI3ZmE4N2EzNjMwNwsxd2FzbV9iaW5kZ2VuOjpfX3diaW5kZ2VuX3Ro\ +cm93OjpoM2MyYWM2Y2ZhMGE4ZDQ4MgxAZGVub19zdGRfd2FzbV9jcnlwdG86OmRpZ2VzdDo6Q29udG\ +V4dDo6dXBkYXRlOjpoN2IwMDc0NWNiZTIzODY1Mw0sc2hhMjo6c2hhNTEyOjpjb21wcmVzczUxMjo6\ +aDE3ZTQyNGZiNDcwMjk3MmEOLHNoYTI6OnNoYTI1Njo6Y29tcHJlc3MyNTY6Omg3Y2Y2NDJlZjc2OD\ +Y0YTkzD0lkZW5vX3N0ZF93YXNtX2NyeXB0bzo6ZGlnZXN0OjpDb250ZXh0OjpkaWdlc3RfYW5kX2Ry\ +b3A6OmhjNTZkZDUwNzFmNTg4ZWZkEDtkaWdlc3Q6OkV4dGVuZGFibGVPdXRwdXQ6OmZpbmFsaXplX2\ +JveGVkOjpoNzlhYTg0MjlkMzc3ZWQwNREzYmxha2UyOjpCbGFrZTJiVmFyQ29yZTo6Y29tcHJlc3M6\ +OmhmZDNjYjE1ODM2NGZjNThlEilyaXBlbWQ6OmMxNjA6OmNvbXByZXNzOjpoZWQ1OTFlNDg3ZDM1OD\ +A3ZRMzYmxha2UyOjpCbGFrZTJzVmFyQ29yZTo6Y29tcHJlc3M6OmhlZGE4MzJmNzhlMGEyMDM0FCtz\ +aGExOjpjb21wcmVzczo6Y29tcHJlc3M6Omg4ZGZjMzY3YzJiZjRlNDgxFSx0aWdlcjo6Y29tcHJlc3\ +M6OmNvbXByZXNzOjpoZDI5OWUxODU5OGYzYzUzNxY2Ymxha2UzOjpwb3J0YWJsZTo6Y29tcHJlc3Nf\ +aW5fcGxhY2U6Omg1YzRkMGM2ZGE3NTI2NWI0FzpkbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jPE\ +E+OjptYWxsb2M6OmgyYWJiZTFlNGYxOWNmNWYxGD1kZW5vX3N0ZF93YXNtX2NyeXB0bzo6ZGlnZXN0\ +OjpDb250ZXh0OjpuZXc6OmhhMjUxYjE3NzdhYjA5NTZhGWU8ZGlnZXN0Ojpjb3JlX2FwaTo6d3JhcH\ +Blcjo6Q29yZVdyYXBwZXI8VD4gYXMgZGlnZXN0OjpVcGRhdGU+Ojp1cGRhdGU6Ont7Y2xvc3VyZX19\ +OjpoY2NmM2MzODIxZTMzODIwNxpoPG1kNTo6TWQ1Q29yZSBhcyBkaWdlc3Q6OmNvcmVfYXBpOjpGaX\ +hlZE91dHB1dENvcmU+OjpmaW5hbGl6ZV9maXhlZF9jb3JlOjp7e2Nsb3N1cmV9fTo6aDFjMWM4NjE1\ +ZTU1OGQ4YWUbMGJsYWtlMzo6Y29tcHJlc3Nfc3VidHJlZV93aWRlOjpoNDM0MmYwNzRjMmY3Y2RhOB\ +wsY29yZTo6Zm10OjpGb3JtYXR0ZXI6OnBhZDo6aDYyOGZmMGU1NmJmNDQ5MTMdMWJsYWtlMzo6SGFz\ +aGVyOjptZXJnZV9jdl9zdGFjazo6aGFiODAwNWNiN2FiYTVjNDYeIG1kNDo6Y29tcHJlc3M6OmgyNT\ +hmN2I3YTE3OGY2MmE4HyBrZWNjYWs6OnAxNjAwOjpoNmFhOTI4Mzg3ZWE0ZDQ3ZSByPHNoYTI6OmNv\ +cmVfYXBpOjpTaGE1MTJWYXJDb3JlIGFzIGRpZ2VzdDo6Y29yZV9hcGk6OlZhcmlhYmxlT3V0cHV0Q2\ +9yZT46OmZpbmFsaXplX3ZhcmlhYmxlX2NvcmU6OmgxMjY3ZjljMGM0YmEzMjA0IThkbG1hbGxvYzo6\ +ZGxtYWxsb2M6OkRsbWFsbG9jPEE+OjpmcmVlOjpoNjQ1OGZjZDkzYjg1MTIwZCJOY29yZTo6Zm10Oj\ +pudW06OmltcDo6PGltcGwgY29yZTo6Zm10OjpEaXNwbGF5IGZvciB1MzI+OjpmbXQ6Omg5M2ZhYjRm\ +ODllOWE0NjFhI0FkbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jPEE+OjpkaXNwb3NlX2NodW5rOj\ +poZDZhZTg5ZjI5MGFlYjcwZCQOX19ydXN0X3JlYWxsb2MlO2RpZ2VzdDo6RXh0ZW5kYWJsZU91dHB1\ +dDo6ZmluYWxpemVfYm94ZWQ6OmgxZTc2YjQ5NzU2OTkyNGI3JnI8c2hhMjo6Y29yZV9hcGk6OlNoYT\ +I1NlZhckNvcmUgYXMgZGlnZXN0Ojpjb3JlX2FwaTo6VmFyaWFibGVPdXRwdXRDb3JlPjo6ZmluYWxp\ +emVfdmFyaWFibGVfY29yZTo6aGE5ZTk4ZjQ3NTQ4YzUxZDUnI2NvcmU6OmZtdDo6d3JpdGU6Omg0Mj\ +A2ZTA2OTVmMjQ0ZDU4KDRibGFrZTM6OmNvbXByZXNzX3BhcmVudHNfcGFyYWxsZWw6OmhiMDY5NmFk\ +YmMxMWMzOTY4KT08RCBhcyBkaWdlc3Q6OmRpZ2VzdDo6RHluRGlnZXN0Pjo6ZmluYWxpemU6OmhhMz\ +YwNTZiYjQ3ZmZhNTFlKj08RCBhcyBkaWdlc3Q6OmRpZ2VzdDo6RHluRGlnZXN0Pjo6ZmluYWxpemU6\ +Omg3YTM5YzBmN2M0NmU1MjhjKz08RCBhcyBkaWdlc3Q6OmRpZ2VzdDo6RHluRGlnZXN0Pjo6ZmluYW\ +xpemU6OmhmZjFkYjAyN2I1MzFiYTIxLC1ibGFrZTM6OkNodW5rU3RhdGU6OnVwZGF0ZTo6aDE5NzQ2\ +YTJhZThjMjMwNTQtPGRsbWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M8QT46Om1lbWFsaWduOjpoOW\ +I2NDQ2ZDVhY2ZjNmVjYi5AZGxtYWxsb2M6OmRsbWFsbG9jOjpEbG1hbGxvYzxBPjo6dW5saW5rX2No\ +dW5rOjpoY2UwODFmMjY0MDI3YzVhZS8xY29tcGlsZXJfYnVpbHRpbnM6Om1lbTo6bWVtY3B5OjpoZm\ +YzMmQxNDRhYWJjNDg4YjByPGRpZ2VzdDo6Y29yZV9hcGk6OnhvZl9yZWFkZXI6OlhvZlJlYWRlckNv\ +cmVXcmFwcGVyPFQ+IGFzIGRpZ2VzdDo6WG9mUmVhZGVyPjo6cmVhZDo6e3tjbG9zdXJlfX06Omg1MT\ +g3ZWFkMmFlOWM0OTJjMT08RCBhcyBkaWdlc3Q6OmRpZ2VzdDo6RHluRGlnZXN0Pjo6ZmluYWxpemU6\ +Omg3ZWE0YmIxNmJmYWViMzlmMkZkbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jPEE+OjppbnNlcn\ +RfbGFyZ2VfY2h1bms6Omg4YWRhMTRkNWE5MDA0NWRlMxtkaWdlc3Rjb250ZXh0X2RpZ2VzdEFuZERy\ +b3A0cjxkaWdlc3Q6OmNvcmVfYXBpOjp4b2ZfcmVhZGVyOjpYb2ZSZWFkZXJDb3JlV3JhcHBlcjxUPi\ +BhcyBkaWdlc3Q6OlhvZlJlYWRlcj46OnJlYWQ6Ont7Y2xvc3VyZX19OjpoZWU0ZWY1YWQxNzJmMDg3\ +MzUGZGlnZXN0Nj08RCBhcyBkaWdlc3Q6OmRpZ2VzdDo6RHluRGlnZXN0Pjo6ZmluYWxpemU6OmhlOT\ +cwZDZlNTQ5YWZkNGZmNz5kZW5vX3N0ZF93YXNtX2NyeXB0bzo6RGlnZXN0Q29udGV4dDo6dXBkYXRl\ +OjpoODI2MzRkMTg4ODQyYTViYjgxY29tcGlsZXJfYnVpbHRpbnM6Om1lbTo6bWVtc2V0OjpoNGY5NT\ +E0OGE0NmI3ZmFjNDkRZGlnZXN0Y29udGV4dF9uZXc6LWpzX3N5czo6VWludDhBcnJheTo6dG9fdmVj\ +OjpoOWIzMTY4M2JkYTE4NTBlYzs/d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6aW52b2\ +tlM19tdXQ6Omg1NmM2NjMxMmE5ZGRiODgwPC5jb3JlOjpyZXN1bHQ6OnVud3JhcF9mYWlsZWQ6Omhh\ +ZDcwNDkxYzYyZWU2ODFiPT9jb3JlOjpzbGljZTo6aW5kZXg6OnNsaWNlX2VuZF9pbmRleF9sZW5fZm\ +FpbDo6aGE4YjlhOWIzYWZhZWMwZTg+QWNvcmU6OnNsaWNlOjppbmRleDo6c2xpY2Vfc3RhcnRfaW5k\ +ZXhfbGVuX2ZhaWw6OmgwZGEzZjM3MTE4ZDhkMGQ3P05jb3JlOjpzbGljZTo6PGltcGwgW1RdPjo6Y2\ +9weV9mcm9tX3NsaWNlOjpsZW5fbWlzbWF0Y2hfZmFpbDo6aGM2ODk0ZDBmNjI1ZTk3MDhANmNvcmU6\ +OnBhbmlja2luZzo6cGFuaWNfYm91bmRzX2NoZWNrOjpoMzBhNTU4M2M0NmY2MzMxN0FQPGFycmF5dm\ +VjOjplcnJvcnM6OkNhcGFjaXR5RXJyb3I8VD4gYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDdm\ +N2U3YmE2MjU0MGYxZjNCUDxhcnJheXZlYzo6ZXJyb3JzOjpDYXBhY2l0eUVycm9yPFQ+IGFzIGNvcm\ +U6OmZtdDo6RGVidWc+OjpmbXQ6Omg5ZWZmMjkwODYzZWVjNjFkQxhfX3diZ19kaWdlc3Rjb250ZXh0\ +X2ZyZWVEN3N0ZDo6cGFuaWNraW5nOjpydXN0X3BhbmljX3dpdGhfaG9vazo6aDlhYWJkOTA2MjE4OD\ +k3YzNFEV9fd2JpbmRnZW5fbWFsbG9jRjFjb21waWxlcl9idWlsdGluczo6bWVtOjptZW1jbXA6Omhh\ +ZDVkNjUxNGEyM2NjZWZmRxRkaWdlc3Rjb250ZXh0X3VwZGF0ZUgpY29yZTo6cGFuaWNraW5nOjpwYW\ +5pYzo6aDExYTIwMjFkOTJkYzFjYmJJQ2NvcmU6OmZtdDo6Rm9ybWF0dGVyOjpwYWRfaW50ZWdyYWw6\ +OndyaXRlX3ByZWZpeDo6aDZjOWE3Njk3NzdhYWQ2NzRKNGFsbG9jOjpyYXdfdmVjOjpjYXBhY2l0eV\ +9vdmVyZmxvdzo6aDRlNWU5MDZiMTcyOWQwMTFLLWNvcmU6OnBhbmlja2luZzo6cGFuaWNfZm10Ojpo\ +M2FmZjg1NWZlOTM4YzEzZkxDc3RkOjpwYW5pY2tpbmc6OmJlZ2luX3BhbmljX2hhbmRsZXI6Ont7Y2\ +xvc3VyZX19OjpoOTZkMmJjMzgxZmE2ZWUxZU0SX193YmluZGdlbl9yZWFsbG9jTj93YXNtX2JpbmRn\ +ZW46OmNvbnZlcnQ6OmNsb3N1cmVzOjppbnZva2U0X211dDo6aGE4NWM3OTVkNWJiNDI0MTdPP3dhc2\ +1fYmluZGdlbjo6Y29udmVydDo6Y2xvc3VyZXM6Omludm9rZTNfbXV0OjpoYTlkZjAyMTQ0YTQwMGI3\ +MVA/d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6aW52b2tlM19tdXQ6Omg2OTFjYjgxZD\ +dhODI4MTlhUT93YXNtX2JpbmRnZW46OmNvbnZlcnQ6OmNsb3N1cmVzOjppbnZva2UzX211dDo6aDZh\ +MmUyNzUzOGUxZmQ4MTBSP3dhc21fYmluZGdlbjo6Y29udmVydDo6Y2xvc3VyZXM6Omludm9rZTNfbX\ +V0OjpoMDUxODkyNmI4ZTg5ZmI5NFM/d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6aW52\ +b2tlM19tdXQ6Omg5NWM1OTk3NGZkZGVhNWI3VD93YXNtX2JpbmRnZW46OmNvbnZlcnQ6OmNsb3N1cm\ +VzOjppbnZva2UzX211dDo6aDJjMTI4NDcwMjVmMzBjOTlVP3dhc21fYmluZGdlbjo6Y29udmVydDo6\ +Y2xvc3VyZXM6Omludm9rZTNfbXV0OjpoNzY0Yzc0ODFiYzM1Y2E2YVY/d2FzbV9iaW5kZ2VuOjpjb2\ +52ZXJ0OjpjbG9zdXJlczo6aW52b2tlM19tdXQ6OmgwOTgxODgyNjA0MDY0MGE1Vz93YXNtX2JpbmRn\ +ZW46OmNvbnZlcnQ6OmNsb3N1cmVzOjppbnZva2UyX211dDo6aDBiZTc2OTU2MDFiM2RmNGRYEXJ1c3\ +RfYmVnaW5fdW53aW5kWT93YXNtX2JpbmRnZW46OmNvbnZlcnQ6OmNsb3N1cmVzOjppbnZva2UxX211\ +dDo6aDNhODY3YjY0ZmUwYWFiNmZaMDwmVCBhcyBjb3JlOjpmbXQ6OkRlYnVnPjo6Zm10OjpoNTM3Nz\ +kzYWE4MjQxMDQ4MFsyPCZUIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aDNhYWRlZGFlZDIw\ +OGQ2MTBcMTxUIGFzIGNvcmU6OmFueTo6QW55Pjo6dHlwZV9pZDo6aGU1MmMxZDgyMGFjZjI0MTldD1\ +9fd2JpbmRnZW5fZnJlZV4uY29yZTo6b3B0aW9uOjp1bndyYXBfZmFpbGVkOjpoMGUwYjIzMTYyM2Uw\ +ZDAwNF85Y29yZTo6b3BzOjpmdW5jdGlvbjo6Rm5PbmNlOjpjYWxsX29uY2U6OmhhY2E1ZDVhNmNjNz\ +YwY2I2YB9fX3diaW5kZ2VuX2FkZF90b19zdGFja19wb2ludGVyYTF3YXNtX2JpbmRnZW46Ol9fcnQ6\ +OnRocm93X251bGw6OmhkNmJjZTg5MGIxMjgyMDk3YjJ3YXNtX2JpbmRnZW46Ol9fcnQ6OmJvcnJvd1\ +9mYWlsOjpoYmMzYmQxMjRhYTdhNmIyM2Mqd2FzbV9iaW5kZ2VuOjp0aHJvd19zdHI6OmhhNjgwY2I3\ +ZjEyZTAyYzk4ZElzdGQ6OnN5c19jb21tb246OmJhY2t0cmFjZTo6X19ydXN0X2VuZF9zaG9ydF9iYW\ +NrdHJhY2U6OmhhNzY1MTNhNzBiYjA3MGIwZQZtZW1jcHlmBm1lbXNldGcGbWVtY21waApydXN0X3Bh\ +bmljaVZjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YXJyYXl2ZWM6OmVycm9yczo6Q2FwYWNpdHlFcn\ +JvcjxbdTg7IDMyXT4+OjpoZmVjZDhkNzYxMTVjNjA2Y2pXY29yZTo6cHRyOjpkcm9wX2luX3BsYWNl\ +PGFycmF5dmVjOjplcnJvcnM6OkNhcGFjaXR5RXJyb3I8Jlt1ODsgNjRdPj46Omg4NjUxY2YyYTQ5NW\ +MyOTNmaz1jb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8Y29yZTo6Zm10OjpFcnJvcj46Omg5YTkzNjE3\ +OWFjZDQ1YjNkAG8JcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx\ +0xLjc3LjIgKDI1ZWY5ZTNkOCAyMDI0LTA0LTA5KQZ3YWxydXMGMC4yMC4zDHdhc20tYmluZGdlbgYw\ +LjIuOTIALA90YXJnZXRfZmVhdHVyZXMCKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0\ + ", + ); + const wasmModule = new WebAssembly.Module(wasmBytes); + return new WebAssembly.Instance(wasmModule, imports); +} + +function base64decode(b64) { + const binString = atob(b64); + const size = binString.length; + const bytes = new Uint8Array(size); + for (let i = 0; i < size; i++) { + bytes[i] = binString.charCodeAt(i); + } + return bytes; +} diff --git a/vendor/jsr.io/@std/crypto/1.0.3/_wasm/mod.ts b/vendor/jsr.io/@std/crypto/1.0.3/_wasm/mod.ts new file mode 100644 index 0000000..8e0e684 --- /dev/null +++ b/vendor/jsr.io/@std/crypto/1.0.3/_wasm/mod.ts @@ -0,0 +1,52 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +export { + instantiate as instantiateWasm, +} from "./lib/deno_std_wasm_crypto.generated.mjs"; + +/** + * All cryptographic hash/digest algorithms supported by std/crypto. + * + * For algorithms that are supported by WebCrypto, the name here will match the + * one used by WebCrypto. Otherwise we prefer the formatting used in the + * algorithm's official specification. All names are uppercase to facilitate + * case-insensitive comparisons required by the WebCrypto spec. + */ +export const DIGEST_ALGORITHM_NAMES = [ + "BLAKE2B", + "BLAKE2B-128", + "BLAKE2B-160", + "BLAKE2B-224", + "BLAKE2B-256", + "BLAKE2B-384", + "BLAKE2S", + "BLAKE3", + "KECCAK-224", + "KECCAK-256", + "KECCAK-384", + "KECCAK-512", + "SHA-384", + "SHA3-224", + "SHA3-256", + "SHA3-384", + "SHA3-512", + "SHAKE128", + "SHAKE256", + "TIGER", + // insecure (length-extendable): + "RIPEMD-160", + "SHA-224", + "SHA-256", + "SHA-512", + // insecure (length-extendable and collidable): + "MD4", + "MD5", + "SHA-1", + // insecure (non-cryptographic) + "FNV32", + "FNV32A", + "FNV64", + "FNV64A", +] as const; + +/** An algorithm name supported by std/crypto. */ +export type DigestAlgorithmName = typeof DIGEST_ALGORITHM_NAMES[number]; diff --git a/vendor/jsr.io/@std/crypto/1.0.3/crypto.ts b/vendor/jsr.io/@std/crypto/1.0.3/crypto.ts new file mode 100644 index 0000000..85738ad --- /dev/null +++ b/vendor/jsr.io/@std/crypto/1.0.3/crypto.ts @@ -0,0 +1,348 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Extensions to the + * {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API | Web Crypto API} + * supporting additional encryption APIs, but also delegating to the built-in + * APIs when possible. + * + * Provides additional digest algorithms that are not part of the WebCrypto + * standard as well as a `subtle.digest` and `subtle.digestSync` methods. + * + * The {@linkcode KeyStack} export implements the {@linkcode KeyRing} interface + * for managing rotatable keys for signing data to prevent tampering, like with + * HTTP cookies. + * + * ## Supported algorithms + * + * Here is a list of supported algorithms. If the algorithm name in WebCrypto + * and Wasm/Rust is the same, this library prefers to use the implementation + * provided by WebCrypto. + * + * Length-adjustable algorithms support the + * {@linkcode DigestAlgorithmObject.length} option. + * + * WebCrypto: + * - `SHA-384` + * - `SHA-256` (length-extendable) + * - `SHA-512` (length-extendable) + * + * Wasm/Rust: + * - `BLAKE2B` + * - `BLAKE2B-128` + * - `BLAKE2B-160` + * - `BLAKE2B-224` + * - `BLAKE2B-256` + * - `BLAKE2B-384` + * - `BLAKE2S` + * - `BLAKE3` (length-adjustable) + * - `KECCAK-224` + * - `KECCAK-256` + * - `KECCAK-384` + * - `KECCAK-512` + * - `SHA-384` + * - `SHA3-224` + * - `SHA3-256` + * - `SHA3-384` + * - `SHA3-512` + * - `SHAKE128` (length-adjustable) + * - `SHAKE256` (length-adjustable) + * - `TIGER` + * - `RIPEMD-160` (length-extendable) + * - `SHA-224` (length-extendable) + * - `SHA-256` (length-extendable) + * - `SHA-512` (length-extendable) + * - `MD4` (length-extendable and collidable) + * - `MD5` (length-extendable and collidable) + * - `SHA-1` (length-extendable and collidable) + * - `FNV32` (non-cryptographic) + * - `FNV32A` (non-cryptographic) + * - `FNV64` (non-cryptographic) + * - `FNV64A` (non-cryptographic) + * + * @example + * ```ts + * import { crypto } from "@std/crypto"; + * + * // This will delegate to the runtime's WebCrypto implementation. + * console.log( + * new Uint8Array( + * await crypto.subtle.digest( + * "SHA-384", + * new TextEncoder().encode("hello world"), + * ), + * ), + * ); + * + * // This will use a bundled Wasm/Rust implementation. + * console.log( + * new Uint8Array( + * await crypto.subtle.digest( + * "BLAKE3", + * new TextEncoder().encode("hello world"), + * ), + * ), + * ); + * ``` + * + * @example Convert hash to a string + * + * ```ts + * import { + * crypto, + * } from "@std/crypto"; + * import { encodeHex } from "@std/encoding/hex" + * import { encodeBase64 } from "@std/encoding/base64" + * + * const hash = await crypto.subtle.digest( + * "SHA-384", + * new TextEncoder().encode("You hear that Mr. Anderson?"), + * ); + * + * // Hex encoding + * console.log(encodeHex(hash)); + * + * // Or with base64 encoding + * console.log(encodeBase64(hash)); + * ``` + * + * @module + */ +import { + DIGEST_ALGORITHM_NAMES, + type DigestAlgorithmName, + instantiateWasm, +} from "./_wasm/mod.ts"; + +export { DIGEST_ALGORITHM_NAMES, type DigestAlgorithmName }; + +/** Digest algorithms supported by WebCrypto. */ +const WEB_CRYPTO_DIGEST_ALGORITHM_NAMES = [ + "SHA-384", + "SHA-256", + "SHA-512", + // insecure (length-extendable and collidable): + "SHA-1", +] as const; + +/** + * A copy of the global WebCrypto interface, with methods bound so they're + * safe to re-export. + */ +const webCrypto = ((crypto) => ({ + getRandomValues: crypto.getRandomValues?.bind(crypto), + randomUUID: crypto.randomUUID?.bind(crypto), + subtle: { + decrypt: crypto.subtle?.decrypt?.bind(crypto.subtle), + deriveBits: crypto.subtle?.deriveBits?.bind(crypto.subtle), + deriveKey: crypto.subtle?.deriveKey?.bind(crypto.subtle), + digest: crypto.subtle?.digest?.bind(crypto.subtle), + encrypt: crypto.subtle?.encrypt?.bind(crypto.subtle), + exportKey: crypto.subtle?.exportKey?.bind(crypto.subtle), + generateKey: crypto.subtle?.generateKey?.bind(crypto.subtle), + importKey: crypto.subtle?.importKey?.bind(crypto.subtle), + sign: crypto.subtle?.sign?.bind(crypto.subtle), + unwrapKey: crypto.subtle?.unwrapKey?.bind(crypto.subtle), + verify: crypto.subtle?.verify?.bind(crypto.subtle), + wrapKey: crypto.subtle?.wrapKey?.bind(crypto.subtle), + }, +}))(globalThis.crypto); + +function toUint8Array(data: unknown): Uint8Array | undefined { + if (data instanceof Uint8Array) { + return data; + } else if (ArrayBuffer.isView(data)) { + return new Uint8Array(data.buffer, data.byteOffset, data.byteLength); + } else if (data instanceof ArrayBuffer) { + return new Uint8Array(data); + } + return undefined; +} + +/** Extensions to the web standard `SubtleCrypto` interface. */ +export interface StdSubtleCrypto extends SubtleCrypto { + /** + * Returns a new `Promise` object that will digest `data` using the specified + * `AlgorithmIdentifier`. + */ + digest( + algorithm: DigestAlgorithm, + data: BufferSource | AsyncIterable | Iterable, + ): Promise; + + /** + * Returns a ArrayBuffer with the result of digesting `data` using the + * specified `AlgorithmIdentifier`. + */ + digestSync( + algorithm: DigestAlgorithm, + data: BufferSource | Iterable, + ): ArrayBuffer; +} + +/** Extensions to the Web {@linkcode Crypto} interface. */ +export interface StdCrypto extends Crypto { + /** Extension to the {@linkcode crypto.SubtleCrypto} interface. */ + readonly subtle: StdSubtleCrypto; +} + +/** + * An wrapper for WebCrypto adding support for additional non-standard + * algorithms, but delegating to the runtime WebCrypto implementation whenever + * possible. + */ +const stdCrypto: StdCrypto = ((x) => x)({ + ...webCrypto, + subtle: { + ...webCrypto.subtle, + + /** + * Polyfills stream support until the Web Crypto API does so: + * @see {@link https://github.com/wintercg/proposal-webcrypto-streams} + */ + async digest( + algorithm: DigestAlgorithm, + data: BufferSource | AsyncIterable | Iterable, + ): Promise { + const { name, length } = normalizeAlgorithm(algorithm); + + assertValidDigestLength(length); + + // We delegate to WebCrypto whenever possible, + if ( + // if the algorithm is supported by the WebCrypto standard, + (WEB_CRYPTO_DIGEST_ALGORITHM_NAMES as readonly string[]).includes( + name, + ) && + // and the data is a single buffer, + isBufferSource(data) + ) { + return await webCrypto.subtle.digest(algorithm, data); + } else if (DIGEST_ALGORITHM_NAMES.includes(name as DigestAlgorithmName)) { + if (isBufferSource(data)) { + // Otherwise, we use our bundled Wasm implementation via digestSync + // if it supports the algorithm. + return stdCrypto.subtle.digestSync(algorithm, data); + } else if (isIterable(data)) { + return stdCrypto.subtle.digestSync( + algorithm, + data as Iterable, + ); + } else if (isAsyncIterable(data)) { + const wasmCrypto = instantiateWasm(); + const context = new wasmCrypto.DigestContext(name); + for await (const chunk of data as AsyncIterable) { + const chunkBytes = toUint8Array(chunk); + if (!chunkBytes) { + throw new TypeError( + "Cannot digest the data: A chunk is not ArrayBuffer nor ArrayBufferView", + ); + } + context.update(chunkBytes); + } + return context.digestAndDrop(length).buffer; + } else { + throw new TypeError( + "data must be a BufferSource or [Async]Iterable", + ); + } + } + // (TypeScript type definitions prohibit this case.) If they're trying + // to call an algorithm we don't recognize, pass it along to WebCrypto + // in case it's a non-standard algorithm supported by the the runtime + // they're using. + return await webCrypto.subtle.digest(algorithm, data as BufferSource); + }, + + digestSync( + algorithm: DigestAlgorithm, + data: BufferSource | Iterable, + ): ArrayBuffer { + const { name, length } = normalizeAlgorithm(algorithm); + assertValidDigestLength(length); + + const wasmCrypto = instantiateWasm(); + if (isBufferSource(data)) { + const bytes = toUint8Array(data)!; + return wasmCrypto.digest(name, bytes, length).buffer; + } + if (isIterable(data)) { + const context = new wasmCrypto.DigestContext(name); + for (const chunk of data) { + const chunkBytes = toUint8Array(chunk); + if (!chunkBytes) { + throw new TypeError( + "Cannot digest the data: A chunk is not ArrayBuffer nor ArrayBufferView", + ); + } + context.update(chunkBytes); + } + return context.digestAndDrop(length).buffer; + } + throw new TypeError( + "data must be a BufferSource or Iterable", + ); + }, + }, +}); + +/* + * The largest digest length the current Wasm implementation can support. This + * is the value of `isize::MAX` on 32-bit platforms like Wasm, which is the + * maximum allowed capacity of a Rust `Vec`. + */ +const MAX_DIGEST_LENGTH = 0x7FFF_FFFF; + +/** + * Asserts that a number is a valid length for a digest, which must be an + * integer that fits in a Rust `Vec`, or be undefined. + */ +function assertValidDigestLength(value?: number) { + if ( + value !== undefined && + (value < 0 || value > MAX_DIGEST_LENGTH || + !Number.isInteger(value)) + ) { + throw new RangeError( + `length must be an integer between 0 and ${MAX_DIGEST_LENGTH}, inclusive`, + ); + } +} + +/** Extended digest algorithm objects. */ +export type DigestAlgorithmObject = { + name: DigestAlgorithmName; + length?: number; +}; + +/** + * Extended digest algorithms accepted by {@linkcode stdCrypto.subtle.digest}. + * + * The `length` option will be ignored for + * {@link https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest#algorithm | Web Standard algorithms}. + */ +export type DigestAlgorithm = DigestAlgorithmName | DigestAlgorithmObject; + +function normalizeAlgorithm(algorithm: DigestAlgorithm) { + return ((typeof algorithm === "string") + ? { name: algorithm.toUpperCase() } + : { + ...algorithm, + name: algorithm.name.toUpperCase(), + }) as DigestAlgorithmObject; +} + +function isBufferSource(obj: unknown): obj is BufferSource { + return obj instanceof ArrayBuffer || ArrayBuffer.isView(obj); +} + +function isIterable(obj: unknown): obj is Iterable { + return typeof (obj as Iterable)[Symbol.iterator] === "function"; +} + +function isAsyncIterable(obj: unknown): obj is AsyncIterable { + return typeof (obj as AsyncIterable)[Symbol.asyncIterator] === "function"; +} + +export { stdCrypto as crypto }; diff --git a/vendor/jsr.io/@std/crypto/1.0.3/mod.ts b/vendor/jsr.io/@std/crypto/1.0.3/mod.ts new file mode 100644 index 0000000..37c4eff --- /dev/null +++ b/vendor/jsr.io/@std/crypto/1.0.3/mod.ts @@ -0,0 +1,24 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Extensions to the + * {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API | Web Crypto} + * supporting additional encryption APIs, but also delegating to the built-in + * APIs when possible. + * + * ```ts no-assert + * import { crypto } from "@std/crypto/crypto"; + * + * const message = "Hello, Deno!"; + * const encoder = new TextEncoder(); + * const data = encoder.encode(message); + * + * await crypto.subtle.digest("BLAKE3", data); + * ``` + * + * @module + */ + +export * from "./crypto.ts"; +export * from "./timing_safe_equal.ts"; diff --git a/vendor/jsr.io/@std/crypto/1.0.3/timing_safe_equal.ts b/vendor/jsr.io/@std/crypto/1.0.3/timing_safe_equal.ts new file mode 100644 index 0000000..789f8e4 --- /dev/null +++ b/vendor/jsr.io/@std/crypto/1.0.3/timing_safe_equal.ts @@ -0,0 +1,61 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +function toDataView( + value: ArrayBufferView | ArrayBufferLike | DataView, +): DataView { + if (value instanceof DataView) { + return value; + } + return ArrayBuffer.isView(value) + ? new DataView(value.buffer, value.byteOffset, value.byteLength) + : new DataView(value); +} + +/** + * When checking the values of cryptographic hashes are equal, default + * comparisons can be susceptible to timing based attacks, where attacker is + * able to find out information about the host system by repeatedly checking + * response times to equality comparisons of values. + * + * It is likely some form of timing safe equality will make its way to the + * WebCrypto standard (see: + * {@link https://github.com/w3c/webcrypto/issues/270 | w3c/webcrypto#270}), but until + * that time, `timingSafeEqual()` is provided: + * + * @example Usage + * ```ts + * import { timingSafeEqual } from "@std/crypto/timing-safe-equal"; + * import { assert } from "@std/assert"; + * + * const a = await crypto.subtle.digest( + * "SHA-384", + * new TextEncoder().encode("hello world"), + * ); + * const b = await crypto.subtle.digest( + * "SHA-384", + * new TextEncoder().encode("hello world"), + * ); + * + * assert(timingSafeEqual(a, b)); + * ``` + * + * @param a The first value to compare. + * @param b The second value to compare. + * @returns `true` if the values are equal, otherwise `false`. + */ +export function timingSafeEqual( + a: ArrayBufferView | ArrayBufferLike | DataView, + b: ArrayBufferView | ArrayBufferLike | DataView, +): boolean { + if (a.byteLength !== b.byteLength) return false; + const dataViewA = toDataView(a); + const dataViewB = toDataView(b); + const length = a.byteLength; + let out = 0; + let i = -1; + while (++i < length) { + out |= dataViewA.getUint8(i) ^ dataViewB.getUint8(i); + } + return out === 0; +} diff --git a/vendor/jsr.io/@std/crypto/1.0.3_meta.json b/vendor/jsr.io/@std/crypto/1.0.3_meta.json new file mode 100644 index 0000000..4c37b64 --- /dev/null +++ b/vendor/jsr.io/@std/crypto/1.0.3_meta.json @@ -0,0 +1,195 @@ +{ + "manifest": { + "/_wasm/Cargo.lock": { + "size": 10107, + "checksum": "sha256-831261f1ee51f147e87bcc1bed1a4ea919d0272e438ef4446464c6b35cd7c7de" + }, + "/_wasm/mod.ts": { + "size": 1264, + "checksum": "sha256-e89fbbc3c4722602ff975dd85f18273c7741ec766a9b68f6de4fd1d9876409f8" + }, + "/_wasm/lib/deno_std_wasm_crypto.generated.mjs": { + "size": 196810, + "checksum": "sha256-7cd490ae1553c97459bd02de4c3f0a552768a85621949b2366003f3cf84b99d7" + }, + "/_wasm/src/digest.rs": { + "size": 9127, + "checksum": "sha256-05297e43b655bee13e89b3f8c64482d3f71d45fd7ad2796543e6b912bc17a8f4" + }, + "/_wasm/src/lib.rs": { + "size": 3695, + "checksum": "sha256-023868f20023da332efdad93baf8a1529e05e389ab1abae52904ce0a367cb4ca" + }, + "/_wasm/src/fnv.rs": { + "size": 1767, + "checksum": "sha256-ad4b1191a8c2238514f28945089e04eef12c3681dd4e411a83e1901d65807df8" + }, + "/_wasm/test.ts": { + "size": 548, + "checksum": "sha256-2cf4523fcaabf04c85297bae3ed6b854d444751ce4039140e0e3764c92843ad4" + }, + "/deno.json": { + "size": 213, + "checksum": "sha256-be5caa34fb80ff55285126391e04a8e55fc82711ac9773ecdf2fa0aac00352aa" + }, + "/_wasm/Cargo.toml": { + "size": 722, + "checksum": "sha256-50bdd47c5df569c645392aa9121d51fdbd02e43b19f07cb5979bc627c41a577d" + }, + "/_wasm/.cargo/config.toml": { + "size": 42, + "checksum": "sha256-285033faa15221410d801d5394381ae495890d37cc60b6c0aff0b7d08beda7b8" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/_wasm/.rustfmt.toml": { + "size": 121, + "checksum": "sha256-39eb1107769309a77029e4bb4639fee3a1f3fbc965bb18ff6c1320d0581164ca" + }, + "/_wasm/README.md": { + "size": 484, + "checksum": "sha256-d7edd375244f3549e7b36da6c69db2f1f8d38d38dd991e7171feed98c8ab38b1" + }, + "/_wasm/rust-toolchain.toml": { + "size": 79, + "checksum": "sha256-a56f99b2af8c47497325cd493c0e90b7ea095bbcb109e1e715bdbfac5833fce1" + }, + "/_wasm/lib/deno_std_wasm_crypto.generated.d.mts": { + "size": 2942, + "checksum": "sha256-d78d61578ecab7cb4b1e9d2f5945e2235003984caa204a449b350002fdcac6c7" + }, + "/timing_safe_equal.ts": { + "size": 1910, + "checksum": "sha256-21215dcc5c605c5c9508e0e15b8f2009cb69c4f920289074789e99acd4eaeb24" + }, + "/crypto_test.ts": { + "size": 89037, + "checksum": "sha256-6d8dd60ea326ea8742e813fd2eb947651bf999a332f2e544fddb44d2412475a6" + }, + "/crypto.ts": { + "size": 10912, + "checksum": "sha256-d67e2d6cdf7267eb43453a00bdab2fbb3378e2914bc5cca5d5775b858928f640" + }, + "/mod.ts": { + "size": 660, + "checksum": "sha256-373ef872329178040256424a27d56484d193ba4273a7e8580508dfeaae35127d" + }, + "/timing_safe_equal_test.ts": { + "size": 4699, + "checksum": "sha256-f2bbd395b046175c2f1ba2bcbdb89908f2d1cf1ea65ce546a5e118591819195a" + }, + "/testdata/digest_large_inputs.ts": { + "size": 924, + "checksum": "sha256-01a15f200c2171ad31b7696740f7575ade25ed5f580dcee6dea351652540e113" + }, + "/_benches/bench.ts": { + "size": 2472, + "checksum": "sha256-11fdd3468516cd5c90f1d8fca7f55babcbb46597c931e20edd092b85f48f68b3" + }, + "/testdata/digest_many_calls.ts": { + "size": 735, + "checksum": "sha256-c9da2a1cbe9d65b5cd689b401a61507ca79d00016d0fa7b0402710cd76e18026" + } + }, + "moduleGraph2": { + "/timing_safe_equal.ts": {}, + "/_wasm/lib/deno_std_wasm_crypto.generated.mjs": { + "tsReferences": [ + { + "type": "types", + "text": "./deno_std_wasm_crypto.generated.d.mts", + "range": [ + [ + 4, + 21 + ], + [ + 4, + 61 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./crypto.ts", + "specifierRange": [ + [ + 22, + 14 + ], + [ + 22, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./timing_safe_equal.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 38 + ] + ] + } + ] + }, + "/_wasm/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./lib/deno_std_wasm_crypto.generated.mjs", + "specifierRange": [ + [ + 3, + 7 + ], + [ + 3, + 49 + ] + ] + } + ] + }, + "/_wasm/lib/deno_std_wasm_crypto.generated.d.mts": {}, + "/crypto.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_wasm/mod.ts", + "specifierRange": [ + [ + 115, + 7 + ], + [ + 115, + 23 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./crypto": "./crypto.ts", + "./timing-safe-equal": "./timing_safe_equal.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/crypto/meta.json b/vendor/jsr.io/@std/crypto/meta.json new file mode 100644 index 0000000..0fcb2a2 --- /dev/null +++ b/vendor/jsr.io/@std/crypto/meta.json @@ -0,0 +1,45 @@ +{ + "scope": "std", + "name": "crypto", + "latest": "1.0.3", + "versions": { + "0.218.0": {}, + "0.211.0": {}, + "0.196.0": {}, + "0.203.0": {}, + "0.206.0": {}, + "0.199.0": {}, + "0.224.0": {}, + "0.202.0": {}, + "0.204.0": {}, + "1.0.1": {}, + "0.221.0": {}, + "0.210.0": {}, + "0.212.0": {}, + "0.208.0": {}, + "1.0.2": {}, + "0.219.0": {}, + "0.218.1": {}, + "0.222.0": {}, + "0.200.0": {}, + "1.0.3": {}, + "0.223.0": {}, + "0.218.2": {}, + "0.207.0": {}, + "0.197.0": {}, + "0.213.1": {}, + "0.198.0": {}, + "0.205.0": {}, + "0.217.0": {}, + "0.209.0": {}, + "1.0.0-rc.1": {}, + "0.216.0": {}, + "0.201.0": {}, + "0.219.1": {}, + "0.215.0": {}, + "0.213.0": {}, + "1.0.0": {}, + "0.222.1": {}, + "0.220.1": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/dotenv/0.225.3/load.ts b/vendor/jsr.io/@std/dotenv/0.225.3/load.ts new file mode 100644 index 0000000..5a00639 --- /dev/null +++ b/vendor/jsr.io/@std/dotenv/0.225.3/load.ts @@ -0,0 +1,13 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +import { loadSync } from "./mod.ts"; + +if (!(Deno.readTextFileSync instanceof Function)) { + // Avoid errors that occur in deno deploy: https://github.com/denoland/deno_std/issues/1957 + // deno-lint-ignore no-console + console.warn( + `Deno.readTextFileSync is not a function: No .env data was read.`, + ); +} else { + loadSync({ export: true }); +} diff --git a/vendor/jsr.io/@std/dotenv/0.225.3/mod.ts b/vendor/jsr.io/@std/dotenv/0.225.3/mod.ts new file mode 100644 index 0000000..d98b93c --- /dev/null +++ b/vendor/jsr.io/@std/dotenv/0.225.3/mod.ts @@ -0,0 +1,249 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +/** + * Parses and loads environment variables from a `.env` file into the current + * process, or stringify data into a `.env` file format. + * + * Note: The key needs to match the pattern /^[a-zA-Z_][a-zA-Z0-9_]*$/. + * + * ```ts ignore + * // Automatically load environment variables from a `.env` file + * import "@std/dotenv/load"; + * ``` + * + * ```ts + * import { parse, stringify } from "@std/dotenv"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(parse("GREETING=hello world"), { GREETING: "hello world" }); + * assertEquals(stringify({ GREETING: "hello world" }), "GREETING='hello world'"); + * ``` + * + * @module + */ + +import { parse } from "./parse.ts"; + +export * from "./stringify.ts"; +export * from "./parse.ts"; + +/** Options for {@linkcode load} and {@linkcode loadSync}. */ +export interface LoadOptions { + /** + * Optional path to `.env` file. To prevent the default value from being + * used, set to `null`. + * + * @default {"./.env"} + */ + envPath?: string | null; + + /** + * Set to `true` to export all `.env` variables to the current processes + * environment. Variables are then accessible via `Deno.env.get()`. + * + * @default {false} + */ + export?: boolean; +} + +/** + * Works identically to {@linkcode load}, but synchronously. + * + * @example Usage + * ```ts ignore + * import { loadSync } from "@std/dotenv"; + * + * const conf = loadSync(); + * ``` + * + * @param options Options for loading the environment variables. + * @returns The parsed environment variables. + */ +export function loadSync( + options: LoadOptions = {}, +): Record { + const { + envPath = ".env", + export: _export = false, + } = options; + const conf = envPath ? parseFileSync(envPath) : {}; + + if (_export) { + for (const [key, value] of Object.entries(conf)) { + if (Deno.env.get(key) !== undefined) continue; + Deno.env.set(key, value); + } + } + + return conf; +} + +/** + * Load environment variables from a `.env` file. Loaded variables are accessible + * in a configuration object returned by the `load()` function, as well as optionally + * exporting them to the process environment using the `export` option. + * + * Inspired by the node modules {@linkcode https://github.com/motdotla/dotenv | dotenv} + * and {@linkcode https://github.com/motdotla/dotenv-expand | dotenv-expand}. + * + * Note: The key needs to match the pattern /^[a-zA-Z_][a-zA-Z0-9_]*$/. + * + * ## Basic usage + * ```sh + * # .env + * GREETING=hello world + * ``` + * + * Then import the environment variables using the `load` function. + * + * @example Basic usage + * ```ts ignore + * // app.ts + * import { load } from "@std/dotenv"; + * + * console.log(await load({ export: true })); // { GREETING: "hello world" } + * console.log(Deno.env.get("GREETING")); // hello world + * ``` + * + * Run this with `deno run --allow-read --allow-env app.ts`. + * + * .env files support blank lines, comments, multi-line values and more. + * See Parsing Rules below for more detail. + * + * ## Auto loading + * Import the `load.ts` module to auto-import from the `.env` file and into + * the process environment. + * + * @example Auto-loading + * ```ts ignore + * // app.ts + * import "@std/dotenv/load"; + * + * console.log(Deno.env.get("GREETING")); // hello world + * ``` + * + * Run this with `deno run --allow-read --allow-env app.ts`. + * + * ## Files + * Dotenv supports a number of different files, all of which are optional. + * File names and paths are configurable. + * + * |File|Purpose| + * |----|-------| + * |.env|primary file for storing key-value environment entries + * + * ## Configuration + * + * Loading environment files comes with a number of options passed into + * the `load()` function, all of which are optional. + * + * |Option|Default|Description + * |------|-------|----------- + * |envPath|./.env|Path and filename of the `.env` file. Use null to prevent the .env file from being loaded. + * |export|false|When true, this will export all environment variables in the `.env` file to the process environment (e.g. for use by `Deno.env.get()`) but only if they are not already set. If a variable is already in the process, the `.env` value is ignored. + * + * ### Example configuration + * + * @example Using with options + * ```ts ignore + * import { load } from "@std/dotenv"; + * + * const conf = await load({ + * envPath: "./.env_prod", // Uses .env_prod instead of .env + * export: true, // Exports all variables to the environment + * }); + * ``` + * + * ## Permissions + * + * At a minimum, loading the `.env` related files requires the `--allow-read` permission. Additionally, if + * you access the process environment, either through exporting your configuration or expanding variables + * in your `.env` file, you will need the `--allow-env` permission. E.g. + * + * ```sh + * deno run --allow-read=.env --allow-env=ENV1,ENV2 app.ts + * ``` + * + * ## Parsing Rules + * + * The parsing engine currently supports the following rules: + * + * - Variables that already exist in the environment are not overridden with + * `export: true` + * - `BASIC=basic` becomes `{ BASIC: "basic" }` + * - empty lines are skipped + * - lines beginning with `#` are treated as comments + * - empty values become empty strings (`EMPTY=` becomes `{ EMPTY: "" }`) + * - single and double quoted values are escaped (`SINGLE_QUOTE='quoted'` becomes + * `{ SINGLE_QUOTE: "quoted" }`) + * - new lines are expanded in double quoted values (`MULTILINE="new\nline"` + * becomes + * + * ``` + * { MULTILINE: "new\nline" } + * ``` + * + * - inner quotes are maintained (think JSON) (`JSON={"foo": "bar"}` becomes + * `{ JSON: "{\"foo\": \"bar\"}" }`) + * - whitespace is removed from both ends of unquoted values (see more on + * {@linkcode https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim | trim}) + * (`FOO= some value` becomes `{ FOO: "some value" }`) + * - whitespace is preserved on both ends of quoted values (`FOO=" some value "` + * becomes `{ FOO: " some value " }`) + * - dollar sign with an environment key in or without curly braces in unquoted + * values will expand the environment key (`KEY=$KEY` or `KEY=${KEY}` becomes + * `{ KEY: "" }`) + * - escaped dollar sign with an environment key in unquoted values will escape the + * environment key rather than expand (`KEY=\$KEY` becomes `{ KEY: "\\$KEY" }`) + * - colon and a minus sign with a default value(which can also be another expand + * value) in expanding construction in unquoted values will first attempt to + * expand the environment key. If it’s not found, then it will return the default + * value (`KEY=${KEY:-default}` If KEY exists it becomes + * `{ KEY: "" }` If not, then it becomes + * `{ KEY: "default" }`. Also there is possible to do this case + * `KEY=${NO_SUCH_KEY:-${EXISTING_KEY:-default}}` which becomes + * `{ KEY: "" }`) + * + * @param options The options + * @returns The parsed environment variables + */ +export async function load( + options: LoadOptions = {}, +): Promise> { + const { + envPath = ".env", + export: _export = false, + } = options; + const conf = envPath ? await parseFile(envPath) : {}; + + if (_export) { + for (const [key, value] of Object.entries(conf)) { + if (Deno.env.get(key) !== undefined) continue; + Deno.env.set(key, value); + } + } + + return conf; +} + +function parseFileSync( + filepath: string, +): Record { + try { + return parse(Deno.readTextFileSync(filepath)); + } catch (e) { + if (e instanceof Deno.errors.NotFound) return {}; + throw e; + } +} + +async function parseFile( + filepath: string, +): Promise> { + try { + return parse(await Deno.readTextFile(filepath)); + } catch (e) { + if (e instanceof Deno.errors.NotFound) return {}; + throw e; + } +} diff --git a/vendor/jsr.io/@std/dotenv/0.225.3/parse.ts b/vendor/jsr.io/@std/dotenv/0.225.3/parse.ts new file mode 100644 index 0000000..6a403f5 --- /dev/null +++ b/vendor/jsr.io/@std/dotenv/0.225.3/parse.ts @@ -0,0 +1,112 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +type LineParseResult = { + key: string; + unquoted: string; + interpolated: string; + notInterpolated: string; +}; + +type CharactersMap = { [key: string]: string }; + +const RE_KEY_VALUE = + /^\s*(?:export\s+)?(?[^\s=#]+?)\s*=[\ \t]*('\r?\n?(?(.|\r\n|\n)*?)\r?\n?'|"\r?\n?(?(.|\r\n|\n)*?)\r?\n?"|(?[^\r\n#]*)) *#*.*$/gm; + +const RE_VALID_KEY = /^[a-zA-Z_][a-zA-Z0-9_]*$/; + +const RE_EXPAND_VALUE = + /(\${(?.+?)(\:-(?.+))?}|(?\w+)(\:-(?.+))?)/g; + +function expandCharacters(str: string): string { + const charactersMap: CharactersMap = { + "\\n": "\n", + "\\r": "\r", + "\\t": "\t", + }; + + return str.replace( + /\\([nrt])/g, + ($1: keyof CharactersMap): string => charactersMap[$1] ?? "", + ); +} + +function expand(str: string, variablesMap: { [key: string]: string }): string { + if (RE_EXPAND_VALUE.test(str)) { + return expand( + str.replace(RE_EXPAND_VALUE, function (...params) { + const { + inBrackets, + inBracketsDefault, + notInBrackets, + notInBracketsDefault, + } = params[params.length - 1]; + const expandValue = inBrackets || notInBrackets; + const defaultValue = inBracketsDefault || notInBracketsDefault; + + let value: string | undefined = variablesMap[expandValue]; + if (value === undefined) { + value = Deno.env.get(expandValue); + } + return value === undefined ? expand(defaultValue, variablesMap) : value; + }), + variablesMap, + ); + } else { + return str; + } +} + +/** + * Parse `.env` file output in an object. + * + * Note: The key needs to match the pattern /^[a-zA-Z_][a-zA-Z0-9_]*$/. + * + * @example Usage + * ```ts + * import { parse } from "@std/dotenv/parse"; + * import { assertEquals } from "@std/assert"; + * + * const env = parse("GREETING=hello world"); + * assertEquals(env, { GREETING: "hello world" }); + * ``` + * + * @param text The text to parse. + * @returns The parsed object. + */ +export function parse(text: string): Record { + const env: Record = {}; + + let match; + const keysForExpandCheck = []; + + while ((match = RE_KEY_VALUE.exec(text)) !== null) { + const { key, interpolated, notInterpolated, unquoted } = match + ?.groups as LineParseResult; + + if (!RE_VALID_KEY.test(key)) { + // deno-lint-ignore no-console + console.warn( + `Ignored the key "${key}" as it is not a valid identifier: The key need to match the pattern /^[a-zA-Z_][a-zA-Z0-9_]*$/.`, + ); + continue; + } + + if (unquoted) { + keysForExpandCheck.push(key); + } + + env[key] = typeof notInterpolated === "string" + ? notInterpolated + : typeof interpolated === "string" + ? expandCharacters(interpolated) + : unquoted.trim(); + } + + //https://github.com/motdotla/dotenv-expand/blob/ed5fea5bf517a09fd743ce2c63150e88c8a5f6d1/lib/main.js#L23 + const variablesMap = { ...env }; + keysForExpandCheck.forEach((key) => { + env[key] = expand(env[key]!, variablesMap); + }); + + return env; +} diff --git a/vendor/jsr.io/@std/dotenv/0.225.3/stringify.ts b/vendor/jsr.io/@std/dotenv/0.225.3/stringify.ts new file mode 100644 index 0000000..d8f16e7 --- /dev/null +++ b/vendor/jsr.io/@std/dotenv/0.225.3/stringify.ts @@ -0,0 +1,48 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Stringify an object into a valid `.env` file format. + * + * @example Usage + * ```ts + * import { stringify } from "@std/dotenv/stringify"; + * import { assertEquals } from "@std/assert"; + * + * const object = { GREETING: "hello world" }; + * assertEquals(stringify(object), "GREETING='hello world'"); + * ``` + * + * @param object object to be stringified + * @returns string of object + */ +export function stringify(object: Record): string { + const lines: string[] = []; + for (const [key, value] of Object.entries(object)) { + let quote; + + let escapedValue = value ?? ""; + if (key.startsWith("#")) { + // deno-lint-ignore no-console + console.warn( + `key starts with a '#' indicates a comment and is ignored: '${key}'`, + ); + continue; + } else if (escapedValue.includes("\n") || escapedValue.includes("'")) { + // escape inner new lines + escapedValue = escapedValue.replaceAll("\n", "\\n"); + quote = `"`; + } else if (escapedValue.match(/\W/)) { + quote = "'"; + } + + if (quote) { + // escape inner quotes + escapedValue = escapedValue.replaceAll(quote, `\\${quote}`); + escapedValue = `${quote}${escapedValue}${quote}`; + } + const line = `${key}=${escapedValue}`; + lines.push(line); + } + return lines.join("\n"); +} diff --git a/vendor/jsr.io/@std/dotenv/0.225.3_meta.json b/vendor/jsr.io/@std/dotenv/0.225.3_meta.json new file mode 100644 index 0000000..27b5718 --- /dev/null +++ b/vendor/jsr.io/@std/dotenv/0.225.3_meta.json @@ -0,0 +1,162 @@ +{ + "manifest": { + "/stringify_test.ts": { + "size": 1813, + "checksum": "sha256-911b51eb95731e6223441eba765ff6db874c2be7980b00ec8c8da6e2d41bafca" + }, + "/testdata/.env.multiple": { + "size": 47, + "checksum": "sha256-983d0edd3b871761d81dec0c700f6101378b204a7b126b4e0096df696ce17ac4" + }, + "/stringify.ts": { + "size": 1426, + "checksum": "sha256-6cbe7ab1adc961c9e07491dbb1c1e453380f465e24d0e6be9950f0634718fc83" + }, + "/testdata/.env": { + "size": 20, + "checksum": "sha256-4049a8e512ecd81bd32893f9289125f67dde43544233a14997b8194dc05db2a6" + }, + "/testdata/app_load_parent.ts": { + "size": 118, + "checksum": "sha256-5add8ccac2c1dd4ac3efb89547c46319dac7bac1726c1eda87cb25c0b04e5be2" + }, + "/mod_test.ts": { + "size": 6465, + "checksum": "sha256-7ee70f6250ad5cb4a038e6b68d27a3e2ec8a1343c993463ad547de05d5f2adb7" + }, + "/load.ts": { + "size": 426, + "checksum": "sha256-01a4ad198c869b77723db289b96fd4f264a0ecd40e9c9c827a9a95eeb9b4da76" + }, + "/mod.ts": { + "size": 7891, + "checksum": "sha256-612754b3a03318fc6ff1d3a5dc5972fa1784fea3f5f2c222c2529ddf0b53ac11" + }, + "/testdata/.env.test": { + "size": 955, + "checksum": "sha256-42ec79cf11a894dff3a20d9247dd0b3921bb002e9772538e23a8c241f7688562" + }, + "/parse_test.ts": { + "size": 7103, + "checksum": "sha256-d55cf536c963800ec31ba662e2b6440c6545eead9a364e0b9fd696dc3cd85384" + }, + "/testdata/app_load.ts": { + "size": 92, + "checksum": "sha256-74331686242a0b0cd988835c9c2441df118d97d4004c4f392b45b2896a9c07a7" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/testdata/.env.single.expand": { + "size": 21, + "checksum": "sha256-48684e919a34b15ad50535f2423f825f07f4aa67041f0c5138e251265e5f553e" + }, + "/deno.json": { + "size": 185, + "checksum": "sha256-7b62c9dfa2585241e9e469b697b6b09a95188f99dcba7100d4a62069eee2cef1" + }, + "/load_test.ts": { + "size": 1343, + "checksum": "sha256-65befcb6377040c9c72d8e807e6c14bc92af88ea24755041a62de47dcfd51142" + }, + "/parse.ts": { + "size": 3185, + "checksum": "sha256-ce05ca6aad8a533a50770c8eb01f3b93cb6c13435f7a16dae3c395f6a2861a7a" + }, + "/testdata/.env.expand.test": { + "size": 1232, + "checksum": "sha256-85c7948e73e6f5bd8781103474e4d0e4a626e6d40cf0f68c60f51a33db957e4f" + }, + "/testdata/.env.comments": { + "size": 204, + "checksum": "sha256-f6310ba979f52f6ff59ecb1c8f2e0eb56368918a68117c3f76d71a3aeb8283ae" + }, + "/testdata/app_load_child.ts": { + "size": 188, + "checksum": "sha256-6feb23f244cd9bdcfb115f64cf2dda44d4e1e6b65a72a46f156b4b4d65f9e1ed" + }, + "/testdata/app_defaults.ts": { + "size": 137, + "checksum": "sha256-8bf3ae7e9f559ef8cbb8682b99002480ba97f88d2fcf56efd76fe6b09f3149ba" + } + }, + "moduleGraph2": { + "/stringify.ts": {}, + "/load.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./mod.ts", + "specifierRange": [ + [ + 2, + 25 + ], + [ + 2, + 35 + ] + ] + } + ] + }, + "/parse.ts": {}, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./parse.ts", + "specifierRange": [ + [ + 24, + 22 + ], + [ + 24, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./stringify.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./parse.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 26 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./load": "./load.ts", + "./parse": "./parse.ts", + "./stringify": "./stringify.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/dotenv/meta.json b/vendor/jsr.io/@std/dotenv/meta.json new file mode 100644 index 0000000..188cf15 --- /dev/null +++ b/vendor/jsr.io/@std/dotenv/meta.json @@ -0,0 +1,47 @@ +{ + "scope": "std", + "name": "dotenv", + "latest": "0.225.3", + "versions": { + "0.203.0": {}, + "0.222.1": {}, + "0.217.0": {}, + "0.222.0": {}, + "0.221.0": {}, + "0.204.0": {}, + "0.199.0": {}, + "0.224.2": {}, + "0.198.0": {}, + "0.210.0": {}, + "0.209.0": {}, + "0.225.0": {}, + "0.207.0": {}, + "0.196.0": {}, + "0.225.2": {}, + "0.206.0": {}, + "0.225.3": {}, + "0.225.1": {}, + "0.214.0": {}, + "0.216.0": {}, + "0.213.0": {}, + "0.224.0": {}, + "0.211.0": {}, + "0.219.0": {}, + "0.218.1": {}, + "0.205.0": {}, + "0.218.0": {}, + "0.219.1": {}, + "0.224.1": {}, + "0.213.1": {}, + "0.202.0": {}, + "0.220.1": {}, + "0.218.2": {}, + "0.201.0": {}, + "0.200.0": {}, + "0.197.0": {}, + "0.223.0": {}, + "0.208.0": {}, + "0.212.0": {}, + "0.215.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/encoding/0.221.0/_util.ts b/vendor/jsr.io/@std/encoding/0.221.0/_util.ts new file mode 100644 index 0000000..dcb18a0 --- /dev/null +++ b/vendor/jsr.io/@std/encoding/0.221.0/_util.ts @@ -0,0 +1,29 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +const encoder = new TextEncoder(); + +function getTypeName(value: unknown): string { + const type = typeof value; + if (type !== "object") { + return type; + } else if (value === null) { + return "null"; + } else { + return value?.constructor?.name ?? "object"; + } +} + +export function validateBinaryLike(source: unknown): Uint8Array { + if (typeof source === "string") { + return encoder.encode(source); + } else if (source instanceof Uint8Array) { + return source; + } else if (source instanceof ArrayBuffer) { + return new Uint8Array(source); + } + throw new TypeError( + `The input must be a Uint8Array, a string, or an ArrayBuffer. Received a value of the type ${ + getTypeName(source) + }.`, + ); +} diff --git a/vendor/jsr.io/@std/encoding/0.221.0/hex.ts b/vendor/jsr.io/@std/encoding/0.221.0/hex.ts new file mode 100644 index 0000000..9066e75 --- /dev/null +++ b/vendor/jsr.io/@std/encoding/0.221.0/hex.ts @@ -0,0 +1,108 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// https://github.com/golang/go/blob/master/LICENSE +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Port of the Go + * {@link https://github.com/golang/go/blob/go1.12.5/src/encoding/hex/hex.go | encoding/hex} + * library. + * + * This module is browser compatible. + * + * @example + * ```ts + * import { + * decodeHex, + * encodeHex, + * } from "@std/encoding/hex"; + * + * const binary = new TextEncoder().encode("abc"); + * const encoded = encodeHex(binary); + * console.log(encoded); + * // => "616263" + * + * console.log(decodeHex(encoded)); + * // => Uint8Array(3) [ 97, 98, 99 ] + * ``` + * + * @module + */ + +import { validateBinaryLike } from "./_util.ts"; + +const hexTable = new TextEncoder().encode("0123456789abcdef"); +const textEncoder = new TextEncoder(); +const textDecoder = new TextDecoder(); + +function errInvalidByte(byte: number) { + return new TypeError(`Invalid byte '${String.fromCharCode(byte)}'`); +} + +function errLength() { + return new RangeError("Odd length hex string"); +} + +/** Converts a hex character into its value. */ +function fromHexChar(byte: number): number { + // '0' <= byte && byte <= '9' + if (48 <= byte && byte <= 57) return byte - 48; + // 'a' <= byte && byte <= 'f' + if (97 <= byte && byte <= 102) return byte - 97 + 10; + // 'A' <= byte && byte <= 'F' + if (65 <= byte && byte <= 70) return byte - 65 + 10; + + throw errInvalidByte(byte); +} + +/** + * Converts data into a hex-encoded string. + * + * @example + * ```ts + * import { encodeHex } from "@std/encoding/hex"; + * + * encodeHex("abc"); // "616263" + * ``` + */ +export function encodeHex(src: string | Uint8Array | ArrayBuffer): string { + const u8 = validateBinaryLike(src); + + const dst = new Uint8Array(u8.length * 2); + for (let i = 0; i < dst.length; i++) { + const v = u8[i]!; + dst[i * 2] = hexTable[v >> 4]!; + dst[i * 2 + 1] = hexTable[v & 0x0f]!; + } + return textDecoder.decode(dst); +} + +/** + * Decodes the given hex-encoded string. If the input is malformed, an error is + * thrown. + * + * @example + * ```ts + * import { decodeHex } from "@std/encoding/hex"; + * + * decodeHex("616263"); // Uint8Array(3) [ 97, 98, 99 ] + * ``` + */ +export function decodeHex(src: string): Uint8Array { + const u8 = textEncoder.encode(src); + const dst = new Uint8Array(u8.length / 2); + for (let i = 0; i < dst.length; i++) { + const a = fromHexChar(u8[i * 2]!); + const b = fromHexChar(u8[i * 2 + 1]!); + dst[i] = (a << 4) | b; + } + + if (u8.length % 2 === 1) { + // Check for invalid char before reporting bad length, + // since the invalid char (if present) is an earlier problem. + fromHexChar(u8[dst.length * 2]!); + throw errLength(); + } + + return dst; +} diff --git a/vendor/jsr.io/@std/encoding/0.221.0_meta.json b/vendor/jsr.io/@std/encoding/0.221.0_meta.json new file mode 100644 index 0000000..92fe4aa --- /dev/null +++ b/vendor/jsr.io/@std/encoding/0.221.0_meta.json @@ -0,0 +1,199 @@ +{ + "manifest": { + "/varint_test.ts": { + "size": 4101, + "checksum": "sha256-2f08b186e88ba8ef8ad70ea471e0ef731e2d9e789ebc8e1e4352716b1a554e19" + }, + "/ascii85_test.ts": { + "size": 9043, + "checksum": "sha256-da3b894c0655d4c14b280b8827f6abb2243ddef8657edabb7cf5df73f100538f" + }, + "/base64_test.ts": { + "size": 1198, + "checksum": "sha256-27c3bc2955a345550e9647292a3cfc4230fffa900ff032f2e6cfc39f5cba3776" + }, + "/deno.json": { + "size": 292, + "checksum": "sha256-41d0feec00622913a425349fee9e1eba0db712a9f8163cf4783bb0e747c2c7d5" + }, + "/base64.ts": { + "size": 2640, + "checksum": "sha256-cffec9f69c4e6838762e6a94cc39fe631f545ef0e51198847e19c77a48d7e705" + }, + "/_util_test.ts": { + "size": 1795, + "checksum": "sha256-612ff16b6ae00f8ebccdfb8628e5a478211e9fd4c503d80f03a775752d5484b4" + }, + "/ascii85.ts": { + "size": 5512, + "checksum": "sha256-ca16dd5d6505c68e30e3843e0889a2360bfc004335965677232bc409cd1507bf" + }, + "/base58_test.ts": { + "size": 1939, + "checksum": "sha256-654152cb327bceb3980586ce3664e5490494908f091872ea2590f4dcd8d9e798" + }, + "/_util.ts": { + "size": 798, + "checksum": "sha256-beacef316c1255da9bc8e95afb1fa56ed69baef919c88dc06ae6cb7a6103d376" + }, + "/hex_test.ts": { + "size": 2207, + "checksum": "sha256-83d619789201b0db216dea60afd3e7fd9de25c3c90871390ab8865a5f159a45c" + }, + "/base58.ts": { + "size": 3877, + "checksum": "sha256-62803ccd557670bd2c35f15ef1672abe19f71ef33e70082d2c0a7b9d1707d5ca" + }, + "/base64url.ts": { + "size": 2282, + "checksum": "sha256-10e7bf34757d64a77b2592c37f5ab279ea96c3971199ee1d113113597d2123b0" + }, + "/base64url_test.ts": { + "size": 1759, + "checksum": "sha256-fd0d4cac58c46e7249cc796e1fcc651e9f2becf43288f70899f91e590fd5fc39" + }, + "/base32.ts": { + "size": 7241, + "checksum": "sha256-8929a802a42aa69c9426974a5557a769146b3a4135fde212ce3049172613feb3" + }, + "/varint.ts": { + "size": 5762, + "checksum": "sha256-761e4c837a0e9424c5bc4df6630dd02c7e42bff55e217396346d73fb7ebcb5a4" + }, + "/base32_test.ts": { + "size": 4151, + "checksum": "sha256-cf42522ec4eb33e409a44a44dcfcaed0887e7b8e454657d78d82b791ff4b96ed" + }, + "/hex.ts": { + "size": 2769, + "checksum": "sha256-2407cfe1125eac663523716aca8e46375bb0e1e801eed8a80fe2547cc1ec2c5e" + } + }, + "moduleGraph1": { + "/ascii85.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 25, + 35 + ], + [ + 25, + 47 + ] + ] + } + ] + }, + "/base64.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 13, + 35 + ], + [ + 13, + 47 + ] + ] + } + ] + }, + "/hex.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 31, + 35 + ], + [ + 31, + 47 + ] + ] + } + ] + }, + "/_util.ts": {}, + "/varint.ts": {}, + "/base64url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./base64.ts", + "specifierRange": [ + [ + 13, + 24 + ], + [ + 13, + 37 + ] + ] + } + ] + }, + "/base58.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 13, + 35 + ], + [ + 13, + 47 + ] + ] + } + ] + }, + "/base32.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 16, + 35 + ], + [ + 16, + 47 + ] + ] + } + ] + } + }, + "exports": { + "./ascii85": "./ascii85.ts", + "./base32": "./base32.ts", + "./base58": "./base58.ts", + "./base64": "./base64.ts", + "./base64url": "./base64url.ts", + "./hex": "./hex.ts", + "./varint": "./varint.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/encoding/1.0.6/_base32_common.ts b/vendor/jsr.io/@std/encoding/1.0.6/_base32_common.ts new file mode 100644 index 0000000..24aea14 --- /dev/null +++ b/vendor/jsr.io/@std/encoding/1.0.6/_base32_common.ts @@ -0,0 +1,218 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright (c) 2014 Jameson Little. MIT License. +// This module is browser compatible. + +/** + * common code for base32 and base32hex encodings. + */ + +import { validateBinaryLike } from "./_validate_binary_like.ts"; + +const placeHolderPadLookup = [0, 1, , 2, 3, , 4]; + +function getPadLength(placeHoldersLen: number): number { + const maybeLen = placeHolderPadLookup[placeHoldersLen]; + if (typeof maybeLen !== "number") { + throw new Error("Invalid pad length"); + } + return maybeLen; +} + +function getLens(b32: string): [number, number] { + const len = b32.length; + + if (len % 8 > 0) { + throw new Error( + `Cannot decode base32 string as the length must be a multiple of 8: received length ${len}`, + ); + } + + let validLen = b32.indexOf("="); + if (validLen === -1) validLen = len; + + const placeHoldersLen = validLen === len ? 0 : 8 - (validLen % 8); + + return [validLen, placeHoldersLen]; +} + +function getByteLength(validLen: number, placeHoldersLen: number): number { + return ((validLen + placeHoldersLen) * 5) / 8 - getPadLength(placeHoldersLen); +} + +/** + * Decodes an encoded string with the given lookup table. + * + * @param b32 The string to encode. + * @param lookup The lookup table + * @returns The encoded string. + */ +export function decode(b32: string, lookup: ReadonlyArray): Uint8Array { + const revLookup: number[] = []; + lookup.forEach((c, i) => (revLookup[c.charCodeAt(0)] = i)); + + let tmp: number; + const [validLen, placeHoldersLen] = getLens(b32); + + const arr = new Uint8Array(getByteLength(validLen, placeHoldersLen)); + + let curByte = 0; + + // if there are placeholders, only get up to the last complete 8 chars + const len = placeHoldersLen > 0 ? validLen - 8 : validLen; + + let i: number; + for (i = 0; i < len; i += 8) { + tmp = (revLookup[b32.charCodeAt(i)]! << 20) | + (revLookup[b32.charCodeAt(i + 1)]! << 15) | + (revLookup[b32.charCodeAt(i + 2)]! << 10) | + (revLookup[b32.charCodeAt(i + 3)]! << 5) | + revLookup[b32.charCodeAt(i + 4)]!; + arr[curByte++] = (tmp >> 17) & 0xff; + arr[curByte++] = (tmp >> 9) & 0xff; + arr[curByte++] = (tmp >> 1) & 0xff; + + tmp = ((tmp & 1) << 15) | + (revLookup[b32.charCodeAt(i + 5)]! << 10) | + (revLookup[b32.charCodeAt(i + 6)]! << 5) | + revLookup[b32.charCodeAt(i + 7)]!; + arr[curByte++] = (tmp >> 8) & 0xff; + arr[curByte++] = tmp & 0xff; + } + + if (placeHoldersLen === 1) { + tmp = (revLookup[b32.charCodeAt(i)]! << 20) | + (revLookup[b32.charCodeAt(i + 1)]! << 15) | + (revLookup[b32.charCodeAt(i + 2)]! << 10) | + (revLookup[b32.charCodeAt(i + 3)]! << 5) | + revLookup[b32.charCodeAt(i + 4)]!; + arr[curByte++] = (tmp >> 17) & 0xff; + arr[curByte++] = (tmp >> 9) & 0xff; + arr[curByte++] = (tmp >> 1) & 0xff; + tmp = ((tmp & 1) << 7) | + (revLookup[b32.charCodeAt(i + 5)]! << 2) | + (revLookup[b32.charCodeAt(i + 6)]! >> 3); + arr[curByte++] = tmp & 0xff; + } else if (placeHoldersLen === 3) { + tmp = (revLookup[b32.charCodeAt(i)]! << 19) | + (revLookup[b32.charCodeAt(i + 1)]! << 14) | + (revLookup[b32.charCodeAt(i + 2)]! << 9) | + (revLookup[b32.charCodeAt(i + 3)]! << 4) | + (revLookup[b32.charCodeAt(i + 4)]! >> 1); + arr[curByte++] = (tmp >> 16) & 0xff; + arr[curByte++] = (tmp >> 8) & 0xff; + arr[curByte++] = tmp & 0xff; + } else if (placeHoldersLen === 4) { + tmp = (revLookup[b32.charCodeAt(i)]! << 11) | + (revLookup[b32.charCodeAt(i + 1)]! << 6) | + (revLookup[b32.charCodeAt(i + 2)]! << 1) | + (revLookup[b32.charCodeAt(i + 3)]! >> 4); + arr[curByte++] = (tmp >> 8) & 0xff; + arr[curByte++] = tmp & 0xff; + } else if (placeHoldersLen === 6) { + tmp = (revLookup[b32.charCodeAt(i)]! << 3) | + (revLookup[b32.charCodeAt(i + 1)]! >> 2); + arr[curByte++] = tmp & 0xff; + } + + return arr; +} + +function encodeChunk( + uint8: Uint8Array, + start: number, + end: number, + lookup: ReadonlyArray, +): string { + let tmp: number; + const output = []; + for (let i = start; i < end; i += 5) { + tmp = ((uint8[i]! << 16) & 0xff0000) | + ((uint8[i + 1]! << 8) & 0xff00) | + (uint8[i + 2]! & 0xff); + output.push(lookup[(tmp >> 19) & 0x1f]); + output.push(lookup[(tmp >> 14) & 0x1f]); + output.push(lookup[(tmp >> 9) & 0x1f]); + output.push(lookup[(tmp >> 4) & 0x1f]); + tmp = ((tmp & 0xf) << 16) | + ((uint8[i + 3]! << 8) & 0xff00) | + (uint8[i + 4]! & 0xff); + output.push(lookup[(tmp >> 15) & 0x1f]); + output.push(lookup[(tmp >> 10) & 0x1f]); + output.push(lookup[(tmp >> 5) & 0x1f]); + output.push(lookup[tmp & 0x1f]); + } + return output.join(""); +} + +/** + * Encodes the given data using the lookup table. + * + * @param data The data to encode. + * @param lookup The lookup table. + * @returns The encoded string. + */ +export function encode( + data: ArrayBuffer | Uint8Array | string, + lookup: ReadonlyArray, +): string { + const uint8 = validateBinaryLike(data); + + let tmp: number; + const len = uint8.length; + const extraBytes = len % 5; + const parts = []; + const maxChunkLength = 16385; // must be multiple of 5 + const len2 = len - extraBytes; + + // go through the array every 5 bytes, we'll deal with trailing stuff later + for (let i = 0; i < len2; i += maxChunkLength) { + parts.push( + encodeChunk( + uint8, + i, + i + maxChunkLength > len2 ? len2 : i + maxChunkLength, + lookup, + ), + ); + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 4) { + tmp = ((uint8[len2]! & 0xff) << 16) | + ((uint8[len2 + 1]! & 0xff) << 8) | + (uint8[len2 + 2]! & 0xff); + parts.push(lookup[(tmp >> 19) & 0x1f]); + parts.push(lookup[(tmp >> 14) & 0x1f]); + parts.push(lookup[(tmp >> 9) & 0x1f]); + parts.push(lookup[(tmp >> 4) & 0x1f]); + tmp = ((tmp & 0xf) << 11) | (uint8[len2 + 3]! << 3); + parts.push(lookup[(tmp >> 10) & 0x1f]); + parts.push(lookup[(tmp >> 5) & 0x1f]); + parts.push(lookup[tmp & 0x1f]); + parts.push("="); + } else if (extraBytes === 3) { + tmp = ((uint8[len2]! & 0xff) << 17) | + ((uint8[len2 + 1]! & 0xff) << 9) | + ((uint8[len2 + 2]! & 0xff) << 1); + parts.push(lookup[(tmp >> 20) & 0x1f]); + parts.push(lookup[(tmp >> 15) & 0x1f]); + parts.push(lookup[(tmp >> 10) & 0x1f]); + parts.push(lookup[(tmp >> 5) & 0x1f]); + parts.push(lookup[tmp & 0x1f]); + parts.push("==="); + } else if (extraBytes === 2) { + tmp = ((uint8[len2]! & 0xff) << 12) | ((uint8[len2 + 1]! & 0xff) << 4); + parts.push(lookup[(tmp >> 15) & 0x1f]); + parts.push(lookup[(tmp >> 10) & 0x1f]); + parts.push(lookup[(tmp >> 5) & 0x1f]); + parts.push(lookup[tmp & 0x1f]); + parts.push("===="); + } else if (extraBytes === 1) { + tmp = (uint8[len2]! & 0xff) << 2; + parts.push(lookup[(tmp >> 5) & 0x1f]); + parts.push(lookup[tmp & 0x1f]); + parts.push("======"); + } + + return parts.join(""); +} diff --git a/vendor/jsr.io/@std/encoding/1.0.6/_validate_binary_like.ts b/vendor/jsr.io/@std/encoding/1.0.6/_validate_binary_like.ts new file mode 100644 index 0000000..7c39517 --- /dev/null +++ b/vendor/jsr.io/@std/encoding/1.0.6/_validate_binary_like.ts @@ -0,0 +1,29 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +const encoder = new TextEncoder(); + +function getTypeName(value: unknown): string { + const type = typeof value; + if (type !== "object") { + return type; + } else if (value === null) { + return "null"; + } else { + return value?.constructor?.name ?? "object"; + } +} + +export function validateBinaryLike(source: unknown): Uint8Array { + if (typeof source === "string") { + return encoder.encode(source); + } else if (source instanceof Uint8Array) { + return source; + } else if (source instanceof ArrayBuffer) { + return new Uint8Array(source); + } + throw new TypeError( + `Cannot validate the input as it must be a Uint8Array, a string, or an ArrayBuffer: received a value of the type ${ + getTypeName(source) + }`, + ); +} diff --git a/vendor/jsr.io/@std/encoding/1.0.6/base32.ts b/vendor/jsr.io/@std/encoding/1.0.6/base32.ts new file mode 100644 index 0000000..194bd3d --- /dev/null +++ b/vendor/jsr.io/@std/encoding/1.0.6/base32.ts @@ -0,0 +1,73 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright (c) 2014 Jameson Little. MIT License. +// This module is browser compatible. + +/** + * Utilities for + * {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-6 | base32} + * encoding and decoding. + * + * Modified from {@link https://github.com/beatgammit/base64-js}. + * + * ```ts + * import { encodeBase32, decodeBase32 } from "@std/encoding/base32"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(encodeBase32("foobar"), "MZXW6YTBOI======"); + * + * assertEquals( + * decodeBase32("MZXW6YTBOI======"), + * new TextEncoder().encode("foobar") + * ); + * ``` + * + * @module + */ +import { decode, encode } from "./_base32_common.ts"; + +const lookup: string[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".split(""); +const revLookup: number[] = []; +lookup.forEach((c, i) => (revLookup[c.charCodeAt(0)] = i)); + +/** + * Decodes a base32-encoded string. + * + * @see {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-6} + * + * @param b32 The base32-encoded string to decode. + * @returns The decoded data. + * + * @example Usage + * ```ts + * import { decodeBase32 } from "@std/encoding/base32"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals( + * decodeBase32("GZRTMMDDGA======"), + * new TextEncoder().encode("6c60c0"), + * ); + * ``` + */ +export function decodeBase32(b32: string): Uint8Array { + return decode(b32, lookup); +} + +/** + * Converts data into a base32-encoded string. + * + * @see {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-6} + * + * @param data The data to encode. + * @returns The base32-encoded string. + * + * @example Usage + * ```ts + * import { encodeBase32 } from "@std/encoding/base32"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(encodeBase32("6c60c0"), "GZRTMMDDGA======"); + * ``` + */ +export function encodeBase32(data: ArrayBuffer | Uint8Array | string): string { + return encode(data, lookup); +} diff --git a/vendor/jsr.io/@std/encoding/1.0.6/base64.ts b/vendor/jsr.io/@std/encoding/1.0.6/base64.ts new file mode 100644 index 0000000..d4f5b89 --- /dev/null +++ b/vendor/jsr.io/@std/encoding/1.0.6/base64.ts @@ -0,0 +1,174 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Utilities for + * {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-4 | base64} + * encoding and decoding. + * + * ```ts + * import { + * encodeBase64, + * decodeBase64, + * } from "@std/encoding/base64"; + * import { assertEquals } from "@std/assert"; + * + * const foobar = new TextEncoder().encode("foobar"); + * + * assertEquals(encodeBase64(foobar), "Zm9vYmFy"); + * assertEquals(decodeBase64("Zm9vYmFy"), foobar); + * ``` + * + * @module + */ + +import { validateBinaryLike } from "./_validate_binary_like.ts"; + +const base64abc = [ + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H", + "I", + "J", + "K", + "L", + "M", + "N", + "O", + "P", + "Q", + "R", + "S", + "T", + "U", + "V", + "W", + "X", + "Y", + "Z", + "a", + "b", + "c", + "d", + "e", + "f", + "g", + "h", + "i", + "j", + "k", + "l", + "m", + "n", + "o", + "p", + "q", + "r", + "s", + "t", + "u", + "v", + "w", + "x", + "y", + "z", + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "+", + "/", +]; + +/** + * Converts data into a base64-encoded string. + * + * @see {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-4} + * + * @param data The data to encode. + * @returns The base64-encoded string. + * + * @example Usage + * ```ts + * import { encodeBase64 } from "@std/encoding/base64"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(encodeBase64("foobar"), "Zm9vYmFy"); + * ``` + */ +export function encodeBase64(data: ArrayBuffer | Uint8Array | string): string { + // CREDIT: https://gist.github.com/enepomnyaschih/72c423f727d395eeaa09697058238727 + const uint8 = validateBinaryLike(data); + let result = ""; + let i; + const l = uint8.length; + for (i = 2; i < l; i += 3) { + result += base64abc[(uint8[i - 2]!) >> 2]; + result += base64abc[ + (((uint8[i - 2]!) & 0x03) << 4) | + ((uint8[i - 1]!) >> 4) + ]; + result += base64abc[ + (((uint8[i - 1]!) & 0x0f) << 2) | + ((uint8[i]!) >> 6) + ]; + result += base64abc[(uint8[i]!) & 0x3f]; + } + if (i === l + 1) { + // 1 octet yet to write + result += base64abc[(uint8[i - 2]!) >> 2]; + result += base64abc[((uint8[i - 2]!) & 0x03) << 4]; + result += "=="; + } + if (i === l) { + // 2 octets yet to write + result += base64abc[(uint8[i - 2]!) >> 2]; + result += base64abc[ + (((uint8[i - 2]!) & 0x03) << 4) | + ((uint8[i - 1]!) >> 4) + ]; + result += base64abc[((uint8[i - 1]!) & 0x0f) << 2]; + result += "="; + } + return result; +} + +/** + * Decodes a base64-encoded string. + * + * @see {@link https://www.rfc-editor.org/rfc/rfc4648.html#section-4} + * + * @param b64 The base64-encoded string to decode. + * @returns The decoded data. + * + * @example Usage + * ```ts + * import { decodeBase64 } from "@std/encoding/base64"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals( + * decodeBase64("Zm9vYmFy"), + * new TextEncoder().encode("foobar") + * ); + * ``` + */ +export function decodeBase64(b64: string): Uint8Array { + const binString = atob(b64); + const size = binString.length; + const bytes = new Uint8Array(size); + for (let i = 0; i < size; i++) { + bytes[i] = binString.charCodeAt(i); + } + return bytes; +} diff --git a/vendor/jsr.io/@std/encoding/1.0.6/hex.ts b/vendor/jsr.io/@std/encoding/1.0.6/hex.ts new file mode 100644 index 0000000..97fa6bb --- /dev/null +++ b/vendor/jsr.io/@std/encoding/1.0.6/hex.ts @@ -0,0 +1,120 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// https://github.com/golang/go/blob/master/LICENSE +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Port of the Go + * {@link https://github.com/golang/go/blob/go1.12.5/src/encoding/hex/hex.go | encoding/hex} + * library. + * + * ```ts + * import { + * decodeHex, + * encodeHex, + * } from "@std/encoding/hex"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(encodeHex("abc"), "616263"); + * + * assertEquals( + * decodeHex("616263"), + * new TextEncoder().encode("abc"), + * ); + * ``` + * + * @module + */ + +import { validateBinaryLike } from "./_validate_binary_like.ts"; + +const hexTable = new TextEncoder().encode("0123456789abcdef"); +const textEncoder = new TextEncoder(); +const textDecoder = new TextDecoder(); + +function errInvalidByte(byte: number) { + return new TypeError(`Invalid byte '${String.fromCharCode(byte)}'`); +} + +function errLength(len: number) { + return new RangeError( + `Cannot decode the hex string as the input length should be even: length is ${len}`, + ); +} + +/** Converts a hex character into its value. */ +function fromHexChar(byte: number): number { + // '0' <= byte && byte <= '9' + if (48 <= byte && byte <= 57) return byte - 48; + // 'a' <= byte && byte <= 'f' + if (97 <= byte && byte <= 102) return byte - 97 + 10; + // 'A' <= byte && byte <= 'F' + if (65 <= byte && byte <= 70) return byte - 65 + 10; + + throw errInvalidByte(byte); +} + +/** + * Converts data into a hex-encoded string. + * + * @param src The data to encode. + * + * @returns The hex-encoded string. + * + * @example Usage + * ```ts + * import { encodeHex } from "@std/encoding/hex"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(encodeHex("abc"), "616263"); + * ``` + */ +export function encodeHex(src: string | Uint8Array | ArrayBuffer): string { + const u8 = validateBinaryLike(src); + + const dst = new Uint8Array(u8.length * 2); + for (let i = 0; i < u8.length; i++) { + const v = u8[i]!; + dst[i * 2] = hexTable[v >> 4]!; + dst[i * 2 + 1] = hexTable[v & 0x0f]!; + } + return textDecoder.decode(dst); +} + +/** + * Decodes the given hex-encoded string. If the input is malformed, an error is + * thrown. + * + * @param src The hex-encoded string to decode. + * + * @returns The decoded data. + * + * @example Usage + * ```ts + * import { decodeHex } from "@std/encoding/hex"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals( + * decodeHex("616263"), + * new TextEncoder().encode("abc"), + * ); + * ``` + */ +export function decodeHex(src: string): Uint8Array { + const u8 = textEncoder.encode(src); + const dst = new Uint8Array(u8.length / 2); + for (let i = 0; i < dst.length; i++) { + const a = fromHexChar(u8[i * 2]!); + const b = fromHexChar(u8[i * 2 + 1]!); + dst[i] = (a << 4) | b; + } + + if (u8.length % 2 === 1) { + // Check for invalid char before reporting bad length, + // since the invalid char (if present) is an earlier problem. + fromHexChar(u8[dst.length * 2]!); + throw errLength(u8.length); + } + + return dst; +} diff --git a/vendor/jsr.io/@std/encoding/1.0.6_meta.json b/vendor/jsr.io/@std/encoding/1.0.6_meta.json new file mode 100644 index 0000000..0f1f7e0 --- /dev/null +++ b/vendor/jsr.io/@std/encoding/1.0.6_meta.json @@ -0,0 +1,540 @@ +{ + "manifest": { + "/ascii85.ts": { + "size": 6008, + "checksum": "sha256-60f5bdb54c6e44c2df92f85135b4c3545c877b9f397b9fc2d08621f3e85ae9e5" + }, + "/unstable_base32_stream.ts": { + "size": 3365, + "checksum": "sha256-6b7e104b98892906b1ece255641ae61d5e5d1e2a639c0e9a14494c68dade7421" + }, + "/unstable_base32hex_test.ts": { + "size": 1593, + "checksum": "sha256-98136d71210fcff8eb22ac862b2722f31fd5af282d6d58a9e4d379c3b1fc9c85" + }, + "/varint.ts": { + "size": 8044, + "checksum": "sha256-14fffecdd350de8916dac05cff65dc953f13a921fdec86bda69b3cb4a4d08b6d" + }, + "/unstable_base32_stream_test.ts": { + "size": 1134, + "checksum": "sha256-0f8e6bf3527a6376779fb80c2f08888dedebcf1ecd72bb647c98e0dfc0b6c19d" + }, + "/unstable_base64url_stream.ts": { + "size": 3521, + "checksum": "sha256-3ebac6d1ded8b900878f232f3a0482f9579024d16f5c48a255f4e4e93772b428" + }, + "/varint_test.ts": { + "size": 4501, + "checksum": "sha256-82c9bb8fd52a77c0da0eaaa607f443696b31e916082bd363f27761b09a3e9449" + }, + "/deno.json": { + "size": 754, + "checksum": "sha256-1af87c5a6cf76fecae09e98ef57e0acab01f7381269ed1e582ec43cb3d0d04d0" + }, + "/base64_test.ts": { + "size": 1197, + "checksum": "sha256-b355db7ca3a67c7538828667bc530590ecc444aaa0662edd6dd60eadbd7b3dd9" + }, + "/base32_test.ts": { + "size": 1545, + "checksum": "sha256-1a4813f5f1ef821820843860527d6db9f9f89b46ee68bb9e7fc5834c988e39ed" + }, + "/ascii85_test.ts": { + "size": 9013, + "checksum": "sha256-97ca06ed6dc573c5cced3b69258ae82082283e76d918f218a6bf25909cb5a171" + }, + "/_random_slice_stream.ts": { + "size": 542, + "checksum": "sha256-b91aa5a1f4ccd2c93f6df68afce9031bd9dab08da925442dbdc89eb88e61997d" + }, + "/_base32_common.ts": { + "size": 6977, + "checksum": "sha256-ab45ca2db2aa3c5d64d6c76ccf765eaef4416a2ebd46255f2fb44347d5663b0f" + }, + "/unstable_base32crockford_test.ts": { + "size": 1631, + "checksum": "sha256-92ceecf5e5c0901b1275227cf9b50766e83e71e5828d6d3a5a38799850bc8218" + }, + "/base64.ts": { + "size": 3253, + "checksum": "sha256-838d630a03ae8ba7ddcab1a59eb6943e4fdc6ccfe0d19cf111ee6bc131011571" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/unstable_base32hex_stream.ts": { + "size": 3490, + "checksum": "sha256-51b2fb56a4632c2e1a4a3ef22e38e8f8d528677334e2a98e85ff5d590aea9f86" + }, + "/_validate_binary_like_test.ts": { + "size": 1936, + "checksum": "sha256-9d2185213053acca4f1569d311f23f40f342e5c1c41a010d2576eb19e5632aa0" + }, + "/base58_test.ts": { + "size": 1953, + "checksum": "sha256-ea1538365b85316f464ce4eecaa06d505ad8c553101c6b7226cce8ac658072e3" + }, + "/base58.ts": { + "size": 4469, + "checksum": "sha256-701aed7336bd3c89bfa0648d00dd6de4ac95ae2de891d084700a92ca107d4862" + }, + "/_validate_binary_like.ts": { + "size": 819, + "checksum": "sha256-719b2e6127b8ffb008c01a726c06c60de9b7c83208880ee651720a5cbfdd7637" + }, + "/unstable_base32crockford.ts": { + "size": 2078, + "checksum": "sha256-af0b4cb25d713f8e09e5b585c6a4ec73ae146e969ac1a2ba55d2b5ee8db065b4" + }, + "/base64url_test.ts": { + "size": 1757, + "checksum": "sha256-2b8b3723fd006e66fdc69a88f41986766cd4dfece5ed775c7c3d590d7cf032a4" + }, + "/mod.ts": { + "size": 675, + "checksum": "sha256-057d0e7fa708f0b62e0013c06f8520a4b5ce969b68171cc36f4c874b7c2f9921" + }, + "/unstable_hex_stream_test.ts": { + "size": 1098, + "checksum": "sha256-f4a2c36ca96ce2f976f1dadf7b3d67025342ab77509c70b8f864353cb02739d0" + }, + "/unstable_base64_stream_test.ts": { + "size": 1136, + "checksum": "sha256-4295ae2766449d5a7d6cb7decb8df1c09689adb8177dbdd036f053c707ff1c26" + }, + "/base32.ts": { + "size": 1955, + "checksum": "sha256-175fe2627a836518f8755c0b778ae58b168c0e31086181f762f24e057a477032" + }, + "/unstable_base64_stream.ts": { + "size": 3366, + "checksum": "sha256-3bf9475e350f5146b779c452a339484e75e6cbff2bd81975f19f02b8f7d45081" + }, + "/hex_test.ts": { + "size": 2206, + "checksum": "sha256-0484417ea9975f595912d7daf48338ce94b4ac5c4dbbf3fb3816e3c119ee4da2" + }, + "/unstable_base32hex_stream_test.ts": { + "size": 1172, + "checksum": "sha256-f563cfee8921f586b903ae9012ac20821829dd2cccbe96f721dfeb7804a5f749" + }, + "/unstable_hex_stream.ts": { + "size": 2846, + "checksum": "sha256-db091ee7b66041eccdc43383eff5e4ac38397f7711b75fecbe30a8b916f802a4" + }, + "/hex.ts": { + "size": 3102, + "checksum": "sha256-c7f4d71486d573ef2eb10b5d509e071297cfa85ca658d96f2b8221f9680a24ea" + }, + "/unstable_base32hex.ts": { + "size": 2232, + "checksum": "sha256-2a956b3c5fa0863261c60052e197e218df8b412e6a9a09981f4539e4618707f0" + }, + "/unstable_base64url_stream_test.ts": { + "size": 1169, + "checksum": "sha256-0a90904bb7eebf5475923bfd29fcb49be82dfbd732b1a79155e5565f59966ee7" + }, + "/base64url.ts": { + "size": 2513, + "checksum": "sha256-5a39b5dddaa201be27782a90ffe6d9794a6e6ee2a9f1919bc9a1a48a76c30733" + } + }, + "moduleGraph2": { + "/_validate_binary_like.ts": {}, + "/unstable_base64url_stream.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./base64url.ts", + "specifierRange": [ + [ + 23, + 49 + ], + [ + 23, + 65 + ] + ] + } + ] + }, + "/hex.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_validate_binary_like.ts", + "specifierRange": [ + [ + 28, + 35 + ], + [ + 28, + 63 + ] + ] + } + ] + }, + "/unstable_hex_stream.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./hex.ts", + "specifierRange": [ + [ + 23, + 37 + ], + [ + 23, + 47 + ] + ] + } + ] + }, + "/base64.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_validate_binary_like.ts", + "specifierRange": [ + [ + 24, + 35 + ], + [ + 24, + 63 + ] + ] + } + ] + }, + "/unstable_base32hex_stream.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./unstable_base32hex.ts", + "specifierRange": [ + [ + 23, + 49 + ], + [ + 23, + 74 + ] + ] + } + ] + }, + "/base32.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_base32_common.ts", + "specifierRange": [ + [ + 25, + 31 + ], + [ + 25, + 52 + ] + ] + } + ] + }, + "/ascii85.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_validate_binary_like.ts", + "specifierRange": [ + [ + 23, + 35 + ], + [ + 23, + 63 + ] + ] + } + ] + }, + "/unstable_base32_stream.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./base32.ts", + "specifierRange": [ + [ + 23, + 43 + ], + [ + 23, + 56 + ] + ] + } + ] + }, + "/unstable_base64_stream.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./base64.ts", + "specifierRange": [ + [ + 23, + 43 + ], + [ + 23, + 56 + ] + ] + } + ] + }, + "/unstable_base32crockford.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_base32_common.ts", + "specifierRange": [ + [ + 25, + 31 + ], + [ + 25, + 52 + ] + ] + } + ] + }, + "/base64url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./base64.ts", + "specifierRange": [ + [ + 11, + 24 + ], + [ + 11, + 37 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./ascii85.ts", + "specifierRange": [ + [ + 17, + 14 + ], + [ + 17, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./base32.ts", + "specifierRange": [ + [ + 18, + 14 + ], + [ + 18, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./base58.ts", + "specifierRange": [ + [ + 19, + 14 + ], + [ + 19, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./base64.ts", + "specifierRange": [ + [ + 20, + 14 + ], + [ + 20, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./base64url.ts", + "specifierRange": [ + [ + 21, + 14 + ], + [ + 21, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./hex.ts", + "specifierRange": [ + [ + 22, + 14 + ], + [ + 22, + 24 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./varint.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 27 + ] + ] + } + ] + }, + "/unstable_base32hex.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_base32_common.ts", + "specifierRange": [ + [ + 29, + 31 + ], + [ + 29, + 52 + ] + ] + } + ] + }, + "/base58.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_validate_binary_like.ts", + "specifierRange": [ + [ + 22, + 35 + ], + [ + 22, + 63 + ] + ] + } + ] + }, + "/_base32_common.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_validate_binary_like.ts", + "specifierRange": [ + [ + 8, + 35 + ], + [ + 8, + 63 + ] + ] + } + ] + }, + "/varint.ts": {} + }, + "exports": { + ".": "./mod.ts", + "./ascii85": "./ascii85.ts", + "./base32": "./base32.ts", + "./unstable-base32-stream": "./unstable_base32_stream.ts", + "./unstable-base32crockford": "./unstable_base32crockford.ts", + "./unstable-base32hex": "./unstable_base32hex.ts", + "./unstable-base32hex-stream": "./unstable_base32hex_stream.ts", + "./base58": "./base58.ts", + "./base64": "./base64.ts", + "./unstable-base64-stream": "./unstable_base64_stream.ts", + "./base64url": "./base64url.ts", + "./unstable-base64url-stream": "./unstable_base64url_stream.ts", + "./hex": "./hex.ts", + "./unstable-hex-stream": "./unstable_hex_stream.ts", + "./varint": "./varint.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/encoding/meta.json b/vendor/jsr.io/@std/encoding/meta.json new file mode 100644 index 0000000..48d2f68 --- /dev/null +++ b/vendor/jsr.io/@std/encoding/meta.json @@ -0,0 +1,53 @@ +{ + "scope": "std", + "name": "encoding", + "latest": "1.0.6", + "versions": { + "0.209.0": {}, + "0.215.0": {}, + "0.211.0": {}, + "0.218.0": {}, + "0.202.0": {}, + "0.210.0": {}, + "0.224.0": {}, + "0.220.1": {}, + "0.198.0": {}, + "0.205.0": {}, + "1.0.4": {}, + "0.201.0": {}, + "1.0.5": {}, + "0.223.0": {}, + "0.224.1": {}, + "0.222.1": {}, + "0.213.0": {}, + "0.207.0": {}, + "1.0.1": {}, + "0.218.2": {}, + "0.217.0": {}, + "0.206.0": {}, + "0.196.0": {}, + "0.213.1": {}, + "1.0.0-rc.1": {}, + "0.221.0": {}, + "0.208.0": {}, + "0.219.0": {}, + "1.0.6": {}, + "1.0.0-rc.2": {}, + "0.212.0": {}, + "0.218.1": {}, + "0.204.0": {}, + "0.199.0": {}, + "0.197.0": {}, + "0.222.0": {}, + "0.219.1": {}, + "1.0.3": {}, + "1.0.2": {}, + "1.0.0": {}, + "0.216.0": {}, + "0.200.0": {}, + "0.224.3": {}, + "0.224.2": {}, + "0.214.0": {}, + "0.203.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/fmt/0.221.0/colors.ts b/vendor/jsr.io/@std/fmt/0.221.0/colors.ts new file mode 100644 index 0000000..6d03924 --- /dev/null +++ b/vendor/jsr.io/@std/fmt/0.221.0/colors.ts @@ -0,0 +1,589 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +// A module to print ANSI terminal colors. Inspired by chalk, kleur, and colors +// on npm. + +/** + * String formatters and utilities for dealing with ANSI color codes. + * + * This module is browser compatible. + * + * This module supports `NO_COLOR` environmental variable disabling any coloring + * if `NO_COLOR` is set. + * + * @example + * ```ts + * import { + * bgBlue, + * bgRgb24, + * bgRgb8, + * bold, + * italic, + * red, + * rgb24, + * rgb8, + * } from "@std/fmt/colors"; + * + * console.log(bgBlue(italic(red(bold("Hello, World!"))))); + * + * // also supports 8bit colors + * + * console.log(rgb8("Hello, World!", 42)); + * + * console.log(bgRgb8("Hello, World!", 42)); + * + * // and 24bit rgb + * + * console.log(rgb24("Hello, World!", { + * r: 41, + * g: 42, + * b: 43, + * })); + * + * console.log(bgRgb24("Hello, World!", { + * r: 41, + * g: 42, + * b: 43, + * })); + * ``` + * + * @module + */ + +// deno-lint-ignore no-explicit-any +const { Deno } = globalThis as any; +const noColor = typeof Deno?.noColor === "boolean" + ? Deno.noColor as boolean + : false; + +interface Code { + open: string; + close: string; + regexp: RegExp; +} + +/** RGB 8-bits per channel. Each in range `0->255` or `0x00->0xff` */ +export interface Rgb { + /** Red component value */ + r: number; + /** Green component value */ + g: number; + /** Blue component value */ + b: number; +} + +let enabled = !noColor; + +/** + * Set changing text color to enabled or disabled + * @param value + */ +export function setColorEnabled(value: boolean) { + if (Deno?.noColor) { + return; + } + + enabled = value; +} + +/** Get whether text color change is enabled or disabled. */ +export function getColorEnabled(): boolean { + return enabled; +} + +/** + * Builds color code + * @param open + * @param close + */ +function code(open: number[], close: number): Code { + return { + open: `\x1b[${open.join(";")}m`, + close: `\x1b[${close}m`, + regexp: new RegExp(`\\x1b\\[${close}m`, "g"), + }; +} + +/** + * Applies color and background based on color code and its associated text + * @param str text to apply color settings to + * @param code color code to apply + */ +function run(str: string, code: Code): string { + return enabled + ? `${code.open}${str.replace(code.regexp, code.open)}${code.close}` + : str; +} + +/** + * Reset the text modified. + * @param str text to reset + */ +export function reset(str: string): string { + return run(str, code([0], 0)); +} + +/** + * Make the text bold. + * @param str text to make bold + */ +export function bold(str: string): string { + return run(str, code([1], 22)); +} + +/** + * The text emits only a small amount of light. + * @param str text to dim + * + * Warning: Not all terminal emulators support `dim`. + * For compatibility across all terminals, use {@linkcode gray} or {@linkcode brightBlack} instead. + */ +export function dim(str: string): string { + return run(str, code([2], 22)); +} + +/** + * Make the text italic. + * @param str text to make italic + */ +export function italic(str: string): string { + return run(str, code([3], 23)); +} + +/** + * Make the text underline. + * @param str text to underline + */ +export function underline(str: string): string { + return run(str, code([4], 24)); +} + +/** + * Invert background color and text color. + * @param str text to invert its color + */ +export function inverse(str: string): string { + return run(str, code([7], 27)); +} + +/** + * Make the text hidden. + * @param str text to hide + */ +export function hidden(str: string): string { + return run(str, code([8], 28)); +} + +/** + * Put horizontal line through the center of the text. + * @param str text to strike through + */ +export function strikethrough(str: string): string { + return run(str, code([9], 29)); +} + +/** + * Set text color to black. + * @param str text to make black + */ +export function black(str: string): string { + return run(str, code([30], 39)); +} + +/** + * Set text color to red. + * @param str text to make red + */ +export function red(str: string): string { + return run(str, code([31], 39)); +} + +/** + * Set text color to green. + * @param str text to make green + */ +export function green(str: string): string { + return run(str, code([32], 39)); +} + +/** + * Set text color to yellow. + * @param str text to make yellow + */ +export function yellow(str: string): string { + return run(str, code([33], 39)); +} + +/** + * Set text color to blue. + * @param str text to make blue + */ +export function blue(str: string): string { + return run(str, code([34], 39)); +} + +/** + * Set text color to magenta. + * @param str text to make magenta + */ +export function magenta(str: string): string { + return run(str, code([35], 39)); +} + +/** + * Set text color to cyan. + * @param str text to make cyan + */ +export function cyan(str: string): string { + return run(str, code([36], 39)); +} + +/** + * Set text color to white. + * @param str text to make white + */ +export function white(str: string): string { + return run(str, code([37], 39)); +} + +/** + * Set text color to gray. + * @param str text to make gray + */ +export function gray(str: string): string { + return brightBlack(str); +} + +/** + * Set text color to bright black. + * @param str text to make bright-black + */ +export function brightBlack(str: string): string { + return run(str, code([90], 39)); +} + +/** + * Set text color to bright red. + * @param str text to make bright-red + */ +export function brightRed(str: string): string { + return run(str, code([91], 39)); +} + +/** + * Set text color to bright green. + * @param str text to make bright-green + */ +export function brightGreen(str: string): string { + return run(str, code([92], 39)); +} + +/** + * Set text color to bright yellow. + * @param str text to make bright-yellow + */ +export function brightYellow(str: string): string { + return run(str, code([93], 39)); +} + +/** + * Set text color to bright blue. + * @param str text to make bright-blue + */ +export function brightBlue(str: string): string { + return run(str, code([94], 39)); +} + +/** + * Set text color to bright magenta. + * @param str text to make bright-magenta + */ +export function brightMagenta(str: string): string { + return run(str, code([95], 39)); +} + +/** + * Set text color to bright cyan. + * @param str text to make bright-cyan + */ +export function brightCyan(str: string): string { + return run(str, code([96], 39)); +} + +/** + * Set text color to bright white. + * @param str text to make bright-white + */ +export function brightWhite(str: string): string { + return run(str, code([97], 39)); +} + +/** + * Set background color to black. + * @param str text to make its background black + */ +export function bgBlack(str: string): string { + return run(str, code([40], 49)); +} + +/** + * Set background color to red. + * @param str text to make its background red + */ +export function bgRed(str: string): string { + return run(str, code([41], 49)); +} + +/** + * Set background color to green. + * @param str text to make its background green + */ +export function bgGreen(str: string): string { + return run(str, code([42], 49)); +} + +/** + * Set background color to yellow. + * @param str text to make its background yellow + */ +export function bgYellow(str: string): string { + return run(str, code([43], 49)); +} + +/** + * Set background color to blue. + * @param str text to make its background blue + */ +export function bgBlue(str: string): string { + return run(str, code([44], 49)); +} + +/** + * Set background color to magenta. + * @param str text to make its background magenta + */ +export function bgMagenta(str: string): string { + return run(str, code([45], 49)); +} + +/** + * Set background color to cyan. + * @param str text to make its background cyan + */ +export function bgCyan(str: string): string { + return run(str, code([46], 49)); +} + +/** + * Set background color to white. + * @param str text to make its background white + */ +export function bgWhite(str: string): string { + return run(str, code([47], 49)); +} + +/** + * Set background color to bright black. + * @param str text to make its background bright-black + */ +export function bgBrightBlack(str: string): string { + return run(str, code([100], 49)); +} + +/** + * Set background color to bright red. + * @param str text to make its background bright-red + */ +export function bgBrightRed(str: string): string { + return run(str, code([101], 49)); +} + +/** + * Set background color to bright green. + * @param str text to make its background bright-green + */ +export function bgBrightGreen(str: string): string { + return run(str, code([102], 49)); +} + +/** + * Set background color to bright yellow. + * @param str text to make its background bright-yellow + */ +export function bgBrightYellow(str: string): string { + return run(str, code([103], 49)); +} + +/** + * Set background color to bright blue. + * @param str text to make its background bright-blue + */ +export function bgBrightBlue(str: string): string { + return run(str, code([104], 49)); +} + +/** + * Set background color to bright magenta. + * @param str text to make its background bright-magenta + */ +export function bgBrightMagenta(str: string): string { + return run(str, code([105], 49)); +} + +/** + * Set background color to bright cyan. + * @param str text to make its background bright-cyan + */ +export function bgBrightCyan(str: string): string { + return run(str, code([106], 49)); +} + +/** + * Set background color to bright white. + * @param str text to make its background bright-white + */ +export function bgBrightWhite(str: string): string { + return run(str, code([107], 49)); +} + +/* Special Color Sequences */ + +/** + * Clam and truncate color codes + * @param n + * @param max number to truncate to + * @param min number to truncate from + */ +function clampAndTruncate(n: number, max = 255, min = 0): number { + return Math.trunc(Math.max(Math.min(n, max), min)); +} + +/** + * Set text color using paletted 8bit colors. + * https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit + * @param str text color to apply paletted 8bit colors to + * @param color code + */ +export function rgb8(str: string, color: number): string { + return run(str, code([38, 5, clampAndTruncate(color)], 39)); +} + +/** + * Set background color using paletted 8bit colors. + * https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit + * @param str text color to apply paletted 8bit background colors to + * @param color code + */ +export function bgRgb8(str: string, color: number): string { + return run(str, code([48, 5, clampAndTruncate(color)], 49)); +} + +/** + * Set text color using 24bit rgb. + * `color` can be a number in range `0x000000` to `0xffffff` or + * an `Rgb`. + * + * To produce the color magenta: + * + * ```ts + * import { rgb24 } from "@std/fmt/colors"; + * + * rgb24("foo", 0xff00ff); + * rgb24("foo", {r: 255, g: 0, b: 255}); + * ``` + * @param str text color to apply 24bit rgb to + * @param color code + */ +export function rgb24(str: string, color: number | Rgb): string { + if (typeof color === "number") { + return run( + str, + code( + [38, 2, (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff], + 39, + ), + ); + } + return run( + str, + code( + [ + 38, + 2, + clampAndTruncate(color.r), + clampAndTruncate(color.g), + clampAndTruncate(color.b), + ], + 39, + ), + ); +} + +/** + * Set background color using 24bit rgb. + * `color` can be a number in range `0x000000` to `0xffffff` or + * an `Rgb`. + * + * To produce the color magenta: + * + * ```ts + * import { bgRgb24 } from "@std/fmt/colors"; + * + * bgRgb24("foo", 0xff00ff); + * bgRgb24("foo", {r: 255, g: 0, b: 255}); + * ``` + * @param str text color to apply 24bit rgb to + * @param color code + */ +export function bgRgb24(str: string, color: number | Rgb): string { + if (typeof color === "number") { + return run( + str, + code( + [48, 2, (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff], + 49, + ), + ); + } + return run( + str, + code( + [ + 48, + 2, + clampAndTruncate(color.r), + clampAndTruncate(color.g), + clampAndTruncate(color.b), + ], + 49, + ), + ); +} + +// https://github.com/chalk/ansi-regex/blob/02fa893d619d3da85411acc8fd4e2eea0e95a9d9/index.js +const ANSI_PATTERN = new RegExp( + [ + "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", + "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TXZcf-nq-uy=><~]))", + ].join("|"), + "g", +); + +/** + * Remove ANSI escape codes from the string. + * @param string to remove ANSI escape codes from + * + * @deprecated (will be removed in 1.0.0) Use {@linkcode stripAnsiCode} instead. + */ +export function stripColor(string: string): string { + return stripAnsiCode(string); +} + +/** + * Remove ANSI escape codes from the string. + * + * @param string to remove ANSI escape codes from + */ +export function stripAnsiCode(string: string): string { + return string.replace(ANSI_PATTERN, ""); +} diff --git a/vendor/jsr.io/@std/fmt/0.221.0_meta.json b/vendor/jsr.io/@std/fmt/0.221.0_meta.json new file mode 100644 index 0000000..0d15f9d --- /dev/null +++ b/vendor/jsr.io/@std/fmt/0.221.0_meta.json @@ -0,0 +1,52 @@ +{ + "manifest": { + "/colors.ts": { + "size": 12872, + "checksum": "sha256-85fab9452ef08d5db723cae5202b95b3e072fe7639cf4608426b665e136af4da" + }, + "/bytes_test.ts": { + "size": 7144, + "checksum": "sha256-933be72d04e0fd7809c36ab1cbc63fb0d8357b907c535d21540841a5e5fa199c" + }, + "/deno.json": { + "size": 194, + "checksum": "sha256-092b3a04aca43dff57efabf17da1a087cc6ce238aaf65f5a1179e62f1da541b8" + }, + "/duration_test.ts": { + "size": 1563, + "checksum": "sha256-ada7bbcb589e7813e9dd56a6f48c75f5c129295b18a59e214fd44ff8d2e9bb28" + }, + "/printf_test.ts": { + "size": 26238, + "checksum": "sha256-a79bc08a83d4d1d5642db9301f5541632cd7994ac5f1353ffc063133384fd396" + }, + "/colors_test.ts": { + "size": 6420, + "checksum": "sha256-ec70b2ced309c6a0fd1f713f309f0442862f5ac86c563269a70fe986e0eab11a" + }, + "/duration.ts": { + "size": 4217, + "checksum": "sha256-aee068ae4f04f703d4b5e9efa5a33834460bfdb7a3e3e8b2afcb2b0529175e08" + }, + "/printf.ts": { + "size": 27850, + "checksum": "sha256-8d01408076e2f956b03dd8377010c4974515d6cc909978d2edc5c8cd75077eeb" + }, + "/bytes.ts": { + "size": 4538, + "checksum": "sha256-cca092bd3662056c150b4db90e9ef827b574eafa7bd929a6ca12c702f246484e" + } + }, + "moduleGraph1": { + "/printf.ts": {}, + "/bytes.ts": {}, + "/colors.ts": {}, + "/duration.ts": {} + }, + "exports": { + "./bytes": "./bytes.ts", + "./colors": "./colors.ts", + "./duration": "./duration.ts", + "./printf": "./printf.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/fmt/1.0.4/bytes.ts b/vendor/jsr.io/@std/fmt/1.0.4/bytes.ts new file mode 100644 index 0000000..d844e68 --- /dev/null +++ b/vendor/jsr.io/@std/fmt/1.0.4/bytes.ts @@ -0,0 +1,209 @@ +// Copyright 2014-2021 Sindre Sorhus. All rights reserved. MIT license. +// Copyright 2021 Yoshiya Hinosawa. All rights reserved. MIT license. +// Copyright 2021 Giuseppe Eletto. All rights reserved. MIT license. +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. + +/** + * Convert bytes to a human-readable string: 1337 → 1.34 kB + * + * Based on {@link https://github.com/sindresorhus/pretty-bytes | pretty-bytes}. + * A utility for displaying file sizes for humans. + * + * ```ts + * import { format } from "@std/fmt/bytes"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(format(1337), "1.34 kB"); + * assertEquals(format(100), "100 B"); + * ``` + * @module + */ + +type LocaleOptions = { + minimumFractionDigits?: number; + maximumFractionDigits?: number; +}; + +/** Options for {@linkcode format}. */ +export interface FormatOptions { + /** + * Uses bits representation. + * + * @default {false} + */ + bits?: boolean; + /** + * Uses binary bytes (e.g. kibibyte). + * + * @default {false} + */ + binary?: boolean; + /** + * Include plus sign for positive numbers. + * + * @default {false} + */ + signed?: boolean; + /** + * Uses localized number formatting. If it is set to true, uses default + * locale on the system. If it's set to string, uses that locale. The given + * string should be a + * {@link https://en.wikipedia.org/wiki/IETF_language_tag | BCP 47 language tag}. + * You can also give the list of language tags. + */ + locale?: boolean | string | string[]; + /** + * The minimum number of fraction digits to display. If neither + * {@linkcode minimumFractionDigits} or {@linkcode maximumFractionDigits} + * are set. + * + * @default {3} + */ + minimumFractionDigits?: number; + /** + * The maximum number of fraction digits to display. If neither + * {@linkcode minimumFractionDigits} or {@linkcode maximumFractionDigits} + * are set. + * + * @default {3} + */ + maximumFractionDigits?: number; +} + +/** + * Convert bytes to a human-readable string: 1337 → 1.34 kB + * + * Based on {@link https://github.com/sindresorhus/pretty-bytes | pretty-bytes}. + * A utility for displaying file sizes for humans. + * + * @param num The bytes value to format + * @param options The options for formatting + * @returns The formatted string + * + * @example Basic usage + * ```ts + * import { format } from "@std/fmt/bytes"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(format(1337), "1.34 kB"); + * assertEquals(format(100), "100 B"); + * ``` + * + * @example Include bits representation + * + * ```ts + * import { format } from "@std/fmt/bytes"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(format(1337, { bits: true }), "1.34 kbit"); + * ``` + * + * @example Include sign + * + * ```ts + * import { format } from "@std/fmt/bytes"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(format(42, { signed: true }), "+42 B"); + * assertEquals(format(-42, { signed: true }), "-42 B"); + * ``` + * + * @example Change locale + * + * ```ts + * import { format } from "@std/fmt/bytes"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(format(1337, { locale: "de" }), "1,34 kB"); + * ``` + */ +export function format( + num: number, + options: FormatOptions = {}, +): string { + if (!Number.isFinite(num)) { + throw new TypeError(`Expected a finite number, got ${typeof num}: ${num}`); + } + + const UNITS_FIRSTLETTER = (options.bits ? "b" : "B") + "kMGTPEZY"; + + if (options.signed && num === 0) { + return ` 0 ${UNITS_FIRSTLETTER[0]}`; + } + + const prefix = num < 0 ? "-" : (options.signed ? "+" : ""); + num = Math.abs(num); + + const localeOptions = getLocaleOptions(options); + + if (num < 1) { + const numberString = toLocaleString(num, options.locale, localeOptions); + return prefix + numberString + " " + UNITS_FIRSTLETTER[0]; + } + + const exponent = Math.min( + Math.floor( + options.binary ? Math.log(num) / Math.log(1024) : Math.log10(num) / 3, + ), + UNITS_FIRSTLETTER.length - 1, + ); + num /= Math.pow(options.binary ? 1024 : 1000, exponent); + + if (!localeOptions) { + num = Number(num.toPrecision(3)); + } + + const numberString = toLocaleString( + num, + options.locale, + localeOptions, + ); + + let unit = UNITS_FIRSTLETTER[exponent]; + if (exponent > 0) { + unit += options.binary ? "i" : ""; + unit += options.bits ? "bit" : "B"; + } + + return prefix + numberString + " " + unit; +} + +function getLocaleOptions( + { maximumFractionDigits, minimumFractionDigits }: FormatOptions, +): LocaleOptions | undefined { + if ( + maximumFractionDigits === undefined && minimumFractionDigits === undefined + ) { + return; + } + + const ret: LocaleOptions = {}; + if (maximumFractionDigits !== undefined) { + ret.maximumFractionDigits = maximumFractionDigits; + } + if (minimumFractionDigits !== undefined) { + ret.minimumFractionDigits = minimumFractionDigits; + } + return ret; +} + +/** + * Formats the given number using `Number#toLocaleString`. + * - If locale is a string, the value is expected to be a locale-key (for example: `de`). + * - If locale is true, the system default locale is used for translation. + * - If no value for locale is specified, the number is returned unmodified. + */ +function toLocaleString( + num: number, + locale: boolean | string | string[] | undefined, + options: LocaleOptions | undefined, +): string { + if (typeof locale === "string" || Array.isArray(locale)) { + return num.toLocaleString(locale, options); + } else if (locale === true || options !== undefined) { + return num.toLocaleString(undefined, options); + } + + return num.toString(); +} diff --git a/vendor/jsr.io/@std/fmt/1.0.4/colors.ts b/vendor/jsr.io/@std/fmt/1.0.4/colors.ts new file mode 100644 index 0000000..fd1b525 --- /dev/null +++ b/vendor/jsr.io/@std/fmt/1.0.4/colors.ts @@ -0,0 +1,1002 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. +// A module to print ANSI terminal colors. Inspired by chalk, kleur, and colors +// on npm. + +/** + * String formatters and utilities for dealing with ANSI color codes. + * + * > [!IMPORTANT] + * > If printing directly to the console, it's recommended to style console + * > output using CSS (guide + * > {@linkcode https://developer.mozilla.org/en-US/docs/Web/API/console#styling_console_output | here}). + * + * This module supports `NO_COLOR` environmental variable disabling any coloring + * if `NO_COLOR` is set. + * + * ```ts no-assert + * import { + * bgBlue, + * bgRgb24, + * bgRgb8, + * bold, + * italic, + * red, + * rgb24, + * rgb8, + * } from "@std/fmt/colors"; + * + * console.log(bgBlue(italic(red(bold("Hello, World!"))))); + * + * // also supports 8bit colors + * + * console.log(rgb8("Hello, World!", 42)); + * + * console.log(bgRgb8("Hello, World!", 42)); + * + * // and 24bit rgb + * + * console.log(rgb24("Hello, World!", { + * r: 41, + * g: 42, + * b: 43, + * })); + * + * console.log(bgRgb24("Hello, World!", { + * r: 41, + * g: 42, + * b: 43, + * })); + * ``` + * + * @module + */ + +// deno-lint-ignore no-explicit-any +const { Deno } = globalThis as any; +const noColor = typeof Deno?.noColor === "boolean" + ? Deno.noColor as boolean + : false; + +interface Code { + open: string; + close: string; + regexp: RegExp; +} + +/** RGB 8-bits per channel. Each in range `0->255` or `0x00->0xff` */ +export interface Rgb { + /** Red component value */ + r: number; + /** Green component value */ + g: number; + /** Blue component value */ + b: number; +} + +let enabled = !noColor; + +/** + * Enable or disable text color when styling. + * + * `@std/fmt/colors` automatically detects NO_COLOR environmental variable + * and disables text color. Use this API only when the automatic detection + * doesn't work. + * + * @example Usage + * ```ts no-assert + * import { setColorEnabled } from "@std/fmt/colors"; + * + * // Disable text color + * setColorEnabled(false); + * + * // Enable text color + * setColorEnabled(true); + * ``` + * + * @param value The boolean value to enable or disable text color + */ +export function setColorEnabled(value: boolean) { + if (Deno?.noColor) { + return; + } + + enabled = value; +} + +/** + * Get whether text color change is enabled or disabled. + * + * @example Usage + * ```ts no-assert + * import { getColorEnabled } from "@std/fmt/colors"; + * + * console.log(getColorEnabled()); // true if enabled, false if disabled + * ``` + * @returns `true` if text color is enabled, `false` otherwise + */ +export function getColorEnabled(): boolean { + return enabled; +} + +/** + * Builds color code + * @param open + * @param close + */ +function code(open: number[], close: number): Code { + return { + open: `\x1b[${open.join(";")}m`, + close: `\x1b[${close}m`, + regexp: new RegExp(`\\x1b\\[${close}m`, "g"), + }; +} + +/** + * Applies color and background based on color code and its associated text + * @param str The text to apply color settings to + * @param code The color code to apply + */ +function run(str: string, code: Code): string { + return enabled + ? `${code.open}${str.replace(code.regexp, code.open)}${code.close}` + : str; +} + +/** + * Reset the text modified. + * + * @example Usage + * ```ts no-assert + * import { reset } from "@std/fmt/colors"; + * + * console.log(reset("Hello, world!")); + * ``` + * + * @param str The text to reset + * @returns The text with reset color + */ +export function reset(str: string): string { + return run(str, code([0], 0)); +} + +/** + * Make the text bold. + * + * @example Usage + * ```ts no-assert + * import { bold } from "@std/fmt/colors"; + * + * console.log(bold("Hello, world!")); + * ``` + * + * @param str The text to make bold + * @returns The bold text + */ +export function bold(str: string): string { + return run(str, code([1], 22)); +} + +/** + * The text emits only a small amount of light. + * + * @example Usage + * ```ts no-assert + * import { dim } from "@std/fmt/colors"; + * + * console.log(dim("Hello, world!")); + * ``` + * + * @param str The text to dim + * @returns The dimmed text + * + * Warning: Not all terminal emulators support `dim`. + * For compatibility across all terminals, use {@linkcode gray} or {@linkcode brightBlack} instead. + */ +export function dim(str: string): string { + return run(str, code([2], 22)); +} + +/** + * Make the text italic. + * + * @example Usage + * ```ts no-assert + * import { italic } from "@std/fmt/colors"; + * + * console.log(italic("Hello, world!")); + * ``` + * + * @param str The text to make italic + * @returns The italic text + */ +export function italic(str: string): string { + return run(str, code([3], 23)); +} + +/** + * Make the text underline. + * + * @example Usage + * ```ts no-assert + * import { underline } from "@std/fmt/colors"; + * + * console.log(underline("Hello, world!")); + * ``` + * + * @param str The text to underline + * @returns The underlined text + */ +export function underline(str: string): string { + return run(str, code([4], 24)); +} + +/** + * Invert background color and text color. + * + * @example Usage + * ```ts no-assert + * import { inverse } from "@std/fmt/colors"; + * + * console.log(inverse("Hello, world!")); + * ``` + * + * @param str The text to invert its color + * @returns The inverted text + */ +export function inverse(str: string): string { + return run(str, code([7], 27)); +} + +/** + * Make the text hidden. + * + * @example Usage + * ```ts no-assert + * import { hidden } from "@std/fmt/colors"; + * + * console.log(hidden("Hello, world!")); + * ``` + * + * @param str The text to hide + * @returns The hidden text + */ +export function hidden(str: string): string { + return run(str, code([8], 28)); +} + +/** + * Put horizontal line through the center of the text. + * + * @example Usage + * ```ts no-assert + * import { strikethrough } from "@std/fmt/colors"; + * + * console.log(strikethrough("Hello, world!")); + * ``` + * + * @param str The text to strike through + * @returns The text with horizontal line through the center + */ +export function strikethrough(str: string): string { + return run(str, code([9], 29)); +} + +/** + * Set text color to black. + * + * @example Usage + * ```ts no-assert + * import { black } from "@std/fmt/colors"; + * + * console.log(black("Hello, world!")); + * ``` + * + * @param str The text to make black + * @returns The black text + */ +export function black(str: string): string { + return run(str, code([30], 39)); +} + +/** + * Set text color to red. + * + * @example Usage + * ```ts no-assert + * import { red } from "@std/fmt/colors"; + * + * console.log(red("Hello, world!")); + * ``` + * + * @param str The text to make red + * @returns The red text + */ +export function red(str: string): string { + return run(str, code([31], 39)); +} + +/** + * Set text color to green. + * + * @example Usage + * ```ts no-assert + * import { green } from "@std/fmt/colors"; + * + * console.log(green("Hello, world!")); + * ``` + * + * @param str The text to make green + * @returns The green text + */ +export function green(str: string): string { + return run(str, code([32], 39)); +} + +/** + * Set text color to yellow. + * + * @example Usage + * ```ts no-assert + * import { yellow } from "@std/fmt/colors"; + * + * console.log(yellow("Hello, world!")); + * ``` + * + * @param str The text to make yellow + * @returns The yellow text + */ +export function yellow(str: string): string { + return run(str, code([33], 39)); +} + +/** + * Set text color to blue. + * + * @example Usage + * ```ts no-assert + * import { blue } from "@std/fmt/colors"; + * + * console.log(blue("Hello, world!")); + * ``` + * + * @param str The text to make blue + * @returns The blue text + */ +export function blue(str: string): string { + return run(str, code([34], 39)); +} + +/** + * Set text color to magenta. + * + * @example Usage + * ```ts no-assert + * import { magenta } from "@std/fmt/colors"; + * + * console.log(magenta("Hello, world!")); + * ``` + * + * @param str The text to make magenta + * @returns The magenta text + */ +export function magenta(str: string): string { + return run(str, code([35], 39)); +} + +/** + * Set text color to cyan. + * + * @example Usage + * ```ts no-assert + * import { cyan } from "@std/fmt/colors"; + * + * console.log(cyan("Hello, world!")); + * ``` + * + * @param str The text to make cyan + * @returns The cyan text + */ +export function cyan(str: string): string { + return run(str, code([36], 39)); +} + +/** + * Set text color to white. + * + * @example Usage + * ```ts no-assert + * import { white } from "@std/fmt/colors"; + * + * console.log(white("Hello, world!")); + * ``` + * + * @param str The text to make white + * @returns The white text + */ +export function white(str: string): string { + return run(str, code([37], 39)); +} + +/** + * Set text color to gray. + * + * @example Usage + * ```ts no-assert + * import { gray } from "@std/fmt/colors"; + * + * console.log(gray("Hello, world!")); + * ``` + * + * @param str The text to make gray + * @returns The gray text + */ +export function gray(str: string): string { + return brightBlack(str); +} + +/** + * Set text color to bright black. + * + * @example Usage + * ```ts no-assert + * import { brightBlack } from "@std/fmt/colors"; + * + * console.log(brightBlack("Hello, world!")); + * ``` + * + * @param str The text to make bright black + * @returns The bright black text + */ +export function brightBlack(str: string): string { + return run(str, code([90], 39)); +} + +/** + * Set text color to bright red. + * + * @example Usage + * ```ts no-assert + * import { brightRed } from "@std/fmt/colors"; + * + * console.log(brightRed("Hello, world!")); + * ``` + * + * @param str The text to make bright red + * @returns The bright red text + */ +export function brightRed(str: string): string { + return run(str, code([91], 39)); +} + +/** + * Set text color to bright green. + * + * @example Usage + * ```ts no-assert + * import { brightGreen } from "@std/fmt/colors"; + * + * console.log(brightGreen("Hello, world!")); + * ``` + * + * @param str The text to make bright green + * @returns The bright green text + */ +export function brightGreen(str: string): string { + return run(str, code([92], 39)); +} + +/** + * Set text color to bright yellow. + * + * @example Usage + * ```ts no-assert + * import { brightYellow } from "@std/fmt/colors"; + * + * console.log(brightYellow("Hello, world!")); + * ``` + * + * @param str The text to make bright yellow + * @returns The bright yellow text + */ +export function brightYellow(str: string): string { + return run(str, code([93], 39)); +} + +/** + * Set text color to bright blue. + * + * @example Usage + * ```ts no-assert + * import { brightBlue } from "@std/fmt/colors"; + * + * console.log(brightBlue("Hello, world!")); + * ``` + * + * @param str The text to make bright blue + * @returns The bright blue text + */ +export function brightBlue(str: string): string { + return run(str, code([94], 39)); +} + +/** + * Set text color to bright magenta. + * + * @example Usage + * ```ts no-assert + * import { brightMagenta } from "@std/fmt/colors"; + * + * console.log(brightMagenta("Hello, world!")); + * ``` + * + * @param str The text to make bright magenta + * @returns The bright magenta text + */ +export function brightMagenta(str: string): string { + return run(str, code([95], 39)); +} + +/** + * Set text color to bright cyan. + * + * @example Usage + * ```ts no-assert + * import { brightCyan } from "@std/fmt/colors"; + * + * console.log(brightCyan("Hello, world!")); + * ``` + * + * @param str The text to make bright cyan + * @returns The bright cyan text + */ +export function brightCyan(str: string): string { + return run(str, code([96], 39)); +} + +/** + * Set text color to bright white. + * + * @example Usage + * ```ts no-assert + * import { brightWhite } from "@std/fmt/colors"; + * + * console.log(brightWhite("Hello, world!")); + * ``` + * + * @param str The text to make bright white + * @returns The bright white text + */ +export function brightWhite(str: string): string { + return run(str, code([97], 39)); +} + +/** + * Set background color to black. + * + * @example Usage + * ```ts no-assert + * import { bgBlack } from "@std/fmt/colors"; + * + * console.log(bgBlack("Hello, world!")); + * ``` + * + * @param str The text to make its background black + * @returns The text with black background + */ +export function bgBlack(str: string): string { + return run(str, code([40], 49)); +} + +/** + * Set background color to red. + * + * @example Usage + * ```ts no-assert + * import { bgRed } from "@std/fmt/colors"; + * + * console.log(bgRed("Hello, world!")); + * ``` + * + * @param str The text to make its background red + * @returns The text with red background + */ +export function bgRed(str: string): string { + return run(str, code([41], 49)); +} + +/** + * Set background color to green. + * + * @example Usage + * ```ts no-assert + * import { bgGreen } from "@std/fmt/colors"; + * + * console.log(bgGreen("Hello, world!")); + * ``` + * + * @param str The text to make its background green + * @returns The text with green background + */ +export function bgGreen(str: string): string { + return run(str, code([42], 49)); +} + +/** + * Set background color to yellow. + * + * @example Usage + * ```ts no-assert + * import { bgYellow } from "@std/fmt/colors"; + * + * console.log(bgYellow("Hello, world!")); + * ``` + * + * @param str The text to make its background yellow + * @returns The text with yellow background + */ +export function bgYellow(str: string): string { + return run(str, code([43], 49)); +} + +/** + * Set background color to blue. + * + * @example Usage + * ```ts no-assert + * import { bgBlue } from "@std/fmt/colors"; + * + * console.log(bgBlue("Hello, world!")); + * ``` + * + * @param str The text to make its background blue + * @returns The text with blue background + */ +export function bgBlue(str: string): string { + return run(str, code([44], 49)); +} + +/** + * Set background color to magenta. + * + * @example Usage + * ```ts no-assert + * import { bgMagenta } from "@std/fmt/colors"; + * + * console.log(bgMagenta("Hello, world!")); + * ``` + * + * @param str The text to make its background magenta + * @returns The text with magenta background + */ +export function bgMagenta(str: string): string { + return run(str, code([45], 49)); +} + +/** + * Set background color to cyan. + * + * @example Usage + * ```ts no-assert + * import { bgCyan } from "@std/fmt/colors"; + * + * console.log(bgCyan("Hello, world!")); + * ``` + * + * @param str The text to make its background cyan + * @returns The text with cyan background + */ +export function bgCyan(str: string): string { + return run(str, code([46], 49)); +} + +/** + * Set background color to white. + * + * @example Usage + * ```ts no-assert + * import { bgWhite } from "@std/fmt/colors"; + * + * console.log(bgWhite("Hello, world!")); + * ``` + * + * @param str The text to make its background white + * @returns The text with white background + */ +export function bgWhite(str: string): string { + return run(str, code([47], 49)); +} + +/** + * Set background color to bright black. + * + * @example Usage + * ```ts no-assert + * import { bgBrightBlack } from "@std/fmt/colors"; + * + * console.log(bgBrightBlack("Hello, world!")); + * ``` + * + * @param str The text to make its background bright black + * @returns The text with bright black background + */ +export function bgBrightBlack(str: string): string { + return run(str, code([100], 49)); +} + +/** + * Set background color to bright red. + * + * @example Usage + * ```ts no-assert + * import { bgBrightRed } from "@std/fmt/colors"; + * + * console.log(bgBrightRed("Hello, world!")); + * ``` + * + * @param str The text to make its background bright red + * @returns The text with bright red background + */ +export function bgBrightRed(str: string): string { + return run(str, code([101], 49)); +} + +/** + * Set background color to bright green. + * + * @example Usage + * ```ts no-assert + * import { bgBrightGreen } from "@std/fmt/colors"; + * + * console.log(bgBrightGreen("Hello, world!")); + * ``` + * + * @param str The text to make its background bright green + * @returns The text with bright green background + */ +export function bgBrightGreen(str: string): string { + return run(str, code([102], 49)); +} + +/** + * Set background color to bright yellow. + * + * @example Usage + * ```ts no-assert + * import { bgBrightYellow } from "@std/fmt/colors"; + * + * console.log(bgBrightYellow("Hello, world!")); + * ``` + * + * @param str The text to make its background bright yellow + * @returns The text with bright yellow background + */ +export function bgBrightYellow(str: string): string { + return run(str, code([103], 49)); +} + +/** + * Set background color to bright blue. + * + * @example Usage + * ```ts no-assert + * import { bgBrightBlue } from "@std/fmt/colors"; + * + * console.log(bgBrightBlue("Hello, world!")); + * ``` + * + * @param str The text to make its background bright blue + * @returns The text with bright blue background + */ +export function bgBrightBlue(str: string): string { + return run(str, code([104], 49)); +} + +/** + * Set background color to bright magenta. + * + * @example Usage + * ```ts no-assert + * import { bgBrightMagenta } from "@std/fmt/colors"; + * + * console.log(bgBrightMagenta("Hello, world!")); + * ``` + * + * @param str The text to make its background bright magenta + * @returns The text with bright magenta background + */ +export function bgBrightMagenta(str: string): string { + return run(str, code([105], 49)); +} + +/** + * Set background color to bright cyan. + * + * @example Usage + * ```ts no-assert + * import { bgBrightCyan } from "@std/fmt/colors"; + * + * console.log(bgBrightCyan("Hello, world!")); + * ``` + * + * @param str The text to make its background bright cyan + * @returns The text with bright cyan background + */ +export function bgBrightCyan(str: string): string { + return run(str, code([106], 49)); +} + +/** + * Set background color to bright white. + * + * @example Usage + * ```ts no-assert + * import { bgBrightWhite } from "@std/fmt/colors"; + * + * console.log(bgBrightWhite("Hello, world!")); + * ``` + * + * @param str The text to make its background bright white + * @returns The text with bright white background + */ +export function bgBrightWhite(str: string): string { + return run(str, code([107], 49)); +} + +/* Special Color Sequences */ + +/** + * Clam and truncate color codes + * @param n The input number + * @param max The number to truncate to + * @param min The number to truncate from + */ +function clampAndTruncate(n: number, max = 255, min = 0): number { + return Math.trunc(Math.max(Math.min(n, max), min)); +} + +/** + * Set text color using paletted 8bit colors. + * https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit + * + * @example Usage + * ```ts no-assert + * import { rgb8 } from "@std/fmt/colors"; + * + * console.log(rgb8("Hello, world!", 42)); + * ``` + * + * @param str The text color to apply paletted 8bit colors to + * @param color The color code + * @returns The text with paletted 8bit color + */ +export function rgb8(str: string, color: number): string { + return run(str, code([38, 5, clampAndTruncate(color)], 39)); +} + +/** + * Set background color using paletted 8bit colors. + * https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit + * + * @example Usage + * ```ts no-assert + * import { bgRgb8 } from "@std/fmt/colors"; + * + * console.log(bgRgb8("Hello, world!", 42)); + * ``` + * + * @param str The text color to apply paletted 8bit background colors to + * @param color code + * @returns The text with paletted 8bit background color + */ +export function bgRgb8(str: string, color: number): string { + return run(str, code([48, 5, clampAndTruncate(color)], 49)); +} + +/** + * Set text color using 24bit rgb. + * `color` can be a number in range `0x000000` to `0xffffff` or + * an `Rgb`. + * + * @example To produce the color magenta: + * ```ts no-assert + * import { rgb24 } from "@std/fmt/colors"; + * + * rgb24("foo", 0xff00ff); + * rgb24("foo", {r: 255, g: 0, b: 255}); + * ``` + * @param str The text color to apply 24bit rgb to + * @param color The color code + * @returns The text with 24bit rgb color + */ +export function rgb24(str: string, color: number | Rgb): string { + if (typeof color === "number") { + return run( + str, + code( + [38, 2, (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff], + 39, + ), + ); + } + return run( + str, + code( + [ + 38, + 2, + clampAndTruncate(color.r), + clampAndTruncate(color.g), + clampAndTruncate(color.b), + ], + 39, + ), + ); +} + +/** + * Set background color using 24bit rgb. + * `color` can be a number in range `0x000000` to `0xffffff` or + * an `Rgb`. + * + * @example To produce the color magenta: + * ```ts no-assert + * import { bgRgb24 } from "@std/fmt/colors"; + * + * bgRgb24("foo", 0xff00ff); + * bgRgb24("foo", {r: 255, g: 0, b: 255}); + * ``` + * @param str The text color to apply 24bit rgb to + * @param color The color code + * @returns The text with 24bit rgb color + */ +export function bgRgb24(str: string, color: number | Rgb): string { + if (typeof color === "number") { + return run( + str, + code( + [48, 2, (color >> 16) & 0xff, (color >> 8) & 0xff, color & 0xff], + 49, + ), + ); + } + return run( + str, + code( + [ + 48, + 2, + clampAndTruncate(color.r), + clampAndTruncate(color.g), + clampAndTruncate(color.b), + ], + 49, + ), + ); +} + +// https://github.com/chalk/ansi-regex/blob/02fa893d619d3da85411acc8fd4e2eea0e95a9d9/index.js +const ANSI_PATTERN = new RegExp( + [ + "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", + "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TXZcf-nq-uy=><~]))", + ].join("|"), + "g", +); + +/** + * Remove ANSI escape codes from the string. + * + * @example Usage + * ```ts no-assert + * import { stripAnsiCode, red } from "@std/fmt/colors"; + * + * console.log(stripAnsiCode(red("Hello, world!"))); + * ``` + * + * @param string The text to remove ANSI escape codes from + * @returns The text without ANSI escape codes + */ +export function stripAnsiCode(string: string): string { + return string.replace(ANSI_PATTERN, ""); +} diff --git a/vendor/jsr.io/@std/fmt/1.0.4/duration.ts b/vendor/jsr.io/@std/fmt/1.0.4/duration.ts new file mode 100644 index 0000000..c4e8c11 --- /dev/null +++ b/vendor/jsr.io/@std/fmt/1.0.4/duration.ts @@ -0,0 +1,173 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. + +/** + * Format milliseconds to time duration. + * + * ```ts + * import { format } from "@std/fmt/duration"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(format(99674, { style: "digital" }), "00:00:01:39:674:000:000"); + * + * assertEquals(format(99674), "0d 0h 1m 39s 674ms 0µs 0ns"); + * + * assertEquals(format(99674, { ignoreZero: true }), "1m 39s 674ms"); + * + * assertEquals(format(99674, { style: "full", ignoreZero: true }), "1 minute, 39 seconds, 674 milliseconds"); + * ``` + * @module + */ + +function addZero(num: number, digits: number) { + return String(num).padStart(digits, "0"); +} + +type DurationPartUnit = + | "days" + | "hours" + | "minutes" + | "seconds" + | "milliseconds" + | "microseconds" + | "nanoseconds"; + +interface DurationPart { + unit: DurationPartUnit; + value: number; +} + +const NARROW_UNIT_NAME_MAP = new Map([ + ["days", "d"], + ["hours", "h"], + ["minutes", "m"], + ["seconds", "s"], + ["milliseconds", "ms"], + ["microseconds", "µs"], + ["nanoseconds", "ns"], +]); + +const FULL_UNIT_NAME_MAP = new Map([ + ["days", "day"], + ["hours", "hour"], + ["minutes", "minute"], + ["seconds", "second"], + ["milliseconds", "millisecond"], + ["microseconds", "microsecond"], + ["nanoseconds", "nanosecond"], +]); + +/** Get key with pluralization */ +function getPluralizedKey(unit: DurationPartUnit, value: number) { + return value === 1 + ? FULL_UNIT_NAME_MAP.get(unit) + : `${FULL_UNIT_NAME_MAP.get(unit)}s`; +} + +/** Parse milliseconds into a duration. */ +function millisecondsToDurationParts( + ms: number, +): DurationPart[] { + // Duration cannot be negative + const millis = Math.abs(ms); + const millisFraction = millis.toFixed(7).slice(-7, -1); + return [ + { unit: "days", value: Math.trunc(millis / 86400000) }, + { unit: "hours", value: Math.trunc(millis / 3600000) % 24 }, + { unit: "minutes", value: Math.trunc(millis / 60000) % 60 }, + { unit: "seconds", value: Math.trunc(millis / 1000) % 60 }, + { unit: "milliseconds", value: Math.trunc(millis) % 1000 }, + { unit: "microseconds", value: +millisFraction.slice(0, 3) }, + { unit: "nanoseconds", value: +millisFraction.slice(3, 6) }, + ]; +} + +/** Options for {@linkcode format}. */ +export interface FormatOptions { + /** + * The style for formatting the duration. + * + * "narrow" for "0d 0h 0m 0s 0ms..." + * "digital" for "00:00:00:00:000..." + * "full" for "0 days, 0 hours, 0 minutes,..." + * + * @default {"narrow"} + */ + style?: "narrow" | "digital" | "full"; + /** + * Whether to ignore zero values. + * With style="narrow" | "full", all zero values are ignored. + * With style="digital", only values in the ends are ignored. + * + * @default {false} + */ + ignoreZero?: boolean; +} + +/** + * Format milliseconds to time duration. + * + * @example Usage + * ```ts + * import { format } from "@std/fmt/duration"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(format(99674, { style: "digital" }), "00:00:01:39:674:000:000"); + * + * assertEquals(format(99674), "0d 0h 1m 39s 674ms 0µs 0ns"); + * + * assertEquals(format(99674, { ignoreZero: true }), "1m 39s 674ms"); + * + * assertEquals(format(99674, { style: "full", ignoreZero: true }), "1 minute, 39 seconds, 674 milliseconds"); + * ``` + * + * @param ms The milliseconds value to format + * @param options The options for formatting + * @returns The formatted string + */ +export function format( + ms: number, + options?: FormatOptions, +): string { + const { + style = "narrow", + ignoreZero = false, + } = options ?? {}; + + const parts = millisecondsToDurationParts(ms); + + switch (style) { + case "narrow": { + let arr = parts; + if (ignoreZero) arr = arr.filter((x) => x.value); + return arr + .map((x) => `${x.value}${NARROW_UNIT_NAME_MAP.get(x.unit)}`) + .join(" "); + } + case "full": { + let arr = parts; + if (ignoreZero) arr = arr.filter((x) => x.value); + return arr + .map((x) => `${x.value} ${getPluralizedKey(x.unit, x.value)}`) + .join(", "); + } + case "digital": { + const arr = parts.map((x) => + ["milliseconds", "microseconds", "nanoseconds"].includes(x.unit) + ? addZero(x.value, 3) + : addZero(x.value, 2) + ); + if (ignoreZero) { + let cont = true; + while (cont) { + if (!Number(arr[arr.length - 1])) arr.pop(); + else cont = false; + } + } + return arr.join(":"); + } + default: { + throw new TypeError(`style must be "narrow", "full", or "digital"!`); + } + } +} diff --git a/vendor/jsr.io/@std/fmt/1.0.4/printf.ts b/vendor/jsr.io/@std/fmt/1.0.4/printf.ts new file mode 100644 index 0000000..99c767c --- /dev/null +++ b/vendor/jsr.io/@std/fmt/1.0.4/printf.ts @@ -0,0 +1,998 @@ +// Copyright 2018-2025 the Deno authors. MIT license. + +/** + * {@linkcode sprintf} and {@linkcode printf} for printing formatted strings to + * stdout. + * + * ```ts + * import { sprintf } from "@std/fmt/printf"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(sprintf("%d", 9), "9"); + * assertEquals(sprintf("%o", 9), "11"); + * assertEquals(sprintf("%f", 4), "4.000000"); + * assertEquals(sprintf("%.3f", 0.9999), "1.000"); + * ``` + * + * This implementation is inspired by POSIX and Golang but does not port + * implementation code. + * + * sprintf converts and formats a variable number of arguments as is specified + * by a `format string`. In it's basic form, a format string may just be a + * literal. In case arguments are meant to be formatted, a `directive` is + * contained in the format string, preceded by a '%' character: + * + * % + * + * E.g. the verb `s` indicates the directive should be replaced by the string + * representation of the argument in the corresponding position of the argument + * list. E.g.: + * + * Hello %s! + * + * applied to the arguments "World" yields "Hello World!". + * + * The meaning of the format string is modelled after [POSIX][1] format strings + * as well as well as [Golang format strings][2]. Both contain elements specific + * to the respective programming language that don't apply to JavaScript, so + * they can not be fully supported. Furthermore we implement some functionality + * that is specific to JS. + * + * ## Verbs + * + * The following verbs are supported: + * + * | Verb | Meaning | + * | ----- | -------------------------------------------------------------- | + * | `%` | print a literal percent | + * | `t` | evaluate arg as boolean, print `true` or `false` | + * | `b` | eval as number, print binary | + * | `c` | eval as number, print character corresponding to the codePoint | + * | `o` | eval as number, print octal | + * | `x X` | print as hex (ff FF), treat string as list of bytes | + * | `e E` | print number in scientific/exponent format 1.123123e+01 | + * | `f F` | print number as float with decimal point and no exponent | + * | `g G` | use %e %E or %f %F depending on size of argument | + * | `s` | interpolate string | + * | `T` | type of arg, as returned by `typeof` | + * | `v` | value of argument in 'default' format (see below) | + * | `j` | argument as formatted by `JSON.stringify` | + * | `i` | argument as formatted by `Deno.inspect` | + * | `I` | argument as formatted by `Deno.inspect` in compact format | + * + * ## Width and Precision + * + * Verbs may be modified by providing them with width and precision, either or + * both may be omitted: + * + * %9f width 9, default precision + * %.9f default width, precision 9 + * %8.9f width 8, precision 9 + * %8.f width 8, precision 0 + * + * In general, 'width' describes the minimum length of the output, while + * 'precision' limits the output. + * + * | verb | precision | + * | --------- | --------------------------------------------------------------- | + * | `t` | n/a | + * | `b c o` | n/a | + * | `x X` | n/a for number, strings are truncated to p bytes(!) | + * | `e E f F` | number of places after decimal, default 6 | + * | `g G` | set maximum number of digits | + * | `s` | truncate input | + * | `T` | truncate | + * | `v` | truncate, or depth if used with # see "'default' format", below | + * | `j` | n/a | + * + * Numerical values for width and precision can be substituted for the `*` char, + * in which case the values are obtained from the next args, e.g.: + * + * sprintf("%*.*f", 9, 8, 456.0) + * + * is equivalent to: + * + * sprintf("%9.8f", 456.0) + * + * ## Flags + * + * The effects of the verb may be further influenced by using flags to modify + * the directive: + * + * | Flag | Verb | Meaning | + * | ----- | --------- | -------------------------------------------------------------------------- | + * | `+` | numeric | always print sign | + * | `-` | all | pad to the right (left justify) | + * | `#` | | alternate format | + * | `#` | `b o x X` | prefix with `0b 0 0x` | + * | `#` | `g G` | don't remove trailing zeros | + * | `#` | `v` | use output of `inspect` instead of `toString` | + * | `' '` | | space character | + * | `' '` | `x X` | leave spaces between bytes when printing string | + * | `' '` | `d` | insert space for missing `+` sign character | + * | `0` | all | pad with zero, `-` takes precedence, sign is appended in front of padding | + * | `<` | all | format elements of the passed array according to the directive (extension) | + * + * ## 'default' format + * + * The default format used by `%v` is the result of calling `toString()` on the + * relevant argument. If the `#` flags is used, the result of calling `inspect()` + * is interpolated. In this case, the precision, if set is passed to `inspect()` + * as the 'depth' config parameter. + * + * ## Positional arguments + * + * Arguments do not need to be consumed in the order they are provided and may + * be consumed more than once. E.g.: + * + * sprintf("%[2]s %[1]s", "World", "Hello") + * + * returns "Hello World". The presence of a positional indicator resets the arg + * counter allowing args to be reused: + * + * sprintf("dec[%d]=%d hex[%[1]d]=%x oct[%[1]d]=%#o %s", 1, 255, "Third") + * + * returns `dec[1]=255 hex[1]=0xff oct[1]=0377 Third` + * + * Width and precision my also use positionals: + * + * "%[2]*.[1]*d", 1, 2 + * + * This follows the golang conventions and not POSIX. + * + * ## Errors + * + * The following errors are handled: + * + * Incorrect verb: + * + * S("%h", "") %!(BAD VERB 'h') + * + * Too few arguments: + * + * S("%d") %!(MISSING 'd')" + * + * [1]: https://pubs.opengroup.org/onlinepubs/009695399/functions/fprintf.html + * [2]: https://golang.org/pkg/fmt/ + * + * @module + */ + +const State = { + PASSTHROUGH: 0, + PERCENT: 1, + POSITIONAL: 2, + PRECISION: 3, + WIDTH: 4, +} as const; + +type State = typeof State[keyof typeof State]; + +const WorP = { + WIDTH: 0, + PRECISION: 1, +} as const; + +type WorP = typeof WorP[keyof typeof WorP]; + +const F = { + sign: 1, + mantissa: 2, + fractional: 3, + esign: 4, + exponent: 5, +} as const; + +class Flags { + plus: boolean | undefined; + dash: boolean | undefined; + sharp: boolean | undefined; + space: boolean | undefined; + zero: boolean | undefined; + lessthan: boolean | undefined; + width = -1; + precision = -1; +} + +const min = Math.min; +const UNICODE_REPLACEMENT_CHARACTER = "\ufffd"; +const DEFAULT_PRECISION = 6; +const FLOAT_REGEXP = /(-?)(\d)\.?(\d*)e([+-])(\d+)/; + +class Printf { + format: string; + args: unknown[]; + i: number; + + state: State = State.PASSTHROUGH; + verb = ""; + buf = ""; + argNum = 0; + flags: Flags = new Flags(); + + haveSeen: boolean[]; + + // barf, store precision and width errors for later processing ... + tmpError: string | undefined; + + constructor(format: string, ...args: unknown[]) { + this.format = format; + this.args = args; + this.haveSeen = Array.from({ length: args.length }); + this.i = 0; + } + + doPrintf(): string { + for (; this.i < this.format.length; ++this.i) { + const c = this.format[this.i]; + switch (this.state) { + case State.PASSTHROUGH: + if (c === "%") { + this.state = State.PERCENT; + } else { + this.buf += c; + } + break; + case State.PERCENT: + if (c === "%") { + this.buf += c; + this.state = State.PASSTHROUGH; + } else { + this.handleFormat(); + } + break; + default: + throw new Error( + `State ${this.state} should be unreachable, please file a bug report against Deno at https://github.com/denoland/std/issues`, + ); + } + } + // check for unhandled args + let extras = false; + let err = "%!(EXTRA"; + for (let i = 0; i !== this.haveSeen.length; ++i) { + if (!this.haveSeen[i]) { + extras = true; + err += ` '${Deno.inspect(this.args[i])}'`; + } + } + err += ")"; + if (extras) { + this.buf += err; + } + return this.buf; + } + + // %[]... + handleFormat() { + this.flags = new Flags(); + const flags = this.flags; + for (; this.i < this.format.length; ++this.i) { + const c = this.format[this.i]!; + switch (this.state) { + case State.PERCENT: + switch (c) { + case "[": + this.handlePositional(); + this.state = State.POSITIONAL; + break; + case "+": + flags.plus = true; + break; + case "<": + flags.lessthan = true; + break; + case "-": + flags.dash = true; + flags.zero = false; // only left pad zeros, dash takes precedence + break; + case "#": + flags.sharp = true; + break; + case " ": + flags.space = true; + break; + case "0": + // only left pad zeros, dash takes precedence + flags.zero = !flags.dash; + break; + default: + if (("1" <= c && c <= "9") || c === "." || c === "*") { + if (c === ".") { + this.flags.precision = 0; + this.state = State.PRECISION; + this.i++; + } else { + this.state = State.WIDTH; + } + this.handleWidthAndPrecision(flags); + } else { + this.handleVerb(); + return; // always end in verb + } + } // switch c + break; + case State.POSITIONAL: + // TODO(bartlomieju): either a verb or * only verb for now + if (c === "*") { + const worp = this.flags.precision === -1 + ? WorP.WIDTH + : WorP.PRECISION; + this.handleWidthOrPrecisionRef(worp); + this.state = State.PERCENT; + break; + } else { + this.handleVerb(); + return; // always end in verb + } + default: + throw new Error( + `State ${this.state} should be unreachable, please file a bug report against Deno at https://github.com/denoland/std/issues`, + ); + } // switch state + } + } + + /** + * Handle width or precision + * @param wOrP + */ + handleWidthOrPrecisionRef(wOrP: WorP) { + if (this.argNum >= this.args.length) { + // handle Positional should have already taken care of it... + return; + } + const arg = this.args[this.argNum]; + this.haveSeen[this.argNum] = true; + if (typeof arg === "number") { + switch (wOrP) { + case WorP.WIDTH: + this.flags.width = arg; + break; + default: + this.flags.precision = arg; + } + } else { + const tmp = wOrP === WorP.WIDTH ? "WIDTH" : "PREC"; + this.tmpError = `%!(BAD ${tmp} '${this.args[this.argNum]}')`; + } + this.argNum++; + } + + /** + * Handle width and precision + * @param flags + */ + handleWidthAndPrecision(flags: Flags) { + const fmt = this.format; + for (; this.i !== this.format.length; ++this.i) { + const c = fmt[this.i]!; + switch (this.state) { + case State.WIDTH: + switch (c) { + case ".": + // initialize precision, %9.f -> precision=0 + this.flags.precision = 0; + this.state = State.PRECISION; + break; + case "*": + this.handleWidthOrPrecisionRef(WorP.WIDTH); + // force . or flag at this point + break; + default: { + const val = parseInt(c); + // most likely parseInt does something stupid that makes + // it unusable for this scenario ... + // if we encounter a non (number|*|.) we're done with prec & wid + if (isNaN(val)) { + this.i--; + this.state = State.PERCENT; + return; + } + flags.width = flags.width === -1 ? 0 : flags.width; + flags.width *= 10; + flags.width += val; + } + } // switch c + break; + case State.PRECISION: { + if (c === "*") { + this.handleWidthOrPrecisionRef(WorP.PRECISION); + break; + } + const val = parseInt(c); + if (isNaN(val)) { + // one too far, rewind + this.i--; + this.state = State.PERCENT; + return; + } + flags.precision *= 10; + flags.precision += val; + break; + } + default: + throw new Error( + `State ${this.state} should be unreachable, please file a bug report against Deno at https://github.com/denoland/std/issues`, + ); + } // switch state + } + } + + /** Handle positional */ + handlePositional() { + if (this.format[this.i] !== "[") { + // sanity only + throw new Error( + "Should be unreachable, please file a bug report against Deno at https://github.com/denoland/std/issues", + ); + } + let positional = 0; + const format = this.format; + this.i++; + let err = false; + for (; this.i !== this.format.length; ++this.i) { + if (format[this.i] === "]") { + break; + } + positional *= 10; + const val = parseInt(format[this.i]!, 10); + if (isNaN(val)) { + //throw new Error( + // `invalid character in positional: ${format}[${format[this.i]}]` + //); + this.tmpError = "%!(BAD INDEX)"; + err = true; + } + positional += val; + } + if (positional - 1 >= this.args.length) { + this.tmpError = "%!(BAD INDEX)"; + err = true; + } + this.argNum = err ? this.argNum : positional - 1; + } + + /** Handle less than */ + handleLessThan(): string { + // deno-lint-ignore no-explicit-any + const arg = this.args[this.argNum] as any; + if ((arg || {}).constructor.name !== "Array") { + throw new Error( + `Cannot handle less than '<' flag: 'arg' is not an array`, + ); + } + let str = "[ "; + for (let i = 0; i !== arg.length; ++i) { + if (i !== 0) str += ", "; + str += this._handleVerb(arg[i]); + } + return str + " ]"; + } + + /** Handle verb */ + handleVerb() { + const verb = this.format[this.i]; + this.verb = verb || this.verb; + if (this.tmpError) { + this.buf += this.tmpError; + this.tmpError = undefined; + if (this.argNum < this.haveSeen.length) { + this.haveSeen[this.argNum] = true; // keep track of used args + } + } else if (this.args.length <= this.argNum) { + this.buf += `%!(MISSING '${verb}')`; + } else { + const arg = this.args[this.argNum]; // check out of range + this.haveSeen[this.argNum] = true; // keep track of used args + if (this.flags.lessthan) { + this.buf += this.handleLessThan(); + } else { + this.buf += this._handleVerb(arg); + } + } + this.argNum++; // if there is a further positional, it will reset. + this.state = State.PASSTHROUGH; + } + + // deno-lint-ignore no-explicit-any + _handleVerb(arg: any): string { + switch (this.verb) { + case "t": + return this.pad(arg.toString()); + case "b": + return this.fmtNumber(arg as number, 2); + case "c": + return this.fmtNumberCodePoint(arg as number); + case "d": + return this.fmtNumber(arg as number, 10); + case "o": + return this.fmtNumber(arg as number, 8); + case "x": + return this.fmtHex(arg); + case "X": + return this.fmtHex(arg, true); + case "e": + return this.fmtFloatE(arg as number); + case "E": + return this.fmtFloatE(arg as number, true); + case "f": + case "F": + return this.fmtFloatF(arg as number); + case "g": + return this.fmtFloatG(arg as number); + case "G": + return this.fmtFloatG(arg as number, true); + case "s": + return this.fmtString(arg as string); + case "T": + return this.fmtString(typeof arg); + case "v": + return this.fmtV(arg); + case "j": + return this.fmtJ(arg); + case "i": + return this.fmtI(arg, false); + case "I": + return this.fmtI(arg, true); + default: + return `%!(BAD VERB '${this.verb}')`; + } + } + + /** + * Pad a string + * @param s text to pad + */ + pad(s: string): string { + const padding = this.flags.zero ? "0" : " "; + + if (this.flags.dash) { + return s.padEnd(this.flags.width, padding); + } + + return s.padStart(this.flags.width, padding); + } + + /** + * Pad a number + * @param nStr + * @param neg + */ + padNum(nStr: string, neg: boolean): string { + let sign: string; + if (neg) { + sign = "-"; + } else if (this.flags.plus || this.flags.space) { + sign = this.flags.plus ? "+" : " "; + } else { + sign = ""; + } + const zero = this.flags.zero; + if (!zero) { + // sign comes in front of padding when padding w/ zero, + // in from of value if padding with spaces. + nStr = sign + nStr; + } + + const pad = zero ? "0" : " "; + const len = zero ? this.flags.width - sign.length : this.flags.width; + + if (this.flags.dash) { + nStr = nStr.padEnd(len, pad); + } else { + nStr = nStr.padStart(len, pad); + } + + if (zero) { + // see above + nStr = sign + nStr; + } + return nStr; + } + + /** + * Format a number + * @param n + * @param radix + * @param upcase + */ + fmtNumber(n: number, radix: number, upcase = false): string { + let num = Math.abs(n).toString(radix); + const prec = this.flags.precision; + if (prec !== -1) { + this.flags.zero = false; + num = n === 0 && prec === 0 ? "" : num; + while (num.length < prec) { + num = "0" + num; + } + } + let prefix = ""; + if (this.flags.sharp) { + switch (radix) { + case 2: + prefix += "0b"; + break; + case 8: + // don't annotate octal 0 with 0... + prefix += num.startsWith("0") ? "" : "0"; + break; + case 16: + prefix += "0x"; + break; + default: + throw new Error( + `Cannot handle the radix ${radix}: only 2, 8, 16 are supported`, + ); + } + } + // don't add prefix in front of value truncated by precision=0, val=0 + num = num.length === 0 ? num : prefix + num; + if (upcase) { + num = num.toUpperCase(); + } + return this.padNum(num, n < 0); + } + + /** + * Format number with code points + * @param n + */ + fmtNumberCodePoint(n: number): string { + let s = ""; + try { + s = String.fromCodePoint(n); + } catch { + s = UNICODE_REPLACEMENT_CHARACTER; + } + return this.pad(s); + } + + /** + * Format special float + * @param n + */ + fmtFloatSpecial(n: number): string { + // formatting of NaN and Inf are pants-on-head + // stupid and more or less arbitrary. + + if (isNaN(n)) { + this.flags.zero = false; + return this.padNum("NaN", false); + } + if (n === Number.POSITIVE_INFINITY) { + this.flags.zero = false; + this.flags.plus = true; + return this.padNum("Inf", false); + } + if (n === Number.NEGATIVE_INFINITY) { + this.flags.zero = false; + return this.padNum("Inf", true); + } + return ""; + } + + /** + * Round fraction to precision + * @param fractional + * @param precision + * @returns tuple of fractional and round + */ + roundFractionToPrecision( + fractional: string, + precision: number, + ): [string, boolean] { + let round = false; + if (fractional.length > precision) { + fractional = "1" + fractional; // prepend a 1 in case of leading 0 + let tmp = parseInt(fractional.slice(0, precision + 2)) / 10; + tmp = Math.round(tmp); + fractional = Math.floor(tmp).toString(); + round = fractional[0] === "2"; + fractional = fractional.slice(1); // remove extra 1 + } else { + while (fractional.length < precision) { + fractional += "0"; + } + } + return [fractional, round]; + } + + /** + * Format float E + * @param n + * @param upcase + */ + fmtFloatE(n: number, upcase = false): string { + const special = this.fmtFloatSpecial(n); + if (special !== "") { + return special; + } + + const m = n.toExponential().match(FLOAT_REGEXP); + if (!m) { + throw new Error( + "Should be unreachable, please file a bug report against Deno at https://github.com/denoland/std/issues", + ); + } + const precision = this.flags.precision !== -1 + ? this.flags.precision + : DEFAULT_PRECISION; + const [fractional, rounding] = this.roundFractionToPrecision( + m[F.fractional] ?? "", + precision, + ); + + let e = m[F.exponent]!; + let esign = m[F.esign]!; + // scientific notation output with exponent padded to minlen 2 + let mantissa = parseInt(m[F.mantissa]!); + if (rounding) { + mantissa += 1; + if (10 <= mantissa) { + mantissa = 1; + const r = parseInt(esign + e) + 1; + e = Math.abs(r).toString(); + esign = r < 0 ? "-" : "+"; + } + } + e = e.length === 1 ? "0" + e : e; + const val = `${mantissa}.${fractional}${upcase ? "E" : "e"}${esign}${e}`; + return this.padNum(val, n < 0); + } + + /** + * Format float F + * @param n + */ + fmtFloatF(n: number): string { + const special = this.fmtFloatSpecial(n); + if (special !== "") { + return special; + } + + // stupid helper that turns a number into a (potentially) + // VERY long string. + function expandNumber(n: number): string { + if (Number.isSafeInteger(n)) { + return n.toString() + "."; + } + + const t = n.toExponential().split("e"); + let m = t[0]!.replace(".", ""); + const e = parseInt(t[1]!); + if (e < 0) { + let nStr = "0."; + for (let i = 0; i !== Math.abs(e) - 1; ++i) { + nStr += "0"; + } + return (nStr += m); + } else { + const splIdx = e + 1; + while (m.length < splIdx) { + m += "0"; + } + return m.slice(0, splIdx) + "." + m.slice(splIdx); + } + } + // avoiding sign makes padding easier + const val = expandNumber(Math.abs(n)) as string; + let [dig, fractional] = val.split(".") as [string, string]; + + const precision = this.flags.precision !== -1 + ? this.flags.precision + : DEFAULT_PRECISION; + let round = false; + [fractional, round] = this.roundFractionToPrecision(fractional, precision); + if (round) { + dig = (parseInt(dig) + 1).toString(); + } + return this.padNum(`${dig}.${fractional}`, n < 0); + } + + /** + * Format float G + * @param n + * @param upcase + */ + fmtFloatG(n: number, upcase = false): string { + const special = this.fmtFloatSpecial(n); + if (special !== "") { + return special; + } + + // The double argument representing a floating-point number shall be + // converted in the style f or e (or in the style F or E in + // the case of a G conversion specifier), depending on the + // value converted and the precision. Let P equal the + // precision if non-zero, 6 if the precision is omitted, or 1 + // if the precision is zero. Then, if a conversion with style E would + // have an exponent of X: + + // - If P > X>=-4, the conversion shall be with style f (or F ) + // and precision P -( X+1). + + // - Otherwise, the conversion shall be with style e (or E ) + // and precision P -1. + + // Finally, unless the '#' flag is used, any trailing zeros shall be + // removed from the fractional portion of the result and the + // decimal-point character shall be removed if there is no + // fractional portion remaining. + + // A double argument representing an infinity or NaN shall be + // converted in the style of an f or F conversion specifier. + // https://pubs.opengroup.org/onlinepubs/9699919799/functions/fprintf.html + + let P = this.flags.precision !== -1 + ? this.flags.precision + : DEFAULT_PRECISION; + P = P === 0 ? 1 : P; + + const m = n.toExponential().match(FLOAT_REGEXP); + if (!m) { + throw new Error( + "Should be unreachable, please file a bug report against Deno at https://github.com/denoland/std/issues", + ); + } + + const X = parseInt(m[F.exponent]!) * (m[F.esign] === "-" ? -1 : 1); + let nStr = ""; + if (P > X && X >= -4) { + this.flags.precision = P - (X + 1); + nStr = this.fmtFloatF(n); + if (!this.flags.sharp) { + nStr = nStr.replace(/\.?0*$/, ""); + } + } else { + this.flags.precision = P - 1; + nStr = this.fmtFloatE(n); + if (!this.flags.sharp) { + nStr = nStr.replace(/\.?0*e/, upcase ? "E" : "e"); + } + } + return nStr; + } + + /** + * Format string + * @param s + */ + fmtString(s: string): string { + if (this.flags.precision !== -1) { + s = s.slice(0, this.flags.precision); + } + return this.pad(s); + } + + /** + * Format hex + * @param val + * @param upper + */ + fmtHex(val: string | number, upper = false): string { + // allow others types ? + switch (typeof val) { + case "number": + return this.fmtNumber(val as number, 16, upper); + case "string": { + const sharp = this.flags.sharp && val.length !== 0; + let hex = sharp ? "0x" : ""; + const prec = this.flags.precision; + const end = prec !== -1 ? min(prec, val.length) : val.length; + for (let i = 0; i !== end; ++i) { + if (i !== 0 && this.flags.space) { + hex += sharp ? " 0x" : " "; + } + // TODO(bartlomieju): for now only taking into account the + // lower half of the codePoint, ie. as if a string + // is a list of 8bit values instead of UCS2 runes + const c = (val.charCodeAt(i) & 0xff).toString(16); + hex += c.length === 1 ? `0${c}` : c; + } + if (upper) { + hex = hex.toUpperCase(); + } + return this.pad(hex); + } + default: + throw new Error( + `Cannot format hex, only number and string are supported for hex formatting: ${typeof val} is given`, + ); + } + } + + /** + * Format value + * @param val + */ + fmtV(val: Record): string { + if (this.flags.sharp) { + const options = this.flags.precision !== -1 + ? { depth: this.flags.precision } + : {}; + return this.pad(Deno.inspect(val, options)); + } else { + const p = this.flags.precision; + return p === -1 ? val.toString() : val.toString().slice(0, p); + } + } + + /** + * Format JSON + * @param val + */ + fmtJ(val: unknown): string { + return JSON.stringify(val); + } + + /** + * Format inspect + * @param val + * @param compact Whether or not the output should be compact. + */ + fmtI(val: unknown, compact: boolean): string { + return Deno.inspect(val, { + colors: !Deno?.noColor, + compact, + depth: Infinity, + iterableLimit: Infinity, + }); + } +} + +/** + * Converts and formats a variable number of `args` as is specified by `format`. + * `sprintf` returns the formatted string. + * + * See the module documentation for the available format strings. + * + * @example Usage + * ```ts + * import { sprintf } from "@std/fmt/printf"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(sprintf("%d", 9), "9"); + * + * assertEquals(sprintf("%o", 9), "11"); + * + * assertEquals(sprintf("%f", 4), "4.000000"); + * + * assertEquals(sprintf("%.3f", 0.9999), "1.000"); + * ``` + * + * @param format The format string to use + * @param args The arguments to format + * @returns The formatted string + */ +export function sprintf(format: string, ...args: unknown[]): string { + const printf = new Printf(format, ...args); + return printf.doPrintf(); +} + +/** + * Converts and format a variable number of `args` as is specified by `format`. + * `printf` writes the formatted string to standard output. + * + * See the module documentation for the available format strings. + * + * @example Usage + * ```ts no-assert + * import { printf } from "@std/fmt/printf"; + * + * printf("%d", 9); // Prints "9" + * + * printf("%o", 9); // Prints "11" + * + * printf("%f", 4); // Prints "4.000000" + * + * printf("%.3f", 0.9999); // Prints "1.000" + * ``` + * + * @param format The format string to use + * @param args The arguments to format + */ +export function printf(format: string, ...args: unknown[]) { + const s = sprintf(format, ...args); + Deno.stdout.writeSync(new TextEncoder().encode(s)); +} diff --git a/vendor/jsr.io/@std/fmt/1.0.4_meta.json b/vendor/jsr.io/@std/fmt/1.0.4_meta.json new file mode 100644 index 0000000..68cec1c --- /dev/null +++ b/vendor/jsr.io/@std/fmt/1.0.4_meta.json @@ -0,0 +1,60 @@ +{ + "manifest": { + "/colors_test.ts": { + "size": 6398, + "checksum": "sha256-598b7312d6c18c49a57e78cecdd4af61565b8a80d515c39029c8560f0cb0a733" + }, + "/deno.json": { + "size": 192, + "checksum": "sha256-b479942c9403f8adf5656e3d20dad0929dacdabb8e69e2720b1157b4d3be6054" + }, + "/printf.ts": { + "size": 29829, + "checksum": "sha256-92d5d09bf838f343bfa5a37ac194f0fd959ed64b4629444d276fc214d7ca0db9" + }, + "/bytes.ts": { + "size": 5630, + "checksum": "sha256-f6c871654dad0b558f54f025e9afa1fd07b5f4c64aa89a10b452489ab22dd506" + }, + "/colors.ts": { + "size": 21810, + "checksum": "sha256-1617e16c704274f0afcf3fefd16145e54082604a84833d0a42acece330fb92b4" + }, + "/duration.ts": { + "size": 4663, + "checksum": "sha256-ec36957b8a97c4cd6c3133eca28f4088a8e91279bd89e90d9811588d51f54723" + }, + "/README.md": { + "size": 464, + "checksum": "sha256-df54055e214802f0089f6d71ca85c66b898a5fa2bc69fa7c4683503dcd8cc3f8" + }, + "/printf_test.ts": { + "size": 27138, + "checksum": "sha256-bb3e928a041ff043ead7096143d243bd293aada777407dfb7ff13bacca9a02ce" + }, + "/duration_test.ts": { + "size": 2312, + "checksum": "sha256-ab2674a09d32ced6cab9dbf2646fae145d875a54c384977ac5bc7b797a81cb4c" + }, + "/bytes_test.ts": { + "size": 8620, + "checksum": "sha256-7f306f4db70c7ecdb7595b5c526d4449b814fadecb4d2ba7d10c1ec20b0f68f5" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + } + }, + "moduleGraph2": { + "/bytes.ts": {}, + "/printf.ts": {}, + "/colors.ts": {}, + "/duration.ts": {} + }, + "exports": { + "./bytes": "./bytes.ts", + "./colors": "./colors.ts", + "./duration": "./duration.ts", + "./printf": "./printf.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/fmt/meta.json b/vendor/jsr.io/@std/fmt/meta.json new file mode 100644 index 0000000..15bc431 --- /dev/null +++ b/vendor/jsr.io/@std/fmt/meta.json @@ -0,0 +1,56 @@ +{ + "scope": "std", + "name": "fmt", + "latest": "1.0.4", + "versions": { + "0.223.0": {}, + "0.199.0": {}, + "1.0.0": {}, + "0.207.0": {}, + "1.0.2": {}, + "0.200.0": {}, + "0.225.3": {}, + "0.222.1": {}, + "1.0.4": {}, + "0.220.1": {}, + "0.210.0": {}, + "0.211.0": {}, + "0.204.0": {}, + "0.216.0": {}, + "0.225.2": {}, + "0.224.0": {}, + "0.225.5": {}, + "0.219.1": {}, + "0.225.0": { + "yanked": true + }, + "0.225.4": {}, + "0.196.0": {}, + "0.197.0": {}, + "0.221.0": {}, + "0.217.0": {}, + "0.225.6": {}, + "0.218.1": {}, + "0.222.0": {}, + "0.225.1": {}, + "0.202.0": {}, + "1.0.0-rc.1": {}, + "0.213.0": {}, + "0.212.0": {}, + "0.198.0": {}, + "0.218.2": {}, + "0.214.0": {}, + "0.208.0": {}, + "1.0.1": {}, + "0.205.0": {}, + "0.203.0": {}, + "0.201.0": {}, + "0.218.0": {}, + "0.219.0": {}, + "0.206.0": {}, + "0.213.1": {}, + "1.0.3": {}, + "0.215.0": {}, + "0.209.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/fs/0.221.0/_create_walk_entry.ts b/vendor/jsr.io/@std/fs/0.221.0/_create_walk_entry.ts new file mode 100644 index 0000000..4d3832f --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/_create_walk_entry.ts @@ -0,0 +1,45 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. + +import { basename } from "jsr:/@std/path@^0.221.0/basename"; +import { normalize } from "jsr:/@std/path@^0.221.0/normalize"; +import { toPathString } from "./_to_path_string.ts"; + +/** + * Walk entry for {@linkcode walk}, {@linkcode walkSync}, + * {@linkcode expandGlob} and {@linkcode expandGlobSync}. + */ +export interface WalkEntry extends Deno.DirEntry { + /** Full path of the entry. */ + path: string; +} + +/** Create {@linkcode WalkEntry} for the `path` synchronously. */ +export function createWalkEntrySync(path: string | URL): WalkEntry { + path = toPathString(path); + path = normalize(path); + const name = basename(path); + const info = Deno.statSync(path); + return { + path, + name, + isFile: info.isFile, + isDirectory: info.isDirectory, + isSymlink: info.isSymlink, + }; +} + +/** Create {@linkcode WalkEntry} for the `path` asynchronously. */ +export async function createWalkEntry(path: string | URL): Promise { + path = toPathString(path); + path = normalize(path); + const name = basename(path); + const info = await Deno.stat(path); + return { + path, + name, + isFile: info.isFile, + isDirectory: info.isDirectory, + isSymlink: info.isSymlink, + }; +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/_get_file_info_type.ts b/vendor/jsr.io/@std/fs/0.221.0/_get_file_info_type.ts new file mode 100644 index 0000000..54bebbf --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/_get_file_info_type.ts @@ -0,0 +1,20 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. + +export type PathType = "file" | "dir" | "symlink"; + +/** + * Get a human readable file type string. + * + * @param fileInfo A FileInfo describes a file and is returned by `stat`, + * `lstat` + */ +export function getFileInfoType(fileInfo: Deno.FileInfo): PathType | undefined { + return fileInfo.isFile + ? "file" + : fileInfo.isDirectory + ? "dir" + : fileInfo.isSymlink + ? "symlink" + : undefined; +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/_is_same_path.ts b/vendor/jsr.io/@std/fs/0.221.0/_is_same_path.ts new file mode 100644 index 0000000..817bac6 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/_is_same_path.ts @@ -0,0 +1,20 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. + +import { resolve } from "jsr:/@std/path@^0.221.0/resolve"; +import { toPathString } from "./_to_path_string.ts"; + +/** + * Test whether `src` and `dest` resolve to the same location + * @param src src file path + * @param dest dest file path + */ +export function isSamePath( + src: string | URL, + dest: string | URL, +): boolean | void { + src = toPathString(src); + dest = toPathString(dest); + + return resolve(src) === resolve(dest); +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/_is_subdir.ts b/vendor/jsr.io/@std/fs/0.221.0/_is_subdir.ts new file mode 100644 index 0000000..c2712c9 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/_is_subdir.ts @@ -0,0 +1,26 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. + +import { SEPARATOR } from "jsr:/@std/path@^0.221.0/constants"; +import { toPathString } from "./_to_path_string.ts"; + +/** + * Test whether or not `dest` is a sub-directory of `src` + * @param src src file path + * @param dest dest file path + * @param sep path separator + */ +export function isSubdir( + src: string | URL, + dest: string | URL, + sep = SEPARATOR, +): boolean { + if (src === dest) { + return false; + } + src = toPathString(src); + const srcArray = src.split(sep); + dest = toPathString(dest); + const destArray = dest.split(sep); + return srcArray.every((current, i) => destArray[i] === current); +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/_to_path_string.ts b/vendor/jsr.io/@std/fs/0.221.0/_to_path_string.ts new file mode 100644 index 0000000..941ec80 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/_to_path_string.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. + +import { fromFileUrl } from "jsr:/@std/path@^0.221.0/from-file-url"; + +/** + * Convert a URL or string to a path + * @param pathUrl A URL or string to be converted + */ +export function toPathString( + pathUrl: string | URL, +): string { + return pathUrl instanceof URL ? fromFileUrl(pathUrl) : pathUrl; +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/copy.ts b/vendor/jsr.io/@std/fs/0.221.0/copy.ts new file mode 100644 index 0000000..21519b1 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/copy.ts @@ -0,0 +1,398 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +import { basename } from "jsr:/@std/path@^0.221.0/basename"; +import { join } from "jsr:/@std/path@^0.221.0/join"; +import { resolve } from "jsr:/@std/path@^0.221.0/resolve"; +import { ensureDir, ensureDirSync } from "./ensure_dir.ts"; +import { assert } from "jsr:/@std/assert@^0.221.0/assert"; +import { getFileInfoType } from "./_get_file_info_type.ts"; +import { toPathString } from "./_to_path_string.ts"; +import { isSubdir } from "./_is_subdir.ts"; + +const isWindows = Deno.build.os === "windows"; + +/** Options for {@linkcode copy} and {@linkcode copySync}. */ +export interface CopyOptions { + /** + * Whether to overwrite existing file or directory. + * + * @default {false} + */ + overwrite?: boolean; + /** + * When `true`, will set last modification and access times to the ones of + * the original source files. When `false`, timestamp behavior is + * OS-dependent. + * + * @default {false} + */ + preserveTimestamps?: boolean; +} + +interface InternalCopyOptions extends CopyOptions { + /** @default {false} */ + isFolder?: boolean; +} + +async function ensureValidCopy( + src: string | URL, + dest: string | URL, + options: InternalCopyOptions, +): Promise { + let destStat: Deno.FileInfo; + + try { + destStat = await Deno.lstat(dest); + } catch (err) { + if (err instanceof Deno.errors.NotFound) { + return; + } + throw err; + } + + if (options.isFolder && !destStat.isDirectory) { + throw new Error( + `Cannot overwrite non-directory '${dest}' with directory '${src}'.`, + ); + } + if (!options.overwrite) { + throw new Deno.errors.AlreadyExists(`'${dest}' already exists.`); + } + + return destStat; +} + +function ensureValidCopySync( + src: string | URL, + dest: string | URL, + options: InternalCopyOptions, +): Deno.FileInfo | undefined { + let destStat: Deno.FileInfo; + try { + destStat = Deno.lstatSync(dest); + } catch (err) { + if (err instanceof Deno.errors.NotFound) { + return; + } + throw err; + } + + if (options.isFolder && !destStat.isDirectory) { + throw new Error( + `Cannot overwrite non-directory '${dest}' with directory '${src}'.`, + ); + } + if (!options.overwrite) { + throw new Deno.errors.AlreadyExists(`'${dest}' already exists.`); + } + + return destStat; +} + +/* copy file to dest */ +async function copyFile( + src: string | URL, + dest: string | URL, + options: InternalCopyOptions, +) { + await ensureValidCopy(src, dest, options); + await Deno.copyFile(src, dest); + if (options.preserveTimestamps) { + const statInfo = await Deno.stat(src); + assert(statInfo.atime instanceof Date, `statInfo.atime is unavailable`); + assert(statInfo.mtime instanceof Date, `statInfo.mtime is unavailable`); + await Deno.utime(dest, statInfo.atime, statInfo.mtime); + } +} +/* copy file to dest synchronously */ +function copyFileSync( + src: string | URL, + dest: string | URL, + options: InternalCopyOptions, +) { + ensureValidCopySync(src, dest, options); + Deno.copyFileSync(src, dest); + if (options.preserveTimestamps) { + const statInfo = Deno.statSync(src); + assert(statInfo.atime instanceof Date, `statInfo.atime is unavailable`); + assert(statInfo.mtime instanceof Date, `statInfo.mtime is unavailable`); + Deno.utimeSync(dest, statInfo.atime, statInfo.mtime); + } +} + +/* copy symlink to dest */ +async function copySymLink( + src: string | URL, + dest: string | URL, + options: InternalCopyOptions, +) { + await ensureValidCopy(src, dest, options); + const originSrcFilePath = await Deno.readLink(src); + const type = getFileInfoType(await Deno.lstat(src)); + if (isWindows) { + await Deno.symlink(originSrcFilePath, dest, { + type: type === "dir" ? "dir" : "file", + }); + } else { + await Deno.symlink(originSrcFilePath, dest); + } + if (options.preserveTimestamps) { + const statInfo = await Deno.lstat(src); + assert(statInfo.atime instanceof Date, `statInfo.atime is unavailable`); + assert(statInfo.mtime instanceof Date, `statInfo.mtime is unavailable`); + await Deno.utime(dest, statInfo.atime, statInfo.mtime); + } +} + +/* copy symlink to dest synchronously */ +function copySymlinkSync( + src: string | URL, + dest: string | URL, + options: InternalCopyOptions, +) { + ensureValidCopySync(src, dest, options); + const originSrcFilePath = Deno.readLinkSync(src); + const type = getFileInfoType(Deno.lstatSync(src)); + if (isWindows) { + Deno.symlinkSync(originSrcFilePath, dest, { + type: type === "dir" ? "dir" : "file", + }); + } else { + Deno.symlinkSync(originSrcFilePath, dest); + } + + if (options.preserveTimestamps) { + const statInfo = Deno.lstatSync(src); + assert(statInfo.atime instanceof Date, `statInfo.atime is unavailable`); + assert(statInfo.mtime instanceof Date, `statInfo.mtime is unavailable`); + Deno.utimeSync(dest, statInfo.atime, statInfo.mtime); + } +} + +/* copy folder from src to dest. */ +async function copyDir( + src: string | URL, + dest: string | URL, + options: CopyOptions, +) { + const destStat = await ensureValidCopy(src, dest, { + ...options, + isFolder: true, + }); + + if (!destStat) { + await ensureDir(dest); + } + + if (options.preserveTimestamps) { + const srcStatInfo = await Deno.stat(src); + assert(srcStatInfo.atime instanceof Date, `statInfo.atime is unavailable`); + assert(srcStatInfo.mtime instanceof Date, `statInfo.mtime is unavailable`); + await Deno.utime(dest, srcStatInfo.atime, srcStatInfo.mtime); + } + + src = toPathString(src); + dest = toPathString(dest); + + const promises = []; + + for await (const entry of Deno.readDir(src)) { + const srcPath = join(src, entry.name); + const destPath = join(dest, basename(srcPath as string)); + if (entry.isSymlink) { + promises.push(copySymLink(srcPath, destPath, options)); + } else if (entry.isDirectory) { + promises.push(copyDir(srcPath, destPath, options)); + } else if (entry.isFile) { + promises.push(copyFile(srcPath, destPath, options)); + } + } + + await Promise.all(promises); +} + +/* copy folder from src to dest synchronously */ +function copyDirSync( + src: string | URL, + dest: string | URL, + options: CopyOptions, +) { + const destStat = ensureValidCopySync(src, dest, { + ...options, + isFolder: true, + }); + + if (!destStat) { + ensureDirSync(dest); + } + + if (options.preserveTimestamps) { + const srcStatInfo = Deno.statSync(src); + assert(srcStatInfo.atime instanceof Date, `statInfo.atime is unavailable`); + assert(srcStatInfo.mtime instanceof Date, `statInfo.mtime is unavailable`); + Deno.utimeSync(dest, srcStatInfo.atime, srcStatInfo.mtime); + } + + src = toPathString(src); + dest = toPathString(dest); + + for (const entry of Deno.readDirSync(src)) { + const srcPath = join(src, entry.name); + const destPath = join(dest, basename(srcPath as string)); + if (entry.isSymlink) { + copySymlinkSync(srcPath, destPath, options); + } else if (entry.isDirectory) { + copyDirSync(srcPath, destPath, options); + } else if (entry.isFile) { + copyFileSync(srcPath, destPath, options); + } + } +} + +/** + * Asynchronously copy a file or directory. The directory can have contents. + * Like `cp -r`. + * + * If `src` is a directory it will copy everything inside of this directory, + * not the entire directory itself. If `src` is a file, `dest` cannot be a + * directory. + * + * Requires the `--allow-read` and `--allow-write` flag. + * + * @param src The source file/directory path as a string or URL. + * @param dest The destination file/directory path as a string or URL. + * @param options Options for copying. + * @returns A promise that resolves once the copy operation completes. + * + * @example Basic usage + * ```ts + * import { copy } from "@std/fs/copy"; + * + * await copy("./foo", "./bar"); + * ``` + * + * This will copy the file or directory at `./foo` to `./bar` without + * overwriting. + * + * @example Overwriting files/directories + * ```ts + * import { copy } from "@std/fs/copy"; + * + * await copy("./foo", "./bar", { overwrite: true }); + * ``` + * + * This will copy the file or directory at `./foo` to `./bar` and overwrite + * any existing files or directories. + * + * @example Preserving timestamps + * ```ts + * import { copy } from "@std/fs/copy"; + * + * await copy("./foo", "./bar", { preserveTimestamps: true }); + * ``` + * + * This will copy the file or directory at `./foo` to `./bar` and set the + * last modification and access times to the ones of the original source files. + */ +export async function copy( + src: string | URL, + dest: string | URL, + options: CopyOptions = {}, +) { + src = resolve(toPathString(src)); + dest = resolve(toPathString(dest)); + + if (src === dest) { + throw new Error("Source and destination cannot be the same."); + } + + const srcStat = await Deno.lstat(src); + + if (srcStat.isDirectory && isSubdir(src, dest)) { + throw new Error( + `Cannot copy '${src}' to a subdirectory of itself, '${dest}'.`, + ); + } + + if (srcStat.isSymlink) { + await copySymLink(src, dest, options); + } else if (srcStat.isDirectory) { + await copyDir(src, dest, options); + } else if (srcStat.isFile) { + await copyFile(src, dest, options); + } +} + +/** + * Synchronously copy a file or directory. The directory can have contents. + * Like `cp -r`. + * + * If `src` is a directory it will copy everything inside of this directory, + * not the entire directory itself. If `src` is a file, `dest` cannot be a + * directory. + * + * Requires the `--allow-read` and `--allow-write` flag. + * + * @param src The source file/directory path as a string or URL. + * @param dest The destination file/directory path as a string or URL. + * @param options Options for copying. + * @returns A void value that returns once the copy operation completes. + * + * @example Basic usage + * ```ts + * import { copySync } from "@std/fs/copy"; + * + * copySync("./foo", "./bar"); + * ``` + * + * This will copy the file or directory at `./foo` to `./bar` without + * overwriting. + * + * @example Overwriting files/directories + * ```ts + * import { copySync } from "@std/fs/copy"; + * + * copySync("./foo", "./bar", { overwrite: true }); + * ``` + * + * This will copy the file or directory at `./foo` to `./bar` and overwrite + * any existing files or directories. + * + * @example Preserving timestamps + * ```ts + * import { copySync } from "@std/fs/copy"; + * + * copySync("./foo", "./bar", { preserveTimestamps: true }); + * ``` + * + * This will copy the file or directory at `./foo` to `./bar` and set the + * last modification and access times to the ones of the original source files. + */ +export function copySync( + src: string | URL, + dest: string | URL, + options: CopyOptions = {}, +) { + src = resolve(toPathString(src)); + dest = resolve(toPathString(dest)); + + if (src === dest) { + throw new Error("Source and destination cannot be the same."); + } + + const srcStat = Deno.lstatSync(src); + + if (srcStat.isDirectory && isSubdir(src, dest)) { + throw new Error( + `Cannot copy '${src}' to a subdirectory of itself, '${dest}'.`, + ); + } + + if (srcStat.isSymlink) { + copySymlinkSync(src, dest, options); + } else if (srcStat.isDirectory) { + copyDirSync(src, dest, options); + } else if (srcStat.isFile) { + copyFileSync(src, dest, options); + } +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/empty_dir.ts b/vendor/jsr.io/@std/fs/0.221.0/empty_dir.ts new file mode 100644 index 0000000..8158408 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/empty_dir.ts @@ -0,0 +1,78 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import { join } from "jsr:/@std/path@^0.221.0/join"; +import { toPathString } from "./_to_path_string.ts"; + +/** + * Asynchronously ensures that a directory is empty deletes the directory + * contents it is not empty. If the directory does not exist, it is created. + * The directory itself is not deleted. + * + * Requires the `--allow-read` and `--allow-write` flag. + * + * @param dir The path of the directory to empty, as a string or URL. + * @returns A void promise that resolves once the directory is empty. + * + * @example + * ```ts + * import { emptyDir } from "@std/fs/empty-dir"; + * + * await emptyDir("./foo"); + * ``` + */ +export async function emptyDir(dir: string | URL) { + try { + const items = await Array.fromAsync(Deno.readDir(dir)); + + await Promise.all(items.map((item) => { + if (item && item.name) { + const filepath = join(toPathString(dir), item.name); + return Deno.remove(filepath, { recursive: true }); + } + })); + } catch (err) { + if (!(err instanceof Deno.errors.NotFound)) { + throw err; + } + + // if not exist. then create it + await Deno.mkdir(dir, { recursive: true }); + } +} + +/** + * Synchronously ensures that a directory is empty deletes the directory + * contents it is not empty. If the directory does not exist, it is created. + * The directory itself is not deleted. + * + * Requires the `--allow-read` and `--allow-write` flag. + * + * @param dir The path of the directory to empty, as a string or URL. + * @returns A void value that returns once the directory is empty. + * + * @example + * ```ts + * import { emptyDirSync } from "@std/fs/empty-dir"; + * + * emptyDirSync("./foo"); + * ``` + */ +export function emptyDirSync(dir: string | URL) { + try { + const items = [...Deno.readDirSync(dir)]; + + // If the directory exists, remove all entries inside it. + while (items.length) { + const item = items.shift(); + if (item && item.name) { + const filepath = join(toPathString(dir), item.name); + Deno.removeSync(filepath, { recursive: true }); + } + } + } catch (err) { + if (!(err instanceof Deno.errors.NotFound)) { + throw err; + } + // if not exist. then create it + Deno.mkdirSync(dir, { recursive: true }); + } +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/ensure_dir.ts b/vendor/jsr.io/@std/fs/0.221.0/ensure_dir.ts new file mode 100644 index 0000000..3a87745 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/ensure_dir.ts @@ -0,0 +1,108 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import { getFileInfoType } from "./_get_file_info_type.ts"; + +/** + * Asynchronously ensures that the directory exists. If the directory structure + * does not exist, it is created. Like `mkdir -p`. + * + * Requires the `--allow-read` and `--allow-write` flag. + * + * @param dir The path of the directory to ensure, as a string or URL. + * @returns A promise that resolves once the directory exists. + * + * @example + * ```ts + * import { ensureDir } from "@std/fs/ensure-dir"; + * + * await ensureDir("./bar"); + * ``` + */ +export async function ensureDir(dir: string | URL) { + try { + const fileInfo = await Deno.lstat(dir); + if (!fileInfo.isDirectory) { + throw new Error( + `Ensure path exists, expected 'dir', got '${ + getFileInfoType(fileInfo) + }'`, + ); + } + return; + } catch (err) { + if (!(err instanceof Deno.errors.NotFound)) { + throw err; + } + } + + // The dir doesn't exist. Create it. + // This can be racy. So we catch AlreadyExists and check lstat again. + try { + await Deno.mkdir(dir, { recursive: true }); + } catch (err) { + if (!(err instanceof Deno.errors.AlreadyExists)) { + throw err; + } + + const fileInfo = await Deno.lstat(dir); + if (!fileInfo.isDirectory) { + throw new Error( + `Ensure path exists, expected 'dir', got '${ + getFileInfoType(fileInfo) + }'`, + ); + } + } +} + +/** + * Synchronously ensures that the directory exists. If the directory structure + * does not exist, it is created. Like `mkdir -p`. + * + * Requires the `--allow-read` and `--allow-write` flag. + * + * @param dir The path of the directory to ensure, as a string or URL. + * @returns A void value that returns once the directory exists. + * + * @example + * ```ts + * import { ensureDir } from "@std/fs/ensure-dir"; + * + * await ensureDir("./bar"); + * ``` + */ +export function ensureDirSync(dir: string | URL) { + try { + const fileInfo = Deno.lstatSync(dir); + if (!fileInfo.isDirectory) { + throw new Error( + `Ensure path exists, expected 'dir', got '${ + getFileInfoType(fileInfo) + }'`, + ); + } + return; + } catch (err) { + if (!(err instanceof Deno.errors.NotFound)) { + throw err; + } + } + + // The dir doesn't exist. Create it. + // This can be racy. So we catch AlreadyExists and check lstat again. + try { + Deno.mkdirSync(dir, { recursive: true }); + } catch (err) { + if (!(err instanceof Deno.errors.AlreadyExists)) { + throw err; + } + + const fileInfo = Deno.lstatSync(dir); + if (!fileInfo.isDirectory) { + throw new Error( + `Ensure path exists, expected 'dir', got '${ + getFileInfoType(fileInfo) + }'`, + ); + } + } +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/ensure_file.ts b/vendor/jsr.io/@std/fs/0.221.0/ensure_file.ts new file mode 100644 index 0000000..b69687b --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/ensure_file.ts @@ -0,0 +1,84 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import { dirname } from "jsr:/@std/path@^0.221.0/dirname"; +import { ensureDir, ensureDirSync } from "./ensure_dir.ts"; +import { getFileInfoType } from "./_get_file_info_type.ts"; +import { toPathString } from "./_to_path_string.ts"; + +/** + * Asynchronously ensures that the file exists. If the file that is requested to + * be created is in directories that do not exist, these directories are created. + * If the file already exists, it is not modified. + * + * Requires the `--allow-read` and `--allow-write` flag. + * + * @param filePath The path of the file to ensure, as a string or URL. + * @returns A void promise that resolves once the file exists. + * + * @example + * ```ts + * import { ensureFile } from "@std/fs/ensure-file"; + * + * await ensureFile("./folder/targetFile.dat"); + * ``` + */ +export async function ensureFile(filePath: string | URL): Promise { + try { + // if file exists + const stat = await Deno.lstat(filePath); + if (!stat.isFile) { + throw new Error( + `Ensure path exists, expected 'file', got '${getFileInfoType(stat)}'`, + ); + } + } catch (err) { + // if file not exists + if (err instanceof Deno.errors.NotFound) { + // ensure dir exists + await ensureDir(dirname(toPathString(filePath))); + // create file + await Deno.writeFile(filePath, new Uint8Array()); + return; + } + + throw err; + } +} + +/** + * Synchronously ensures that the file exists. If the file that is requested to + * be created is in directories that do not exist, these directories are created. + * If the file already exists, it is not modified. + * + * Requires the `--allow-read` and `--allow-write` flag. + * + * @param filePath The path of the file to ensure, as a string or URL. + * @returns A void value that returns once the file exists. + * + * @example + * ```ts + * import { ensureFileSync } from "@std/fs/ensure-file"; + * + * ensureFileSync("./folder/targetFile.dat"); + * ``` + */ +export function ensureFileSync(filePath: string | URL): void { + try { + // if file exists + const stat = Deno.lstatSync(filePath); + if (!stat.isFile) { + throw new Error( + `Ensure path exists, expected 'file', got '${getFileInfoType(stat)}'`, + ); + } + } catch (err) { + // if file not exists + if (err instanceof Deno.errors.NotFound) { + // ensure dir exists + ensureDirSync(dirname(toPathString(filePath))); + // create file + Deno.writeFileSync(filePath, new Uint8Array()); + return; + } + throw err; + } +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/ensure_link.ts b/vendor/jsr.io/@std/fs/0.221.0/ensure_link.ts new file mode 100644 index 0000000..e748c99 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/ensure_link.ts @@ -0,0 +1,50 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import { dirname } from "jsr:/@std/path@^0.221.0/dirname"; +import { ensureDir, ensureDirSync } from "./ensure_dir.ts"; +import { toPathString } from "./_to_path_string.ts"; + +/** + * Asynchronously ensures that the hard link exists. If the directory structure + * does not exist, it is created. + * + * @param src The source file path as a string or URL. Directory hard links are + * not allowed. + * @param dest The destination link path as a string or URL. + * @returns A void promise that resolves once the hard link exists. + * + * @example + * ```ts + * import { ensureLink } from "@std/fs/ensure-link"; + * + * await ensureLink("./folder/targetFile.dat", "./folder/targetFile.link.dat"); + * ``` + */ +export async function ensureLink(src: string | URL, dest: string | URL) { + dest = toPathString(dest); + await ensureDir(dirname(dest)); + + await Deno.link(toPathString(src), dest); +} + +/** + * Synchronously ensures that the hard link exists. If the directory structure + * does not exist, it is created. + * + * @param src The source file path as a string or URL. Directory hard links are + * not allowed. + * @param dest The destination link path as a string or URL. + * @returns A void value that returns once the hard link exists. + * + * @example + * ```ts + * import { ensureLinkSync } from "@std/fs/ensure-link"; + * + * ensureLinkSync("./folder/targetFile.dat", "./folder/targetFile.link.dat"); + * ``` + */ +export function ensureLinkSync(src: string | URL, dest: string | URL) { + dest = toPathString(dest); + ensureDirSync(dirname(dest)); + + Deno.linkSync(toPathString(src), dest); +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/ensure_symlink.ts b/vendor/jsr.io/@std/fs/0.221.0/ensure_symlink.ts new file mode 100644 index 0000000..40bf618 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/ensure_symlink.ts @@ -0,0 +1,133 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import { dirname } from "jsr:/@std/path@^0.221.0/dirname"; +import { resolve } from "jsr:/@std/path@^0.221.0/resolve"; +import { ensureDir, ensureDirSync } from "./ensure_dir.ts"; +import { getFileInfoType } from "./_get_file_info_type.ts"; +import { toPathString } from "./_to_path_string.ts"; + +const isWindows = Deno.build.os === "windows"; + +function resolveSymlinkTarget(target: string | URL, linkName: string | URL) { + if (typeof target !== "string") return target; // URL is always absolute path + if (typeof linkName === "string") { + return resolve(dirname(linkName), target); + } else { + return new URL(target, linkName); + } +} + +/** + * Asynchronously ensures that the link exists, and points to a valid file. If + * the directory structure does not exist, it is created. If the link already + * exists, it is not modified but error is thrown if it is not point to the + * given target. + * + * Requires the `--allow-read` and `--allow-write` flag. + * + * @param target The source file path as a string or URL. + * @param linkName The destination link path as a string or URL. + * @returns A void promise that resolves once the link exists. + * + * @example + * ```ts + * import { ensureSymlink } from "@std/fs/ensure-symlink"; + * + * await ensureSymlink("./folder/targetFile.dat", "./folder/targetFile.link.dat"); + * ``` + */ +export async function ensureSymlink( + target: string | URL, + linkName: string | URL, +) { + const targetRealPath = resolveSymlinkTarget(target, linkName); + const srcStatInfo = await Deno.lstat(targetRealPath); + const srcFilePathType = getFileInfoType(srcStatInfo); + + await ensureDir(dirname(toPathString(linkName))); + + const options: Deno.SymlinkOptions | undefined = isWindows + ? { + type: srcFilePathType === "dir" ? "dir" : "file", + } + : undefined; + + try { + await Deno.symlink(target, linkName, options); + } catch (error) { + if (!(error instanceof Deno.errors.AlreadyExists)) { + throw error; + } + const linkStatInfo = await Deno.lstat(linkName); + if (!linkStatInfo.isSymlink) { + const type = getFileInfoType(linkStatInfo); + throw new Deno.errors.AlreadyExists( + `A '${type}' already exists at the path: ${linkName}`, + ); + } + const linkPath = await Deno.readLink(linkName); + const linkRealPath = resolve(linkPath); + if (linkRealPath !== targetRealPath) { + throw new Deno.errors.AlreadyExists( + `A symlink targeting to an undesired path already exists: ${linkName} -> ${linkRealPath}`, + ); + } + } +} + +/** + * Synchronously ensures that the link exists, and points to a valid file. If + * the directory structure does not exist, it is created. If the link already + * exists, it is not modified but error is thrown if it is not point to the + * given target. + * + * Requires the `--allow-read` and `--allow-write` flag. + * + * @param target The source file path as a string or URL. + * @param linkName The destination link path as a string or URL. + * @returns A void value that returns once the link exists. + * + * @example + * ```ts + * import { ensureSymlinkSync } from "@std/fs/ensure-symlink"; + * + * ensureSymlinkSync("./folder/targetFile.dat", "./folder/targetFile.link.dat"); + * ``` + */ +export function ensureSymlinkSync( + target: string | URL, + linkName: string | URL, +) { + const targetRealPath = resolveSymlinkTarget(target, linkName); + const srcStatInfo = Deno.lstatSync(targetRealPath); + const srcFilePathType = getFileInfoType(srcStatInfo); + + ensureDirSync(dirname(toPathString(linkName))); + + const options: Deno.SymlinkOptions | undefined = isWindows + ? { + type: srcFilePathType === "dir" ? "dir" : "file", + } + : undefined; + + try { + Deno.symlinkSync(target, linkName, options); + } catch (error) { + if (!(error instanceof Deno.errors.AlreadyExists)) { + throw error; + } + const linkStatInfo = Deno.lstatSync(linkName); + if (!linkStatInfo.isSymlink) { + const type = getFileInfoType(linkStatInfo); + throw new Deno.errors.AlreadyExists( + `A '${type}' already exists at the path: ${linkName}`, + ); + } + const linkPath = Deno.readLinkSync(linkName); + const linkRealPath = resolve(linkPath); + if (linkRealPath !== targetRealPath) { + throw new Deno.errors.AlreadyExists( + `A symlink targeting to an undesired path already exists: ${linkName} -> ${linkRealPath}`, + ); + } + } +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/eol.ts b/vendor/jsr.io/@std/fs/0.221.0/eol.ts new file mode 100644 index 0000000..701359e --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/eol.ts @@ -0,0 +1,68 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +/** End-of-line character for POSIX platforms such as macOS and Linux. */ +export const LF = "\n" as const; + +/** End-of-line character for Windows platforms. */ +export const CRLF = "\r\n" as const; + +/** + * End-of-line character evaluated for the current platform. + * + * @example + * ```ts + * import { EOL } from "@std/fs/eol"; + * + * EOL; // "\n" on POSIX platforms and "\r\n" on Windows + * ``` + */ +export const EOL: "\n" | "\r\n" = Deno?.build.os === "windows" ? CRLF : LF; + +const regDetect = /(?:\r?\n)/g; + +/** + * Returns the detected EOL character(s) detected in the input string. If no EOL + * character is detected, `null` is returned. + * + * @param content The input string to detect EOL characters. + * @returns The detected EOL character(s) or `null` if no EOL character is detected. + * + * @example + * ```ts + * import { detect } from "@std/fs/eol"; + * + * detect("deno\r\nis not\r\nnode"); // "\r\n" + * detect("deno\nis not\r\nnode"); // "\r\n" + * detect("deno\nis not\nnode"); // "\n" + * detect("deno is not node"); // null + * ``` + */ +export function detect(content: string): typeof EOL | null { + const d = content.match(regDetect); + if (!d || d.length === 0) { + return null; + } + const hasCRLF = d.some((x: string): boolean => x === CRLF); + + return hasCRLF ? CRLF : LF; +} + +/** + * Normalize the input string to the targeted EOL. + * + * @param content The input string to normalize. + * @param eol The EOL character(s) to normalize the input string to. + * @returns The input string normalized to the targeted EOL. + * + * @example + * ```ts + * import { LF, format } from "@std/fs/eol"; + * + * const CRLFinput = "deno\r\nis not\r\nnode"; + * + * format(CRLFinput, LF); // "deno\nis not\nnode" + * ``` + */ +export function format(content: string, eol: typeof EOL): string { + return content.replace(regDetect, eol); +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/exists.ts b/vendor/jsr.io/@std/fs/0.221.0/exists.ts new file mode 100644 index 0000000..81bd8ba --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/exists.ts @@ -0,0 +1,285 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +/** Options for {@linkcode exists} and {@linkcode existsSync.} */ +export interface ExistsOptions { + /** + * When `true`, will check if the path is readable by the user as well. + * + * @default {false} + */ + isReadable?: boolean; + /** + * When `true`, will check if the path is a directory as well. Directory + * symlinks are included. + * + * @default {false} + */ + isDirectory?: boolean; + /** + * When `true`, will check if the path is a file as well. File symlinks are + * included. + * + * @default {false} + */ + isFile?: boolean; +} + +/** + * Asynchronously test whether or not the given path exists by checking with + * the file system. + * + * Note: Do not use this function if performing a check before another operation + * on that file. Doing so creates a race condition. Instead, perform the actual + * file operation directly. This function is not recommended for this use case. + * See the recommended method below. + * + * @see https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use + * + * @param path The path to the file or directory, as a string or URL. + * @param options Additional options for the check. + * @returns A promise that resolves with `true` if the path exists, `false` + * otherwise. + * + * @example Recommended method + * ```ts + * // Notice no use of exists + * try { + * await Deno.remove("./foo", { recursive: true }); + * } catch (error) { + * if (!(error instanceof Deno.errors.NotFound)) { + * throw error; + * } + * // Do nothing... + * } + * ``` + * + * Notice that `exists()` is not used in the above example. Doing so avoids a + * possible race condition. See the above section for details. + * + * @example Basic usage + * ```ts + * import { exists } from "@std/fs/exists"; + * + * await exists("./exists"); // true + * await exists("./does_not_exist"); // false + * ``` + * + * @example Check if a path is readable + * ```ts + * import { exists } from "@std/fs/exists"; + * + * await exists("./readable", { isReadable: true }); // true + * await exists("./not_readable", { isReadable: true }); // false + * ``` + * + * @example Check if a path is a directory + * ```ts + * import { exists } from "@std/fs/exists"; + * + * await exists("./directory", { isDirectory: true }); // true + * await exists("./file", { isDirectory: true }); // false + * ``` + * + * @example Check if a path is a file + * ```ts + * import { exists } from "@std/fs/exists"; + * + * await exists("./file", { isFile: true }); // true + * await exists("./directory", { isFile: true }); // false + * ``` + * + * @example Check if a path is a readable directory + * ```ts + * import { exists } from "@std/fs/exists"; + * + * await exists("./readable_directory", { isReadable: true, isDirectory: true }); // true + * await exists("./not_readable_directory", { isReadable: true, isDirectory: true }); // false + * ``` + * + * @example Check if a path is a readable file + * ```ts + * import { exists } from "@std/fs/exists"; + * + * await exists("./readable_file", { isReadable: true, isFile: true }); // true + * await exists("./not_readable_file", { isReadable: true, isFile: true }); // false + * ``` + */ +export async function exists( + path: string | URL, + options?: ExistsOptions, +): Promise { + try { + const stat = await Deno.stat(path); + if ( + options && + (options.isReadable || options.isDirectory || options.isFile) + ) { + if (options.isDirectory && options.isFile) { + throw new TypeError( + "ExistsOptions.options.isDirectory and ExistsOptions.options.isFile must not be true together.", + ); + } + if ( + (options.isDirectory && !stat.isDirectory) || + (options.isFile && !stat.isFile) + ) { + return false; + } + if (options.isReadable) { + if (stat.mode === null) { + return true; // Exclusive on Non-POSIX systems + } + if (Deno.uid() === stat.uid) { + return (stat.mode & 0o400) === 0o400; // User is owner and can read? + } else if (Deno.gid() === stat.gid) { + return (stat.mode & 0o040) === 0o040; // User group is owner and can read? + } + return (stat.mode & 0o004) === 0o004; // Others can read? + } + } + return true; + } catch (error) { + if (error instanceof Deno.errors.NotFound) { + return false; + } + if (error instanceof Deno.errors.PermissionDenied) { + if ( + (await Deno.permissions.query({ name: "read", path })).state === + "granted" + ) { + // --allow-read not missing + return !options?.isReadable; // PermissionDenied was raised by file system, so the item exists, but can't be read + } + } + throw error; + } +} + +/** + * Synchronously test whether or not the given path exists by checking with + * the file system. + * + * Note: Do not use this function if performing a check before another operation + * on that file. Doing so creates a race condition. Instead, perform the actual + * file operation directly. This function is not recommended for this use case. + * See the recommended method below. + * + * @see https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use + * + * @param path The path to the file or directory, as a string or URL. + * @param options Additional options for the check. + * @returns `true` if the path exists, `false` otherwise. + * + * @example Recommended method + * ```ts + * // Notice no use of exists + * try { + * Deno.removeSync("./foo", { recursive: true }); + * } catch (error) { + * if (!(error instanceof Deno.errors.NotFound)) { + * throw error; + * } + * // Do nothing... + * } + * ``` + * + * Notice that `existsSync()` is not used in the above example. Doing so avoids + * a possible race condition. See the above section for details. + * + * @example Basic usage + * ```ts + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./exists"); // true + * existsSync("./does_not_exist"); // false + * ``` + * + * @example Check if a path is readable + * ```ts + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./readable", { isReadable: true }); // true + * existsSync("./not_readable", { isReadable: true }); // false + * ``` + * + * @example Check if a path is a directory + * ```ts + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./directory", { isDirectory: true }); // true + * existsSync("./file", { isDirectory: true }); // false + * ``` + * + * @example Check if a path is a file + * ```ts + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./file", { isFile: true }); // true + * existsSync("./directory", { isFile: true }); // false + * ``` + * + * @example Check if a path is a readable directory + * ```ts + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./readable_directory", { isReadable: true, isDirectory: true }); // true + * existsSync("./not_readable_directory", { isReadable: true, isDirectory: true }); // false + * ``` + * + * @example Check if a path is a readable file + * ```ts + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./readable_file", { isReadable: true, isFile: true }); // true + * existsSync("./not_readable_file", { isReadable: true, isFile: true }); // false + * ``` + */ +export function existsSync( + path: string | URL, + options?: ExistsOptions, +): boolean { + try { + const stat = Deno.statSync(path); + if ( + options && + (options.isReadable || options.isDirectory || options.isFile) + ) { + if (options.isDirectory && options.isFile) { + throw new TypeError( + "ExistsOptions.options.isDirectory and ExistsOptions.options.isFile must not be true together.", + ); + } + if ( + (options.isDirectory && !stat.isDirectory) || + (options.isFile && !stat.isFile) + ) { + return false; + } + if (options.isReadable) { + if (stat.mode === null) { + return true; // Exclusive on Non-POSIX systems + } + if (Deno.uid() === stat.uid) { + return (stat.mode & 0o400) === 0o400; // User is owner and can read? + } else if (Deno.gid() === stat.gid) { + return (stat.mode & 0o040) === 0o040; // User group is owner and can read? + } + return (stat.mode & 0o004) === 0o004; // Others can read? + } + } + return true; + } catch (error) { + if (error instanceof Deno.errors.NotFound) { + return false; + } + if (error instanceof Deno.errors.PermissionDenied) { + if ( + Deno.permissions.querySync({ name: "read", path }).state === "granted" + ) { + // --allow-read not missing + return !options?.isReadable; // PermissionDenied was raised by file system, so the item exists, but can't be read + } + } + throw error; + } +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/expand_glob.ts b/vendor/jsr.io/@std/fs/0.221.0/expand_glob.ts new file mode 100644 index 0000000..2bdd897 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/expand_glob.ts @@ -0,0 +1,395 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import { type GlobOptions, globToRegExp } from "jsr:/@std/path@^0.221.0/glob-to-regexp"; +import { joinGlobs } from "jsr:/@std/path@^0.221.0/join-globs"; +import { isGlob } from "jsr:/@std/path@^0.221.0/is-glob"; +import { isAbsolute } from "jsr:/@std/path@^0.221.0/is-absolute"; +import { resolve } from "jsr:/@std/path@^0.221.0/resolve"; +import { SEPARATOR_PATTERN } from "jsr:/@std/path@^0.221.0/constants"; +import { walk, walkSync } from "./walk.ts"; +import { assert } from "jsr:/@std/assert@^0.221.0/assert"; +import { toPathString } from "./_to_path_string.ts"; +import { + createWalkEntry, + createWalkEntrySync, + type WalkEntry, +} from "./_create_walk_entry.ts"; + +export type { GlobOptions, WalkEntry }; + +const isWindows = Deno.build.os === "windows"; + +/** Options for {@linkcode expandGlob} and {@linkcode expandGlobSync}. */ +export interface ExpandGlobOptions extends Omit { + /** File path where to expand from. */ + root?: string; + /** List of glob patterns to be excluded from the expansion. */ + exclude?: string[]; + /** + * Whether to include directories in entries. + * + * @default {true} + */ + includeDirs?: boolean; + /** + * Whether to follow symbolic links. + * + * @default {false} + */ + followSymlinks?: boolean; + /** + * Indicates whether the followed symlink's path should be canonicalized. + * This option works only if `followSymlinks` is not `false`. + * + * @default {true} + */ + canonicalize?: boolean; +} + +interface SplitPath { + segments: string[]; + isAbsolute: boolean; + hasTrailingSep: boolean; + // Defined for any absolute Windows path. + winRoot?: string; +} + +function split(path: string): SplitPath { + const s = SEPARATOR_PATTERN.source; + const segments = path + .replace(new RegExp(`^${s}|${s}$`, "g"), "") + .split(SEPARATOR_PATTERN); + const isAbsolute_ = isAbsolute(path); + return { + segments, + isAbsolute: isAbsolute_, + hasTrailingSep: !!path.match(new RegExp(`${s}$`)), + winRoot: isWindows && isAbsolute_ ? segments.shift() : undefined, + }; +} + +function throwUnlessNotFound(error: unknown) { + if (!(error instanceof Deno.errors.NotFound)) { + throw error; + } +} + +function comparePath(a: WalkEntry, b: WalkEntry): number { + if (a.path < b.path) return -1; + if (a.path > b.path) return 1; + return 0; +} + +/** + * Returns an async iterator that yields each file path matching the given glob + * pattern. The file paths are relative to the provided `root` directory. + * If `root` is not provided, the current working directory is used. + * The `root` directory is not included in the yielded file paths. + * + * Requires the `--allow-read` flag. + * + * @param glob The glob pattern to expand. + * @param options Additional options for the expansion. + * @returns An async iterator that yields each walk entry matching the glob + * pattern. + * + * @example Basic usage + * + * File structure: + * ``` + * folder + * ├── script.ts + * └── foo.ts + * ``` + * + * ```ts + * // script.ts + * import { expandGlob } from "@std/fs/expand-glob"; + * + * const entries = []; + * for await (const entry of expandGlob("*.ts")) { + * entries.push(entry); + * } + * + * entries[0]!.path; // "/Users/user/folder/script.ts" + * entries[0]!.name; // "script.ts" + * entries[0]!.isFile; // false + * entries[0]!.isDirectory; // true + * entries[0]!.isSymlink; // false + * + * entries[1]!.path; // "/Users/user/folder/foo.ts" + * entries[1]!.name; // "foo.ts" + * entries[1]!.isFile; // true + * entries[1]!.isDirectory; // false + * entries[1]!.isSymlink; // false + * ``` + */ +export async function* expandGlob( + glob: string | URL, + { + root, + exclude = [], + includeDirs = true, + extended = true, + globstar = true, + caseInsensitive, + followSymlinks, + canonicalize, + }: ExpandGlobOptions = {}, +): AsyncIterableIterator { + const { + segments, + isAbsolute: isGlobAbsolute, + hasTrailingSep, + winRoot, + } = split(toPathString(glob)); + root ??= isGlobAbsolute ? winRoot ?? "/" : Deno.cwd(); + + const globOptions: GlobOptions = { extended, globstar, caseInsensitive }; + const absRoot = isGlobAbsolute ? root : resolve(root!); // root is always string here + const resolveFromRoot = (path: string): string => resolve(absRoot, path); + const excludePatterns = exclude + .map(resolveFromRoot) + .map((s: string): RegExp => globToRegExp(s, globOptions)); + const shouldInclude = (path: string): boolean => + !excludePatterns.some((p: RegExp): boolean => !!path.match(p)); + + let fixedRoot = isGlobAbsolute + ? winRoot !== undefined ? winRoot : "/" + : absRoot; + while (segments.length > 0 && !isGlob(segments[0]!)) { + const seg = segments.shift(); + assert(seg !== undefined); + fixedRoot = joinGlobs([fixedRoot, seg], globOptions); + } + + let fixedRootInfo: WalkEntry; + try { + fixedRootInfo = await createWalkEntry(fixedRoot); + } catch (error) { + return throwUnlessNotFound(error); + } + + async function* advanceMatch( + walkInfo: WalkEntry, + globSegment: string, + ): AsyncIterableIterator { + if (!walkInfo.isDirectory) { + return; + } else if (globSegment === "..") { + const parentPath = joinGlobs([walkInfo.path, ".."], globOptions); + try { + if (shouldInclude(parentPath)) { + return yield await createWalkEntry(parentPath); + } + } catch (error) { + throwUnlessNotFound(error); + } + return; + } else if (globSegment === "**") { + return yield* walk(walkInfo.path, { + skip: excludePatterns, + maxDepth: globstar ? Infinity : 1, + followSymlinks, + canonicalize, + }); + } + const globPattern = globToRegExp(globSegment, globOptions); + for await ( + const walkEntry of walk(walkInfo.path, { + maxDepth: 1, + skip: excludePatterns, + followSymlinks, + }) + ) { + if ( + walkEntry.path !== walkInfo.path && + walkEntry.name.match(globPattern) + ) { + yield walkEntry; + } + } + } + + let currentMatches: WalkEntry[] = [fixedRootInfo]; + for (const segment of segments) { + // Advancing the list of current matches may introduce duplicates, so we + // pass everything through this Map. + const nextMatchMap: Map = new Map(); + await Promise.all( + currentMatches.map(async (currentMatch) => { + for await (const nextMatch of advanceMatch(currentMatch, segment)) { + nextMatchMap.set(nextMatch.path, nextMatch); + } + }), + ); + currentMatches = [...nextMatchMap.values()].sort(comparePath); + } + + if (hasTrailingSep) { + currentMatches = currentMatches.filter( + (entry: WalkEntry): boolean => entry.isDirectory, + ); + } + if (!includeDirs) { + currentMatches = currentMatches.filter( + (entry: WalkEntry): boolean => !entry.isDirectory, + ); + } + yield* currentMatches; +} + +/** + * Returns an iterator that yields each file path matching the given glob + * pattern. The file paths are relative to the provided `root` directory. + * If `root` is not provided, the current working directory is used. + * The `root` directory is not included in the yielded file paths. + * + * Requires the `--allow-read` flag. + * + * @param glob The glob pattern to expand. + * @param options Additional options for the expansion. + * @returns An iterator that yields each walk entry matching the glob pattern. + * + * @example Basic usage + * + * File structure: + * ``` + * folder + * ├── script.ts + * └── foo.ts + * ``` + * + * ```ts + * // script.ts + * import { expandGlobSync } from "@std/fs/expand-glob"; + * + * const entries = []; + * for (const entry of expandGlobSync("*.ts")) { + * entries.push(entry); + * } + * + * entries[0]!.path; // "/Users/user/folder/script.ts" + * entries[0]!.name; // "script.ts" + * entries[0]!.isFile; // false + * entries[0]!.isDirectory; // true + * entries[0]!.isSymlink; // false + * + * entries[1]!.path; // "/Users/user/folder/foo.ts" + * entries[1]!.name; // "foo.ts" + * entries[1]!.isFile; // true + * entries[1]!.isDirectory; // false + * entries[1]!.isSymlink; // false + * ``` + */ +export function* expandGlobSync( + glob: string | URL, + { + root, + exclude = [], + includeDirs = true, + extended = true, + globstar = true, + caseInsensitive, + followSymlinks, + canonicalize, + }: ExpandGlobOptions = {}, +): IterableIterator { + const { + segments, + isAbsolute: isGlobAbsolute, + hasTrailingSep, + winRoot, + } = split(toPathString(glob)); + root ??= isGlobAbsolute ? winRoot ?? "/" : Deno.cwd(); + + const globOptions: GlobOptions = { extended, globstar, caseInsensitive }; + const absRoot = isGlobAbsolute ? root : resolve(root!); // root is always string here + const resolveFromRoot = (path: string): string => resolve(absRoot, path); + const excludePatterns = exclude + .map(resolveFromRoot) + .map((s: string): RegExp => globToRegExp(s, globOptions)); + const shouldInclude = (path: string): boolean => + !excludePatterns.some((p: RegExp): boolean => !!path.match(p)); + + let fixedRoot = isGlobAbsolute + ? winRoot !== undefined ? winRoot : "/" + : absRoot; + while (segments.length > 0 && !isGlob(segments[0]!)) { + const seg = segments.shift(); + assert(seg !== undefined); + fixedRoot = joinGlobs([fixedRoot, seg], globOptions); + } + + let fixedRootInfo: WalkEntry; + try { + fixedRootInfo = createWalkEntrySync(fixedRoot); + } catch (error) { + return throwUnlessNotFound(error); + } + + function* advanceMatch( + walkInfo: WalkEntry, + globSegment: string, + ): IterableIterator { + if (!walkInfo.isDirectory) { + return; + } else if (globSegment === "..") { + const parentPath = joinGlobs([walkInfo.path, ".."], globOptions); + try { + if (shouldInclude(parentPath)) { + return yield createWalkEntrySync(parentPath); + } + } catch (error) { + throwUnlessNotFound(error); + } + return; + } else if (globSegment === "**") { + return yield* walkSync(walkInfo.path, { + skip: excludePatterns, + maxDepth: globstar ? Infinity : 1, + followSymlinks, + canonicalize, + }); + } + const globPattern = globToRegExp(globSegment, globOptions); + for ( + const walkEntry of walkSync(walkInfo.path, { + maxDepth: 1, + skip: excludePatterns, + followSymlinks, + }) + ) { + if ( + walkEntry.path !== walkInfo.path && + walkEntry.name.match(globPattern) + ) { + yield walkEntry; + } + } + } + + let currentMatches: WalkEntry[] = [fixedRootInfo]; + for (const segment of segments) { + // Advancing the list of current matches may introduce duplicates, so we + // pass everything through this Map. + const nextMatchMap: Map = new Map(); + for (const currentMatch of currentMatches) { + for (const nextMatch of advanceMatch(currentMatch, segment)) { + nextMatchMap.set(nextMatch.path, nextMatch); + } + } + currentMatches = [...nextMatchMap.values()].sort(comparePath); + } + + if (hasTrailingSep) { + currentMatches = currentMatches.filter( + (entry: WalkEntry): boolean => entry.isDirectory, + ); + } + if (!includeDirs) { + currentMatches = currentMatches.filter( + (entry: WalkEntry): boolean => !entry.isDirectory, + ); + } + yield* currentMatches; +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/mod.ts b/vendor/jsr.io/@std/fs/0.221.0/mod.ts new file mode 100644 index 0000000..da46758 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/mod.ts @@ -0,0 +1,28 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +/** + * Helpers for working with the filesystem. + * + * ```ts + * import { ensureFile, copy, ensureDir, move } from "@std/fs"; + * + * await ensureFile("example.txt"); + * await copy("example.txt", "example_copy.txt"); + * await ensureDir("subdir"); + * await move("example_copy.txt", "subdir/example_copy.txt"); + * ``` + * + * @module + */ + +export * from "./empty_dir.ts"; +export * from "./ensure_dir.ts"; +export * from "./ensure_file.ts"; +export * from "./ensure_link.ts"; +export * from "./ensure_symlink.ts"; +export * from "./exists.ts"; +export * from "./expand_glob.ts"; +export * from "./move.ts"; +export * from "./copy.ts"; +export * from "./walk.ts"; +export * from "./eol.ts"; diff --git a/vendor/jsr.io/@std/fs/0.221.0/move.ts b/vendor/jsr.io/@std/fs/0.221.0/move.ts new file mode 100644 index 0000000..97d6261 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/move.ts @@ -0,0 +1,157 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import { isSubdir } from "./_is_subdir.ts"; +import { isSamePath } from "./_is_same_path.ts"; + +const EXISTS_ERROR = new Deno.errors.AlreadyExists("dest already exists."); + +/** + * Error thrown in {@linkcode move} or {@linkcode moveSync} when the + * destination is a subdirectory of the source. + */ +export class SubdirectoryMoveError extends Error { + /** Constructs a new instance. */ + constructor(src: string | URL, dest: string | URL) { + super( + `Cannot move '${src}' to a subdirectory of itself, '${dest}'.`, + ); + this.name = this.constructor.name; + } +} + +/** Options for {@linkcode move} and {@linkcode moveSync}. */ +export interface MoveOptions { + /** + * Whether the destination file should be overwritten if it already exists. + * + * @default {false} + */ + overwrite?: boolean; +} + +/** + * Asynchronously moves a file or directory. + * + * @param src The source file or directory as a string or URL. + * @param dest The destination file or directory as a string or URL. + * @param options Options for the move operation. + * @returns A void promise that resolves once the operation completes. + * + * @example Basic usage + * ```ts + * import { move } from "@std/fs/move"; + * + * await move("./foo", "./bar"); + * ``` + * + * This will move the file or directory at `./foo` to `./bar` without + * overwriting. + * + * @example Overwriting + * ```ts + * import { move } from "@std/fs/move"; + * + * await move("./foo", "./bar", { overwrite: true }); + * ``` + * + * This will move the file or directory at `./foo` to `./bar`, overwriting + * `./bar` if it already exists. + */ +export async function move( + src: string | URL, + dest: string | URL, + { overwrite = false }: MoveOptions = {}, +): Promise { + const srcStat = await Deno.stat(src); + + if ( + srcStat.isDirectory && + (isSubdir(src, dest) || isSamePath(src, dest)) + ) { + throw new SubdirectoryMoveError(src, dest); + } + + if (overwrite) { + if (isSamePath(src, dest)) return; + try { + await Deno.remove(dest, { recursive: true }); + } catch (error) { + if (!(error instanceof Deno.errors.NotFound)) { + throw error; + } + } + } else { + try { + await Deno.lstat(dest); + return Promise.reject(EXISTS_ERROR); + } catch { + // Do nothing... + } + } + + await Deno.rename(src, dest); +} + +/** + * Synchronously moves a file or directory. + * + * @param src The source file or directory as a string or URL. + * @param dest The destination file or directory as a string or URL. + * @param options Options for the move operation. + * @returns A void value that returns once the operation completes. + * + * @example Basic usage + * ```ts + * import { moveSync } from "@std/fs/move"; + * + * moveSync("./foo", "./bar"); + * ``` + * + * This will move the file or directory at `./foo` to `./bar` without + * overwriting. + * + * @example Overwriting + * ```ts + * import { moveSync } from "@std/fs/move"; + * + * moveSync("./foo", "./bar", { overwrite: true }); + * ``` + * + * This will move the file or directory at `./foo` to `./bar`, overwriting + * `./bar` if it already exists. + */ +export function moveSync( + src: string | URL, + dest: string | URL, + { overwrite = false }: MoveOptions = {}, +): void { + const srcStat = Deno.statSync(src); + + if ( + srcStat.isDirectory && + (isSubdir(src, dest) || isSamePath(src, dest)) + ) { + throw new SubdirectoryMoveError(src, dest); + } + + if (overwrite) { + if (isSamePath(src, dest)) return; + try { + Deno.removeSync(dest, { recursive: true }); + } catch (error) { + if (!(error instanceof Deno.errors.NotFound)) { + throw error; + } + } + } else { + try { + Deno.lstatSync(dest); + throw EXISTS_ERROR; + } catch (error) { + if (error === EXISTS_ERROR) { + throw error; + } + } + } + + Deno.renameSync(src, dest); +} diff --git a/vendor/jsr.io/@std/fs/0.221.0/walk.ts b/vendor/jsr.io/@std/fs/0.221.0/walk.ts new file mode 100644 index 0000000..da6de17 --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0/walk.ts @@ -0,0 +1,293 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Documentation and interface for walk were adapted from Go +// https://golang.org/pkg/path/filepath/#Walk +// Copyright 2009 The Go Authors. All rights reserved. BSD license. +import { join } from "jsr:/@std/path@^0.221.0/join"; +import { normalize } from "jsr:/@std/path@^0.221.0/normalize"; +import { toPathString } from "./_to_path_string.ts"; +import { + createWalkEntry, + createWalkEntrySync, + type WalkEntry, +} from "./_create_walk_entry.ts"; + +/** Error thrown in {@linkcode walk} or {@linkcode walkSync} during iteration. */ +export class WalkError extends Error { + /** File path of the root that's being walked. */ + root: string; + + /** Constructs a new instance. */ + constructor(cause: unknown, root: string) { + super( + `${cause instanceof Error ? cause.message : cause} for path "${root}"`, + ); + this.cause = cause; + this.name = this.constructor.name; + this.root = root; + } +} + +function include( + path: string, + exts?: string[], + match?: RegExp[], + skip?: RegExp[], +): boolean { + if (exts && !exts.some((ext): boolean => path.endsWith(ext))) { + return false; + } + if (match && !match.some((pattern): boolean => !!path.match(pattern))) { + return false; + } + if (skip && skip.some((pattern): boolean => !!path.match(pattern))) { + return false; + } + return true; +} + +function wrapErrorWithPath(err: unknown, root: string) { + if (err instanceof WalkError) return err; + return new WalkError(err, root); +} + +/** Options for {@linkcode walk} and {@linkcode walkSync}. */ +export interface WalkOptions { + /** + * The maximum depth of the file tree to be walked recursively. + * + * @default {Infinity} + */ + maxDepth?: number; + /** + * Indicates whether file entries should be included or not. + * + * @default {true} + */ + includeFiles?: boolean; + /** + * Indicates whether directory entries should be included or not. + * + * @default {true} + */ + includeDirs?: boolean; + /** + * Indicates whether symlink entries should be included or not. + * This option is meaningful only if `followSymlinks` is set to `false`. + * + * @default {true} + */ + includeSymlinks?: boolean; + /** + * Indicates whether symlinks should be resolved or not. + * + * @default {false} + */ + followSymlinks?: boolean; + /** + * Indicates whether the followed symlink's path should be canonicalized. + * This option works only if `followSymlinks` is not `false`. + * + * @default {true} + */ + canonicalize?: boolean; + /** + * List of file extensions used to filter entries. + * If specified, entries without the file extension specified by this option + * are excluded. + * + * @default {undefined} + */ + exts?: string[]; + /** + * List of regular expression patterns used to filter entries. + * If specified, entries that do not match the patterns specified by this + * option are excluded. + * + * @default {undefined} + */ + match?: RegExp[]; + /** + * List of regular expression patterns used to filter entries. + * If specified, entries matching the patterns specified by this option are + * excluded. + * + * @default {undefined} + */ + skip?: RegExp[]; +} +export type { WalkEntry }; + +/** + * Recursively walks through a directory and yields information about each file + * and directory encountered. + * + * @param root The root directory to start the walk from, as a string or URL. + * @param options The options for the walk. + * @returns An async iterable iterator that yields `WalkEntry` objects. + * + * @example Basic usage + * + * File structure: + * ``` + * folder + * ├── script.ts + * └── foo.ts + * ``` + * + * ```ts + * import { walk } from "@std/fs/walk"; + * + * const entries = []; + * for await (const entry of walk(".")) { + * entries.push(entry); + * } + * + * entries[0]!.path; // "folder" + * entries[0]!.name; // "folder" + * entries[0]!.isFile; // false + * entries[0]!.isDirectory; // true + * entries[0]!.isSymlink; // false + * + * entries[1]!.path; // "folder/script.ts" + * entries[1]!.name; // "script.ts" + * entries[1]!.isFile; // true + * entries[1]!.isDirectory; // false + * entries[1]!.isSymlink; // false + * ``` + */ +export async function* walk( + root: string | URL, + { + maxDepth = Infinity, + includeFiles = true, + includeDirs = true, + includeSymlinks = true, + followSymlinks = false, + canonicalize = true, + exts = undefined, + match = undefined, + skip = undefined, + }: WalkOptions = {}, +): AsyncIterableIterator { + if (maxDepth < 0) { + return; + } + root = toPathString(root); + if (includeDirs && include(root, exts, match, skip)) { + yield await createWalkEntry(root); + } + if (maxDepth < 1 || !include(root, undefined, undefined, skip)) { + return; + } + try { + for await (const entry of Deno.readDir(root)) { + let path = join(root, entry.name); + + let { isSymlink, isDirectory } = entry; + + if (isSymlink) { + if (!followSymlinks) { + if (includeSymlinks && include(path, exts, match, skip)) { + yield { path, ...entry }; + } + continue; + } + const realPath = await Deno.realPath(path); + if (canonicalize) { + path = realPath; + } + // Caveat emptor: don't assume |path| is not a symlink. realpath() + // resolves symlinks but another process can replace the file system + // entity with a different type of entity before we call lstat(). + ({ isSymlink, isDirectory } = await Deno.lstat(realPath)); + } + + if (isSymlink || isDirectory) { + yield* walk(path, { + maxDepth: maxDepth - 1, + includeFiles, + includeDirs, + includeSymlinks, + followSymlinks, + exts, + match, + skip, + }); + } else if (includeFiles && include(path, exts, match, skip)) { + yield { path, ...entry }; + } + } + } catch (err) { + throw wrapErrorWithPath(err, normalize(root)); + } +} + +/** Same as {@linkcode walk} but uses synchronous ops */ +export function* walkSync( + root: string | URL, + { + maxDepth = Infinity, + includeFiles = true, + includeDirs = true, + includeSymlinks = true, + followSymlinks = false, + canonicalize = true, + exts = undefined, + match = undefined, + skip = undefined, + }: WalkOptions = {}, +): IterableIterator { + root = toPathString(root); + if (maxDepth < 0) { + return; + } + if (includeDirs && include(root, exts, match, skip)) { + yield createWalkEntrySync(root); + } + if (maxDepth < 1 || !include(root, undefined, undefined, skip)) { + return; + } + let entries; + try { + entries = Deno.readDirSync(root); + } catch (err) { + throw wrapErrorWithPath(err, normalize(root)); + } + for (const entry of entries) { + let path = join(root, entry.name); + + let { isSymlink, isDirectory } = entry; + + if (isSymlink) { + if (!followSymlinks) { + if (includeSymlinks && include(path, exts, match, skip)) { + yield { path, ...entry }; + } + continue; + } + const realPath = Deno.realPathSync(path); + if (canonicalize) { + path = realPath; + } + // Caveat emptor: don't assume |path| is not a symlink. realpath() + // resolves symlinks but another process can replace the file system + // entity with a different type of entity before we call lstat(). + ({ isSymlink, isDirectory } = Deno.lstatSync(realPath)); + } + + if (isSymlink || isDirectory) { + yield* walkSync(path, { + maxDepth: maxDepth - 1, + includeFiles, + includeDirs, + includeSymlinks, + followSymlinks, + exts, + match, + skip, + }); + } else if (includeFiles && include(path, exts, match, skip)) { + yield { path, ...entry }; + } + } +} diff --git a/vendor/jsr.io/@std/fs/0.221.0_meta.json b/vendor/jsr.io/@std/fs/0.221.0_meta.json new file mode 100644 index 0000000..49c1ebb --- /dev/null +++ b/vendor/jsr.io/@std/fs/0.221.0_meta.json @@ -0,0 +1,1169 @@ +{ + "manifest": { + "/testdata/empty_dir.ts": { + "size": 163, + "checksum": "sha256-ba3dcc7a8779b65aab3beb4230600ed0297d4829587815eda8f2ade668075731" + }, + "/testdata/glob/abcdefghi": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/copy.ts": { + "size": 11246, + "checksum": "sha256-432bafb9b3543ed6245397200c75531e39e35dc7f7de8eb0e12deda925bde680" + }, + "/_is_same_path_test.ts": { + "size": 1715, + "checksum": "sha256-53c4d62b662880f50fb33ba45969e3b64890e1d273e3cb9f0e970a295aa8b089" + }, + "/copy_test.ts": { + "size": 13718, + "checksum": "sha256-29af737eba80e18196482522f3026efeb3128f3cd1740f8ec41921c4db551d25" + }, + "/move_test.ts": { + "size": 14456, + "checksum": "sha256-f373c2ca3e132ca69f7c7267c7503d2bbd18574606ca3f9e5b58bb8162595d66" + }, + "/eol.ts": { + "size": 1890, + "checksum": "sha256-508100ec12278fdeb35cb3fabf90c4726d38bca211601fef1411db8011cb9111" + }, + "/exists.ts": { + "size": 8723, + "checksum": "sha256-d5adf25b08541b06b51e0e6aa4bb7f02b677aa5d618939c7e8b1f48cdde9604f" + }, + "/testdata/walk/ext/x.ts": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/ensure_dir_test.ts": { + "size": 3843, + "checksum": "sha256-3c321f766a87b8e508092f38bbdd26c17bf88e12eb5c96a0dfc756598ca56f28" + }, + "/testdata/walk/symlink/a/z": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/walk_test.ts": { + "size": 7806, + "checksum": "sha256-7bc3ab6be073cfcec7a8ed748331171840533f11305928fb50d91ad4f289b9d2" + }, + "/testdata/empty_dir_sync.ts": { + "size": 165, + "checksum": "sha256-a68d6fef190d35d3f7556713a218aea4f77fcb6cca4761bdbcdbfa49a20963a6" + }, + "/testdata/walk/match/z": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/walk/match/y": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/copy_dir/0.txt": { + "size": 4, + "checksum": "sha256-982d9e3eb996f559e633f4d194def3761d909f5a3b647d1a851fead67c32c9d1" + }, + "/testdata/glob/a[b]c/foo": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/_get_file_info_type.ts": { + "size": 550, + "checksum": "sha256-da7bec18a7661dba360a1db475b826b18977582ce6fc9b25f3d4ee0403fe8cbd" + }, + "/testdata/walk/symlink/x": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/glob/subdir/abc": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/expand_wildcard.js": { + "size": 182, + "checksum": "sha256-98dbc4eb25276594b77e54315ce1636d053dcf120d320bb196f792362b6fbbaf" + }, + "/_is_subdir_test.ts": { + "size": 1115, + "checksum": "sha256-e374b46c68594c711ca6e9daa4f236a021bd9d4bb189ee37e0d43dc5a4ebdf9c" + }, + "/mod.ts": { + "size": 747, + "checksum": "sha256-585eb278c9fa1600dc146b4a70a1f7837ecba30237e4dcfb52eb5ac2e230528e" + }, + "/ensure_dir.ts": { + "size": 2776, + "checksum": "sha256-066034ab63f6c391f9a12f57f04459d2ec775b58556c00853a170808ff2250a4" + }, + "/testdata/walk/match/x": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/ensure_symlink_test.ts": { + "size": 8181, + "checksum": "sha256-b1c7ea6380ddab373cc8bbdfdfb84e0b5c4e011aa6a6e93dbd9bf77c2b00c800" + }, + "/testdata/copy_dir/nest/0.txt": { + "size": 4, + "checksum": "sha256-75ef2e329bdb50d26a4ce73c2aaa567364e4ac5b5f79f7cf6d64b4cd547a863c" + }, + "/ensure_file_test.ts": { + "size": 5924, + "checksum": "sha256-0e8ff9598ac81ace280cc002a281efde445b385c5785484fd2c95ea3b9b5514b" + }, + "/_get_file_info_type_test.ts": { + "size": 1235, + "checksum": "sha256-6410e3245c7f367c47dd33eb4ef45d0258bb8569eb9dea7b95e6ff3c6fbc02bd" + }, + "/_to_path_string.ts": { + "size": 426, + "checksum": "sha256-e587ba509a0795eee322c98565533b709f8f8928991f9520294d7a0eefb633cd" + }, + "/deno.json": { + "size": 471, + "checksum": "sha256-ae56d02a05283926adf71e2ac4d06fe79377cbf4cf21bf73c32f479f2ebb8453" + }, + "/eol_test.ts": { + "size": 1650, + "checksum": "sha256-8a5e1ff341dc36854e750f3bddca2b4f7eaa6e0c70d23fb58ea602b2a1346b4f" + }, + "/ensure_link_test.ts": { + "size": 5294, + "checksum": "sha256-f159d36cba7f3409c6cdc880e5f5da348ecc2a549cb700bfe774ed23daaf8b96" + }, + "/testdata/glob/abc": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/expand_glob_test.ts": { + "size": 10693, + "checksum": "sha256-07959d252f927cbc9a4baabf663fb354b561cacd2f9ad142df1e30e7250eda20" + }, + "/expand_glob.ts": { + "size": 11390, + "checksum": "sha256-f124e741ebf069a17f68b6b0259d2eaf3491fa1dfed1b833f2df6f13ffee2ae4" + }, + "/ensure_symlink.ts": { + "size": 4453, + "checksum": "sha256-c11a90ff90ebde02b86aabf8a11eb7d532e73933c7da152d7e3a65fffe72b3ca" + }, + "/walk.ts": { + "size": 7824, + "checksum": "sha256-844e8c5ce6d680c09b0512b8b96f78006e5a5fd35317566606cfbdd21c3247fe" + }, + "/move.ts": { + "size": 3884, + "checksum": "sha256-5fabd5b6c12e9d0bbfc5d5e2459cb6754198a8cb147fe1227c156ad522fa5466" + }, + "/testdata/walk/depth/a/b/c/d/x": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/copy_file.txt": { + "size": 3, + "checksum": "sha256-486b9a6fc855abf48847e9639f3c090855c6aafdc22a13b10e3244c37f03d3e0" + }, + "/testdata/walk/ext/y.rs": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/_is_same_path.ts": { + "size": 558, + "checksum": "sha256-8545586437b802fc795bbdb8729f569fddd055962e8c5242c7005bca3b526b9e" + }, + "/empty_dir_test.ts": { + "size": 6430, + "checksum": "sha256-4efd005abdbc560ac6de891b83b48e05a94a3da6779a2bde3066ec13a3cae4ed" + }, + "/exists_test.ts": { + "size": 10764, + "checksum": "sha256-f253167d4a7da226423077f1ffd6e2706fa94548bf48c9b35d9c35c8e1c385c0" + }, + "/_create_walk_entry.ts": { + "size": 1318, + "checksum": "sha256-60caae4ed0b3e84c5b54a04785043b1217d3b7d86fc289ef5f221918030ec55d" + }, + "/testdata/walk/nested_single_file/a/x": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/glob/abcdef": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/0.ts": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/empty_dir.ts": { + "size": 2291, + "checksum": "sha256-869faf9103d0df3e1436c1595c97347f1d6f3fea1b9d4ed9a32d5900b554b72b" + }, + "/ensure_file.ts": { + "size": 2563, + "checksum": "sha256-074f49f4d5dff216afdc3a6368161aabe2377e45140f821e63179c62fe35413b" + }, + "/ensure_link.ts": { + "size": 1643, + "checksum": "sha256-60fb28354af7c7e3b72e1981b0687c20a080d60a048227027b539ea181f1bb04" + }, + "/_is_subdir.ts": { + "size": 738, + "checksum": "sha256-327198a75fef258f801cfab01b976d513d99fbf82599c5b6394d5bf8d172ad77" + }, + "/testdata/walk/ext/z.py": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/walk/single_file/x": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + } + }, + "moduleGraph1": { + "/_is_same_path.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/resolve", + "specifierRange": [ + [ + 3, + 24 + ], + [ + 3, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 4, + 29 + ], + [ + 4, + 51 + ] + ] + } + ] + }, + "/exists.ts": {}, + "/ensure_link.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/dirname", + "specifierRange": [ + [ + 1, + 24 + ], + [ + 1, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./ensure_dir.ts", + "specifierRange": [ + [ + 2, + 41 + ], + [ + 2, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 3, + 29 + ], + [ + 3, + 51 + ] + ] + } + ] + }, + "/walk.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/join", + "specifierRange": [ + [ + 4, + 21 + ], + [ + 4, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/normalize", + "specifierRange": [ + [ + 5, + 26 + ], + [ + 5, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 6, + 29 + ], + [ + 6, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_create_walk_entry.ts", + "specifierRange": [ + [ + 11, + 7 + ], + [ + 11, + 32 + ] + ] + } + ] + }, + "/_get_file_info_type.ts": {}, + "/_is_subdir.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/constants", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 4, + 29 + ], + [ + 4, + 51 + ] + ] + } + ] + }, + "/_create_walk_entry.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/basename", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 59 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/normalize", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 5, + 29 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./empty_dir.ts", + "specifierRange": [ + [ + 17, + 14 + ], + [ + 17, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./ensure_dir.ts", + "specifierRange": [ + [ + 18, + 14 + ], + [ + 18, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./ensure_file.ts", + "specifierRange": [ + [ + 19, + 14 + ], + [ + 19, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./ensure_link.ts", + "specifierRange": [ + [ + 20, + 14 + ], + [ + 20, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./ensure_symlink.ts", + "specifierRange": [ + [ + 21, + 14 + ], + [ + 21, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./exists.ts", + "specifierRange": [ + [ + 22, + 14 + ], + [ + 22, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./expand_glob.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./move.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./copy.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./walk.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./eol.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 24 + ] + ] + } + ] + }, + "/ensure_symlink.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/dirname", + "specifierRange": [ + [ + 1, + 24 + ], + [ + 1, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/resolve", + "specifierRange": [ + [ + 2, + 24 + ], + [ + 2, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./ensure_dir.ts", + "specifierRange": [ + [ + 3, + 41 + ], + [ + 3, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_get_file_info_type.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 5, + 29 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/ensure_file.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/dirname", + "specifierRange": [ + [ + 1, + 24 + ], + [ + 1, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./ensure_dir.ts", + "specifierRange": [ + [ + 2, + 41 + ], + [ + 2, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_get_file_info_type.ts", + "specifierRange": [ + [ + 3, + 32 + ], + [ + 3, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 4, + 29 + ], + [ + 4, + 51 + ] + ] + } + ] + }, + "/ensure_dir.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_get_file_info_type.ts", + "specifierRange": [ + [ + 1, + 32 + ], + [ + 1, + 58 + ] + ] + } + ] + }, + "/_to_path_string.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/from-file-url", + "specifierRange": [ + [ + 3, + 28 + ], + [ + 3, + 67 + ] + ] + } + ] + }, + "/eol.ts": {}, + "/empty_dir.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/join", + "specifierRange": [ + [ + 1, + 21 + ], + [ + 1, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 2, + 29 + ], + [ + 2, + 51 + ] + ] + } + ] + }, + "/expand_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/glob-to-regexp", + "specifierRange": [ + [ + 1, + 47 + ], + [ + 1, + 87 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/join-globs", + "specifierRange": [ + [ + 2, + 26 + ], + [ + 2, + 62 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/is-glob", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/is-absolute", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/resolve", + "specifierRange": [ + [ + 5, + 24 + ], + [ + 5, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/constants", + "specifierRange": [ + [ + 6, + 34 + ], + [ + 6, + 69 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./walk.ts", + "specifierRange": [ + [ + 7, + 31 + ], + [ + 7, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/assert@^0.221.0/assert", + "specifierRange": [ + [ + 8, + 23 + ], + [ + 8, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 9, + 29 + ], + [ + 9, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_create_walk_entry.ts", + "specifierRange": [ + [ + 14, + 7 + ], + [ + 14, + 32 + ] + ] + } + ] + }, + "/move.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_is_subdir.ts", + "specifierRange": [ + [ + 1, + 25 + ], + [ + 1, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_is_same_path.ts", + "specifierRange": [ + [ + 2, + 27 + ], + [ + 2, + 47 + ] + ] + } + ] + }, + "/copy.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/basename", + "specifierRange": [ + [ + 2, + 25 + ], + [ + 2, + 59 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/join", + "specifierRange": [ + [ + 3, + 21 + ], + [ + 3, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/path@^0.221.0/resolve", + "specifierRange": [ + [ + 4, + 24 + ], + [ + 4, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./ensure_dir.ts", + "specifierRange": [ + [ + 5, + 41 + ], + [ + 5, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/assert@^0.221.0/assert", + "specifierRange": [ + [ + 6, + 23 + ], + [ + 6, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_get_file_info_type.ts", + "specifierRange": [ + [ + 7, + 32 + ], + [ + 7, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 8, + 29 + ], + [ + 8, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_is_subdir.ts", + "specifierRange": [ + [ + 9, + 25 + ], + [ + 9, + 42 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./copy": "./copy.ts", + "./empty-dir": "./empty_dir.ts", + "./ensure-dir": "./ensure_dir.ts", + "./ensure-file": "./ensure_file.ts", + "./ensure-link": "./ensure_link.ts", + "./ensure-symlink": "./ensure_symlink.ts", + "./eol": "./eol.ts", + "./exists": "./exists.ts", + "./expand-glob": "./expand_glob.ts", + "./move": "./move.ts", + "./walk": "./walk.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/fs/1.0.9/exists.ts b/vendor/jsr.io/@std/fs/1.0.9/exists.ts new file mode 100644 index 0000000..66db407 --- /dev/null +++ b/vendor/jsr.io/@std/fs/1.0.9/exists.ts @@ -0,0 +1,314 @@ +// Copyright 2018-2025 the Deno authors. MIT license. + +/** Options for {@linkcode exists} and {@linkcode existsSync.} */ +export interface ExistsOptions { + /** + * When `true`, will check if the path is readable by the user as well. + * + * @default {false} + */ + isReadable?: boolean; + /** + * When `true`, will check if the path is a directory as well. Directory + * symlinks are included. + * + * @default {false} + */ + isDirectory?: boolean; + /** + * When `true`, will check if the path is a file as well. File symlinks are + * included. + * + * @default {false} + */ + isFile?: boolean; +} + +/** + * Asynchronously test whether or not the given path exists by checking with + * the file system. + * + * Note: Do not use this function if performing a check before another operation + * on that file. Doing so creates a race condition. Instead, perform the actual + * file operation directly. This function is not recommended for this use case. + * See the recommended method below. + * + * @see {@link https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use} for + * more information on the time-of-check to time-of-use bug. + * + * Requires `--allow-read` permissions, and in some cases, `--allow-sys` + * permissions if `options.isReadable` is `true`. + * + * @see {@link https://docs.deno.com/runtime/manual/basics/permissions#file-system-access} + * for more information on Deno's permissions system. + * + * @param path The path to the file or directory, as a string or URL. + * @param options Additional options for the check. + * + * @returns A promise that resolves with `true` if the path exists, `false` + * otherwise. + * + * @example Recommended method + * ```ts ignore + * // Notice no use of exists + * try { + * await Deno.remove("./foo", { recursive: true }); + * } catch (error) { + * if (!(error instanceof Deno.errors.NotFound)) { + * throw error; + * } + * // Do nothing... + * } + * ``` + * + * Notice that `exists()` is not used in the above example. Doing so avoids a + * possible race condition. See the above note for details. + * + * @example Basic usage + * ```ts ignore + * import { exists } from "@std/fs/exists"; + * + * await exists("./exists"); // true + * await exists("./does_not_exist"); // false + * ``` + * + * @example Check if a path is readable + * + * Requires `--allow-sys` permissions in some cases. + * + * ```ts ignore + * import { exists } from "@std/fs/exists"; + * + * await exists("./readable", { isReadable: true }); // true + * await exists("./not_readable", { isReadable: true }); // false + * ``` + * + * @example Check if a path is a directory + * ```ts ignore + * import { exists } from "@std/fs/exists"; + * + * await exists("./directory", { isDirectory: true }); // true + * await exists("./file", { isDirectory: true }); // false + * ``` + * + * @example Check if a path is a file + * ```ts ignore + * import { exists } from "@std/fs/exists"; + * + * await exists("./file", { isFile: true }); // true + * await exists("./directory", { isFile: true }); // false + * ``` + * + * @example Check if a path is a readable directory + * + * Requires `--allow-sys` permissions in some cases. + * + * ```ts ignore + * import { exists } from "@std/fs/exists"; + * + * await exists("./readable_directory", { isReadable: true, isDirectory: true }); // true + * await exists("./not_readable_directory", { isReadable: true, isDirectory: true }); // false + * ``` + * + * @example Check if a path is a readable file + * + * Requires `--allow-sys` permissions in some cases. + * + * ```ts ignore + * import { exists } from "@std/fs/exists"; + * + * await exists("./readable_file", { isReadable: true, isFile: true }); // true + * await exists("./not_readable_file", { isReadable: true, isFile: true }); // false + * ``` + */ +export async function exists( + path: string | URL, + options?: ExistsOptions, +): Promise { + try { + const stat = await Deno.stat(path); + if ( + options && + (options.isReadable || options.isDirectory || options.isFile) + ) { + if (options.isDirectory && options.isFile) { + throw new TypeError( + "ExistsOptions.options.isDirectory and ExistsOptions.options.isFile must not be true together", + ); + } + if ( + (options.isDirectory && !stat.isDirectory) || + (options.isFile && !stat.isFile) + ) { + return false; + } + if (options.isReadable) { + return fileIsReadable(stat); + } + } + return true; + } catch (error) { + if (error instanceof Deno.errors.NotFound) { + return false; + } + if (error instanceof Deno.errors.PermissionDenied) { + if ( + (await Deno.permissions.query({ name: "read", path })).state === + "granted" + ) { + // --allow-read not missing + return !options?.isReadable; // PermissionDenied was raised by file system, so the item exists, but can't be read + } + } + throw error; + } +} + +/** + * Synchronously test whether or not the given path exists by checking with + * the file system. + * + * Note: Do not use this function if performing a check before another operation + * on that file. Doing so creates a race condition. Instead, perform the actual + * file operation directly. This function is not recommended for this use case. + * See the recommended method below. + * + * @see {@link https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use} for + * more information on the time-of-check to time-of-use bug. + * + * Requires `--allow-read` permissions, and in some cases, `--allow-sys` + * permissions if `options.isReadable` is `true`. + * + * @see {@link https://docs.deno.com/runtime/manual/basics/permissions#file-system-access} + * for more information on Deno's permissions system. + * + * @param path The path to the file or directory, as a string or URL. + * @param options Additional options for the check. + * + * @returns `true` if the path exists, `false` otherwise. + * + * @example Recommended method + * ```ts ignore + * // Notice no use of exists + * try { + * Deno.removeSync("./foo", { recursive: true }); + * } catch (error) { + * if (!(error instanceof Deno.errors.NotFound)) { + * throw error; + * } + * // Do nothing... + * } + * ``` + * + * Notice that `existsSync()` is not used in the above example. Doing so avoids + * a possible race condition. See the above note for details. + * + * @example Basic usage + * ```ts ignore + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./exists"); // true + * existsSync("./does_not_exist"); // false + * ``` + * + * @example Check if a path is readable + * + * Requires `--allow-sys` permissions in some cases. + * + * ```ts ignore + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./readable", { isReadable: true }); // true + * existsSync("./not_readable", { isReadable: true }); // false + * ``` + * + * @example Check if a path is a directory + * ```ts ignore + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./directory", { isDirectory: true }); // true + * existsSync("./file", { isDirectory: true }); // false + * ``` + * + * @example Check if a path is a file + * ```ts ignore + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./file", { isFile: true }); // true + * existsSync("./directory", { isFile: true }); // false + * ``` + * + * @example Check if a path is a readable directory + * + * Requires `--allow-sys` permissions in some cases. + * + * ```ts ignore + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./readable_directory", { isReadable: true, isDirectory: true }); // true + * existsSync("./not_readable_directory", { isReadable: true, isDirectory: true }); // false + * ``` + * + * @example Check if a path is a readable file + * + * Requires `--allow-sys` permissions in some cases. + * + * ```ts ignore + * import { existsSync } from "@std/fs/exists"; + * + * existsSync("./readable_file", { isReadable: true, isFile: true }); // true + * existsSync("./not_readable_file", { isReadable: true, isFile: true }); // false + * ``` + */ +export function existsSync( + path: string | URL, + options?: ExistsOptions, +): boolean { + try { + const stat = Deno.statSync(path); + if ( + options && + (options.isReadable || options.isDirectory || options.isFile) + ) { + if (options.isDirectory && options.isFile) { + throw new TypeError( + "ExistsOptions.options.isDirectory and ExistsOptions.options.isFile must not be true together", + ); + } + if ( + (options.isDirectory && !stat.isDirectory) || + (options.isFile && !stat.isFile) + ) { + return false; + } + if (options.isReadable) { + return fileIsReadable(stat); + } + } + return true; + } catch (error) { + if (error instanceof Deno.errors.NotFound) { + return false; + } + if (error instanceof Deno.errors.PermissionDenied) { + if ( + Deno.permissions.querySync({ name: "read", path }).state === "granted" + ) { + // --allow-read not missing + return !options?.isReadable; // PermissionDenied was raised by file system, so the item exists, but can't be read + } + } + throw error; + } +} + +function fileIsReadable(stat: Deno.FileInfo) { + if (stat.mode === null) { + return true; // Exclusive on Non-POSIX systems + } else if (Deno.uid() === stat.uid) { + return (stat.mode & 0o400) === 0o400; // User is owner and can read? + } else if (Deno.gid() === stat.gid) { + return (stat.mode & 0o040) === 0o040; // User group is owner and can read? + } + return (stat.mode & 0o004) === 0o004; // Others can read? +} diff --git a/vendor/jsr.io/@std/fs/1.0.9_meta.json b/vendor/jsr.io/@std/fs/1.0.9_meta.json new file mode 100644 index 0000000..ff8f57c --- /dev/null +++ b/vendor/jsr.io/@std/fs/1.0.9_meta.json @@ -0,0 +1,1425 @@ +{ + "manifest": { + "/testdata/ensure_dir/dir/.keep": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/copy_test.ts": { + "size": 16072, + "checksum": "sha256-8a8b417ce32036b31094ac9c11cf5b7b0fcdd098f5b9a14bf8daa09f9f2bc742" + }, + "/testdata/glob/a[b]c/foo": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/walk/ext/y.rs": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/exists_test.ts": { + "size": 10738, + "checksum": "sha256-465280652208b6cddc1bca513e220c4232e37231252748a772f1e3bd8de314f5" + }, + "/testdata/empty_dir.ts": { + "size": 262, + "checksum": "sha256-273b90bfcb24d811de780b593858a611409663019fdcc8b4640ac4f52bb599f6" + }, + "/testdata/walk/match/y": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/copy.ts": { + "size": 11429, + "checksum": "sha256-e5628d1f19c007101005817f1f9710c3c6f2137e8a6aecd397194b490b498f68" + }, + "/testdata/empty_dir_sync.ts": { + "size": 264, + "checksum": "sha256-7379e12ef1b1bc25899e8c42c913725f0d6812f76bb5509a11ae1a1ada9a4e16" + }, + "/unstable_errors.d.ts": { + "size": 2037, + "checksum": "sha256-4230c9bfea2927c74a7f7fd1aefde97f5a95d5467e52439b92e6ec201c0ef417" + }, + "/_get_file_info_type_test.ts": { + "size": 1211, + "checksum": "sha256-c2e6949a57114125afdacce396b322de55529d8bebcc8cf4a7ac96ee6fe87f9d" + }, + "/exists.ts": { + "size": 9493, + "checksum": "sha256-018cf1229af252d40b54f91dec08e9c31b73c97f2661b5149b6f5176749c4302" + }, + "/unstable_lstat.ts": { + "size": 1929, + "checksum": "sha256-03fca87898fbc20e2c6659fc21ac58d7af80f3a83091ab4ade23c70a5a9b29a1" + }, + "/ensure_symlink_test.ts": { + "size": 12510, + "checksum": "sha256-c9314c98a141a6a87d0c436e8c50bd384427c8a3917c40983d1f051f719183cc" + }, + "/walk_test.ts": { + "size": 10421, + "checksum": "sha256-9a4faf33d0dcd52c6312872894653a30c8456dc2c9e5ac3bb6aa70e80a9ddb91" + }, + "/ensure_symlink.ts": { + "size": 6400, + "checksum": "sha256-8c8a9d99ae50a92b87b22e5af45eeaf0a74328fc0e47da8cece839e7e8e5bd09" + }, + "/testdata/walk/match/z": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/_to_file_info.ts": { + "size": 1030, + "checksum": "sha256-4f5ed50dfb61179ec4da92803153e862c5ddc646f7732820fab365f23c41aee3" + }, + "/walk.ts": { + "size": 21648, + "checksum": "sha256-2881159b947266ade05d527f398dc46a7ac9b32b0691fc04ef04b800b8f8475e" + }, + "/testdata/walk/symlink/x": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/walk/symlink/a/z": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/glob/subdir/abc": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/ensure_file_test.ts": { + "size": 7039, + "checksum": "sha256-965afbef8e1975ac9670e5f6e7769df4a30f819305df3901a8dec277232d4c79" + }, + "/_create_walk_entry.ts": { + "size": 1291, + "checksum": "sha256-1f3408587a3cfbf4d9c2dd886dbe9eed0e458309cbba2019d80d4f11bddf24e8" + }, + "/testdata/expand_wildcard.js": { + "size": 215, + "checksum": "sha256-5d34fdc1f464c2645267cfd3f0f7d901f90bcacbceffd85b02bc732bccaf183d" + }, + "/testdata/glob/abcdef": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/empty_dir_test.ts": { + "size": 7131, + "checksum": "sha256-03657811000654e728b041bbe9247b594ee22894e20193c2d3ea9a82372a9420" + }, + "/move.ts": { + "size": 4528, + "checksum": "sha256-04b69c64df5bf55fcdbe95a284536ae9404593bb60361d1321efb855586ec34e" + }, + "/testdata/copy_dir/0.txt": { + "size": 4, + "checksum": "sha256-982d9e3eb996f559e633f4d194def3761d909f5a3b647d1a851fead67c32c9d1" + }, + "/unstable_stat.ts": { + "size": 1774, + "checksum": "sha256-b67be39d3db0012de10632d58431375edeb4ae6ec01ca7ac6f54640cd26900ad" + }, + "/expand_glob.ts": { + "size": 14300, + "checksum": "sha256-5a1d8017642190c8dc1e056a8f7981cbc38d68463497968101a1f04a1b12d6ee" + }, + "/_is_subdir_test.ts": { + "size": 1120, + "checksum": "sha256-775ad5a970237d76c1dbb39d87e160dbe4f8d9b07d5a306d2e246c5c7962cdc5" + }, + "/_to_path_string.ts": { + "size": 444, + "checksum": "sha256-f2da2dc7001fccb30e40386e511002b7fb9547365ad1d257e32fe9c81d2f8906" + }, + "/_is_same_path_test.ts": { + "size": 1691, + "checksum": "sha256-74e4690ea4f2539eb13d46983b5a3d575c7ff99ca3e39c59305dcefa2affc41b" + }, + "/testdata/ensure_dir/f": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/_map_error.ts": { + "size": 780, + "checksum": "sha256-260f4722ed45783074f0538eb9db1d02e5382a54be16e6c378cfa61078a9f9e8" + }, + "/expand_glob_test.ts": { + "size": 12451, + "checksum": "sha256-6e5d3c63db56ffa4bc78f60521296837665f04557443be1114abc16645a2393c" + }, + "/eol_test.ts": { + "size": 1628, + "checksum": "sha256-d34233f10d2c59613cd688b49f39eb455061c21e9239f9bb4f22c5876692ac97" + }, + "/testdata/glob/abc": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/ensure_dir_test.ts": { + "size": 6319, + "checksum": "sha256-cfb17f5b2f7ed968630781cf5c3646bbf0509b5b06d90139b69391dfb64c28b8" + }, + "/empty_dir.ts": { + "size": 2563, + "checksum": "sha256-afc07411136687e148305e7a57cf80d4c180337920dcc21ed22519566b396579" + }, + "/mod.ts": { + "size": 742, + "checksum": "sha256-0bf3344c1151d9b97fa836c6a4a0f93d38f924902f05051e1dec3fc33efe707c" + }, + "/ensure_file.ts": { + "size": 2873, + "checksum": "sha256-86a2fdbad16714289e9918e1adb877e6dc500b86fba1498191d1fcc7ff148865" + }, + "/_is_subdir.ts": { + "size": 982, + "checksum": "sha256-7d8272f006a0879284033f0e4f886315bb8748df4dfac3b8b3e9e3e761319beb" + }, + "/testdata/copy_file.txt": { + "size": 3, + "checksum": "sha256-486b9a6fc855abf48847e9639f3c090855c6aafdc22a13b10e3244c37f03d3e0" + }, + "/testdata/walk/ext/x.ts": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/unstable_errors.js": { + "size": 1257, + "checksum": "sha256-ba40299ab74e6c3d1ba5b9ef3d79a75c650f6c196f95ac55c75ec3cedd3141d2" + }, + "/testdata/walk/single_file/x": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/_is_same_path.ts": { + "size": 623, + "checksum": "sha256-a57d1c04154a90132e0842edd8f0a8959b7869843c12e9ca0c7fc997252003d0" + }, + "/eol.ts": { + "size": 1974, + "checksum": "sha256-b5d17236eeb69eafc34fc6bdaa84cf00755654629dc5a96325ba9f9ee6123d01" + }, + "/unstable_types.ts": { + "size": 3095, + "checksum": "sha256-2f2e18ff49bb21d7a71baa2a5d30f877687e65c8c61ec48facfb27f12d768824" + }, + "/testdata/walk/nested_single_file/a/x": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/ensure_link.ts": { + "size": 2115, + "checksum": "sha256-f7369a658d021749af2f692deea4e2b6b8d053de5c120d4181875daeadbf2cf7" + }, + "/ensure_dir.ts": { + "size": 3068, + "checksum": "sha256-50540018bca20786a0d7e231132bdf9b0f596a9099973dc8621ca8e9b5cfad55" + }, + "/testdata/walk/depth/a/b/c/d/x": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/_get_file_info_type.ts": { + "size": 617, + "checksum": "sha256-c9dcd0bc71d2f52c7e24ab45622ea9d907dc3ab8b16a4541b4eefe106e850cda" + }, + "/move_test.ts": { + "size": 16422, + "checksum": "sha256-fce1a5efc276787f03812e4a188bd2a010cf4f0d68beef379c700755e2199e68" + }, + "/ensure_link_test.ts": { + "size": 5843, + "checksum": "sha256-22b39eb262fca6bd5fb276cf054f1582c5d7712e60ce3ec41eca67dbac07d9a4" + }, + "/testdata/0.ts": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/glob/abcdefghi": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/copy_dir/nest/0.txt": { + "size": 4, + "checksum": "sha256-75ef2e329bdb50d26a4ce73c2aaa567364e4ac5b5f79f7cf6d64b4cd547a863c" + }, + "/testdata/walk/ext/z.py": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/testdata/walk/match/x": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/_utils.ts": { + "size": 835, + "checksum": "sha256-5af31c7a8229a1e6d9bef7f4daed8aa7fd1d17f3fc44a3c46228f0e6d5178ee6" + }, + "/deno.json": { + "size": 608, + "checksum": "sha256-08610ce4e795329a4660e9f1b8755b5c6a608132988214d8e4773b4db1deb23a" + }, + "/unstable_stat_test.ts": { + "size": 989, + "checksum": "sha256-bd1c5c0a9be0019f82c7371dbeecef1176ef2b19d83004bc30160b5d1c479f26" + }, + "/unstable_lstat_test.ts": { + "size": 1312, + "checksum": "sha256-114f725595a8807dc33daa71084b6c6033456d34548d4108d40ef7c0ecd4d522" + } + }, + "moduleGraph2": { + "/_utils.ts": {}, + "/walk.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/join", + "specifierRange": [ + [ + 4, + 21 + ], + [ + 4, + 48 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 5, + 29 + ], + [ + 5, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_create_walk_entry.ts", + "specifierRange": [ + [ + 10, + 7 + ], + [ + 10, + 32 + ] + ] + } + ] + }, + "/eol.ts": {}, + "/expand_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/glob-to-regexp", + "specifierRange": [ + [ + 1, + 47 + ], + [ + 1, + 84 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/join-globs", + "specifierRange": [ + [ + 2, + 26 + ], + [ + 2, + 59 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/is-glob", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/is-absolute", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/resolve", + "specifierRange": [ + [ + 5, + 24 + ], + [ + 5, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/constants", + "specifierRange": [ + [ + 6, + 34 + ], + [ + 6, + 66 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./walk.ts", + "specifierRange": [ + [ + 7, + 31 + ], + [ + 7, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 8, + 29 + ], + [ + 8, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_create_walk_entry.ts", + "specifierRange": [ + [ + 13, + 7 + ], + [ + 13, + 32 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./empty_dir.ts", + "specifierRange": [ + [ + 20, + 14 + ], + [ + 20, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./ensure_dir.ts", + "specifierRange": [ + [ + 21, + 14 + ], + [ + 21, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./ensure_file.ts", + "specifierRange": [ + [ + 22, + 14 + ], + [ + 22, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./ensure_link.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./ensure_symlink.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./exists.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./expand_glob.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./move.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./copy.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./walk.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./eol.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 24 + ] + ] + } + ] + }, + "/unstable_types.ts": {}, + "/_is_subdir.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/resolve", + "specifierRange": [ + [ + 3, + 24 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/constants", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 5, + 29 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/unstable_errors.d.ts": {}, + "/move.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_is_subdir.ts", + "specifierRange": [ + [ + 1, + 25 + ], + [ + 1, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_is_same_path.ts", + "specifierRange": [ + [ + 2, + 27 + ], + [ + 2, + 47 + ] + ] + } + ] + }, + "/_get_file_info_type.ts": {}, + "/empty_dir.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/join", + "specifierRange": [ + [ + 1, + 21 + ], + [ + 1, + 48 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 2, + 29 + ], + [ + 2, + 51 + ] + ] + } + ] + }, + "/unstable_errors.js": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_utils.ts", + "specifierRange": [ + [ + 4, + 23 + ], + [ + 4, + 36 + ] + ] + } + ], + "selfTypesSpecifier": { + "text": "./unstable_errors.d.ts", + "range": [ + [ + 2, + 18 + ], + [ + 2, + 42 + ] + ] + } + }, + "/ensure_link.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/dirname", + "specifierRange": [ + [ + 1, + 24 + ], + [ + 1, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./ensure_dir.ts", + "specifierRange": [ + [ + 2, + 41 + ], + [ + 2, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 3, + 29 + ], + [ + 3, + 51 + ] + ] + } + ] + }, + "/exists.ts": {}, + "/ensure_file.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/dirname", + "specifierRange": [ + [ + 1, + 24 + ], + [ + 1, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./ensure_dir.ts", + "specifierRange": [ + [ + 2, + 41 + ], + [ + 2, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_get_file_info_type.ts", + "specifierRange": [ + [ + 3, + 32 + ], + [ + 3, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 4, + 29 + ], + [ + 4, + 51 + ] + ] + } + ] + }, + "/_is_same_path.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/resolve", + "specifierRange": [ + [ + 3, + 24 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 4, + 29 + ], + [ + 4, + 51 + ] + ] + } + ] + }, + "/unstable_lstat.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_utils.ts", + "specifierRange": [ + [ + 2, + 34 + ], + [ + 2, + 47 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_map_error.ts", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_file_info.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 47 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./unstable_types.ts", + "specifierRange": [ + [ + 5, + 30 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/copy.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/basename", + "specifierRange": [ + [ + 2, + 25 + ], + [ + 2, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/join", + "specifierRange": [ + [ + 3, + 21 + ], + [ + 3, + 48 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/resolve", + "specifierRange": [ + [ + 4, + 24 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./ensure_dir.ts", + "specifierRange": [ + [ + 5, + 41 + ], + [ + 5, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_get_file_info_type.ts", + "specifierRange": [ + [ + 6, + 32 + ], + [ + 6, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 7, + 29 + ], + [ + 7, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_is_subdir.ts", + "specifierRange": [ + [ + 8, + 25 + ], + [ + 8, + 42 + ] + ] + } + ] + }, + "/ensure_symlink.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/dirname", + "specifierRange": [ + [ + 1, + 24 + ], + [ + 1, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/resolve", + "specifierRange": [ + [ + 2, + 24 + ], + [ + 2, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./ensure_dir.ts", + "specifierRange": [ + [ + 3, + 41 + ], + [ + 3, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_get_file_info_type.ts", + "specifierRange": [ + [ + 4, + 47 + ], + [ + 4, + 73 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 5, + 29 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/_create_walk_entry.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/basename", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/normalize", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_path_string.ts", + "specifierRange": [ + [ + 5, + 29 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/unstable_stat.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_utils.ts", + "specifierRange": [ + [ + 2, + 34 + ], + [ + 2, + 47 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_map_error.ts", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_to_file_info.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 47 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./unstable_types.ts", + "specifierRange": [ + [ + 5, + 30 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/ensure_dir.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_get_file_info_type.ts", + "specifierRange": [ + [ + 1, + 32 + ], + [ + 1, + 58 + ] + ] + } + ] + }, + "/_to_path_string.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/from-file-url", + "specifierRange": [ + [ + 3, + 28 + ], + [ + 3, + 64 + ] + ] + } + ] + }, + "/_to_file_info.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./unstable_types.ts", + "specifierRange": [ + [ + 2, + 30 + ], + [ + 2, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_utils.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 39 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "node:fs", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 46 + ] + ] + } + ] + }, + "/_map_error.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./unstable_errors.js", + "specifierRange": [ + [ + 2, + 24 + ], + [ + 2, + 46 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./copy": "./copy.ts", + "./empty-dir": "./empty_dir.ts", + "./ensure-dir": "./ensure_dir.ts", + "./ensure-file": "./ensure_file.ts", + "./ensure-link": "./ensure_link.ts", + "./ensure-symlink": "./ensure_symlink.ts", + "./eol": "./eol.ts", + "./exists": "./exists.ts", + "./expand-glob": "./expand_glob.ts", + "./move": "./move.ts", + "./unstable-lstat": "./unstable_lstat.ts", + "./unstable-stat": "./unstable_stat.ts", + "./unstable-types": "./unstable_types.ts", + "./walk": "./walk.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/fs/meta.json b/vendor/jsr.io/@std/fs/meta.json new file mode 100644 index 0000000..40da006 --- /dev/null +++ b/vendor/jsr.io/@std/fs/meta.json @@ -0,0 +1,65 @@ +{ + "scope": "std", + "name": "fs", + "latest": "1.0.9", + "versions": { + "0.209.0": {}, + "0.198.0": {}, + "0.197.0": {}, + "1.0.8": {}, + "1.0.0-rc.2": {}, + "0.196.0": {}, + "1.0.3": {}, + "0.228.0": { + "yanked": true + }, + "1.0.0-rc.4": {}, + "0.220.1": {}, + "0.218.0": {}, + "0.203.0": {}, + "0.212.0": {}, + "0.210.0": {}, + "0.204.0": {}, + "0.201.0": {}, + "0.217.0": {}, + "0.221.0": {}, + "0.211.0": {}, + "0.200.0": {}, + "1.0.9": {}, + "1.0.7": {}, + "1.0.0": {}, + "0.218.2": {}, + "0.229.0": { + "yanked": true + }, + "1.0.2": {}, + "1.0.6": {}, + "0.222.1": {}, + "0.218.1": {}, + "0.229.2": {}, + "0.213.1": {}, + "0.208.0": {}, + "0.224.0": {}, + "1.0.1": {}, + "1.0.0-rc.3": {}, + "0.214.0": {}, + "0.207.0": {}, + "0.222.0": {}, + "0.206.0": {}, + "0.202.0": {}, + "0.199.0": {}, + "0.229.3": {}, + "0.216.0": {}, + "0.219.1": {}, + "1.0.5": {}, + "1.0.0-rc.6": {}, + "0.229.1": {}, + "0.205.0": {}, + "0.223.0": {}, + "1.0.0-rc.5": {}, + "0.213.0": {}, + "1.0.4": {}, + "0.215.0": {}, + "1.0.0-rc.1": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/html/1.0.3/entities.ts b/vendor/jsr.io/@std/html/1.0.3/entities.ts new file mode 100644 index 0000000..17a60f9 --- /dev/null +++ b/vendor/jsr.io/@std/html/1.0.3/entities.ts @@ -0,0 +1,122 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** Object structure for a list of HTML entities. */ +export type EntityList = Record; + +const rawToEntityEntries = [ + ["&", "&"], + ["<", "<"], + [">", ">"], + ['"', """], + ["'", "'"], +] as const; + +const defaultEntityList: EntityList = Object.fromEntries([ + ...rawToEntityEntries.map(([raw, entity]) => [entity, raw]), + ["'", "'"], + [" ", "\xa0"], +]); + +const rawToEntity = new Map(rawToEntityEntries); + +const rawRe = new RegExp(`[${[...rawToEntity.keys()].join("")}]`, "g"); + +/** + * Escapes text for safe interpolation into HTML text content and quoted attributes. + * + * @example Usage + * ```ts + * import { escape } from "@std/html/entities"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(escape("<>'&AA"), "<>'&AA"); + * + * // Characters that don't need to be escaped will be left alone, + * // even if named HTML entities exist for them. + * assertEquals(escape("þð"), "þð"); + * ``` + * + * @param str The string to escape. + * @returns The escaped string. + */ +export function escape(str: string): string { + return str.replaceAll(rawRe, (m) => rawToEntity.get(m)!); +} + +/** Options for {@linkcode unescape}. */ +export type UnescapeOptions = { entityList: EntityList }; + +const defaultUnescapeOptions: UnescapeOptions = { + entityList: defaultEntityList, +}; + +const MAX_CODE_POINT = 0x10ffff; + +const RX_DEC_ENTITY = /&#([0-9]+);/g; +const RX_HEX_ENTITY = /&#x(\p{AHex}+);/gu; + +const entityListRegexCache = new WeakMap(); + +/** + * Unescapes HTML entities in text. + * + * Default options only handle `&<>'"` and numeric entities. + * + * @example Basic usage + * ```ts + * import { unescape } from "@std/html/entities"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(unescape("<>'&AA"), "<>'&AA"); + * assertEquals(unescape("þð"), "þð"); + * ``` + * + * @example Using a custom entity list + * + * This uses the full named entity list from the HTML spec (~47K un-minified) + * + * ```ts + * import { unescape } from "@std/html/entities"; + * import entityList from "@std/html/named-entity-list.json" with { type: "json" }; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(unescape("<>'&AA", { entityList }), "<>'&AA"); + * ``` + * + * @param str The string to unescape. + * @param options Options for unescaping. + * @returns The unescaped string. + */ +export function unescape( + str: string, + options: Partial = {}, +): string { + const { entityList } = { ...defaultUnescapeOptions, ...options }; + + let entityRe = entityListRegexCache.get(entityList); + + if (!entityRe) { + entityRe = new RegExp( + `(${ + Object.keys(entityList) + .sort((a, b) => b.length - a.length) + .join("|") + })`, + "g", + ); + + entityListRegexCache.set(entityList, entityRe); + } + + return str + .replaceAll(entityRe, (m) => entityList[m]!) + .replaceAll(RX_DEC_ENTITY, (_, dec) => codePointStrToChar(dec, 10)) + .replaceAll(RX_HEX_ENTITY, (_, hex) => codePointStrToChar(hex, 16)); +} + +function codePointStrToChar(codePointStr: string, radix: number) { + const codePoint = parseInt(codePointStr, radix); + + return codePoint > MAX_CODE_POINT ? "�" : String.fromCodePoint(codePoint); +} diff --git a/vendor/jsr.io/@std/html/1.0.3_meta.json b/vendor/jsr.io/@std/html/1.0.3_meta.json new file mode 100644 index 0000000..2a6be58 --- /dev/null +++ b/vendor/jsr.io/@std/html/1.0.3_meta.json @@ -0,0 +1,69 @@ +{ + "manifest": { + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/unstable_is_valid_custom_element_name.ts": { + "size": 1982, + "checksum": "sha256-b924aabcc17eb6355145b5951366d749345863a2b3e4916109e578d8fbd86fc3" + }, + "/entities.ts": { + "size": 3416, + "checksum": "sha256-71a76c246c9d5af0e1703b23b83d48b577beae2e03851e51432f4c594a62f60e" + }, + "/deno.json": { + "size": 276, + "checksum": "sha256-bbc8f690f20212185c72c5300c4277e6e1a2e5e553a2e9da43b25de2f3f6e375" + }, + "/unstable_is_valid_custom_element_name_test.ts": { + "size": 1708, + "checksum": "sha256-d70036657b19d4b9138875fd7e305912830359895a6e7cf47339470bbe244e9f" + }, + "/mod.ts": { + "size": 481, + "checksum": "sha256-9068365cdc1a1022d34a5ce933f07a0353c013749b4ef0ef1702b369da3f49e6" + }, + "/_tools/generate_data.ts": { + "size": 599, + "checksum": "sha256-23767311161d00427bfc21df5964684146b6b41deff097fc13ebf24c52b54eda" + }, + "/named_entity_list.json": { + "size": 47612, + "checksum": "sha256-899dd5a9f69cf7d99bb60964a95cf1da7f38b50b68ae378ca08b5df105a8fd35" + }, + "/entities_test.ts": { + "size": 3566, + "checksum": "sha256-5f056e58af58e7da9c603c87234f1339fe8bd280f754e5bffe59102f49d36d6a" + } + }, + "moduleGraph2": { + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./entities.ts", + "specifierRange": [ + [ + 17, + 14 + ], + [ + 17, + 29 + ] + ] + } + ] + }, + "/entities.ts": {}, + "/unstable_is_valid_custom_element_name.ts": {} + }, + "exports": { + ".": "./mod.ts", + "./entities": "./entities.ts", + "./unstable-is-valid-custom-element-name": "./unstable_is_valid_custom_element_name.ts", + "./named-entity-list.json": "./named_entity_list.json" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/html/meta.json b/vendor/jsr.io/@std/html/meta.json new file mode 100644 index 0000000..a119084 --- /dev/null +++ b/vendor/jsr.io/@std/html/meta.json @@ -0,0 +1,49 @@ +{ + "scope": "std", + "name": "html", + "latest": "1.0.3", + "versions": { + "0.203.0": {}, + "0.219.1": {}, + "0.215.0": {}, + "0.205.0": {}, + "1.0.0-rc.2": {}, + "0.207.0": {}, + "0.212.0": {}, + "0.224.1": {}, + "0.223.0": {}, + "0.213.1": {}, + "0.221.0": {}, + "0.208.0": {}, + "1.0.2": {}, + "0.210.0": {}, + "0.216.0": {}, + "0.219.0": {}, + "0.218.1": {}, + "0.222.1": {}, + "0.200.0": {}, + "0.198.0": {}, + "0.197.0": {}, + "1.0.0": {}, + "0.213.0": {}, + "0.201.0": {}, + "0.196.0": {}, + "0.218.0": {}, + "0.220.1": {}, + "0.217.0": {}, + "0.202.0": {}, + "0.199.0": {}, + "1.0.3": {}, + "0.209.0": {}, + "0.222.0": {}, + "0.224.2": {}, + "0.204.0": {}, + "1.0.0-rc.1": {}, + "0.211.0": {}, + "0.224.0": {}, + "0.218.2": {}, + "1.0.1": {}, + "0.214.0": {}, + "0.206.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/http/1.0.12/_negotiation/common.ts b/vendor/jsr.io/@std/http/1.0.12/_negotiation/common.ts new file mode 100644 index 0000000..ef3d887 --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/_negotiation/common.ts @@ -0,0 +1,51 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +/*! + * Adapted directly from negotiator at https://github.com/jshttp/negotiator/ + * which is licensed as follows: + * + * (The MIT License) + * + * Copyright (c) 2012-2014 Federico Romero + * Copyright (c) 2012-2014 Isaac Z. Schlueter + * Copyright (c) 2014-2015 Douglas Christopher Wilson + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * 'Software'), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +export interface Specificity { + i: number; + o: number | undefined; + q: number; + s: number | undefined; +} + +export function compareSpecs(a: Specificity, b: Specificity): number { + return ( + b.q - a.q || + (b.s ?? 0) - (a.s ?? 0) || + (a.o ?? 0) - (b.o ?? 0) || + a.i - b.i || + 0 + ); +} + +export function isQuality(spec: Specificity): boolean { + return spec.q > 0; +} diff --git a/vendor/jsr.io/@std/http/1.0.12/_negotiation/encoding.ts b/vendor/jsr.io/@std/http/1.0.12/_negotiation/encoding.ts new file mode 100644 index 0000000..4fe39ad --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/_negotiation/encoding.ts @@ -0,0 +1,164 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +/*! + * Adapted directly from negotiator at https://github.com/jshttp/negotiator/ + * which is licensed as follows: + * + * (The MIT License) + * + * Copyright (c) 2012-2014 Federico Romero + * Copyright (c) 2012-2014 Isaac Z. Schlueter + * Copyright (c) 2014-2015 Douglas Christopher Wilson + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * 'Software'), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +import { compareSpecs, isQuality, type Specificity } from "./common.ts"; + +interface EncodingSpecificity extends Specificity { + encoding?: string; +} + +const simpleEncodingRegExp = /^\s*([^\s;]+)\s*(?:;(.*))?$/; + +function parseEncoding( + str: string, + i: number, +): EncodingSpecificity | undefined { + const match = simpleEncodingRegExp.exec(str); + if (!match) { + return undefined; + } + + const encoding = match[1]!; + let q = 1; + if (match[2]) { + const params = match[2].split(";"); + for (const param of params) { + const p = param.trim().split("="); + if (p[0] === "q" && p[1]) { + q = parseFloat(p[1]); + break; + } + } + } + + return { encoding, o: undefined, q, i, s: undefined }; +} + +function specify( + encoding: string, + spec: EncodingSpecificity, + i = -1, +): Specificity | undefined { + if (!spec.encoding) { + return; + } + let s = 0; + if (spec.encoding.toLowerCase() === encoding.toLowerCase()) { + s = 1; + } else if (spec.encoding !== "*") { + return; + } + + return { + i, + o: spec.i, + q: spec.q, + s, + }; +} + +function parseAcceptEncoding(accept: string): EncodingSpecificity[] { + const accepts = accept.split(","); + const parsedAccepts: EncodingSpecificity[] = []; + let hasIdentity = false; + let minQuality = 1; + + for (const [i, accept] of accepts.entries()) { + const encoding = parseEncoding(accept.trim(), i); + + if (encoding) { + parsedAccepts.push(encoding); + hasIdentity = hasIdentity || !!specify("identity", encoding); + minQuality = Math.min(minQuality, encoding.q || 1); + } + } + + if (!hasIdentity) { + parsedAccepts.push({ + encoding: "identity", + o: undefined, + q: minQuality, + i: accepts.length - 1, + s: undefined, + }); + } + + return parsedAccepts; +} + +function getEncodingPriority( + encoding: string, + accepted: Specificity[], + index: number, +): Specificity { + let priority: Specificity = { o: -1, q: 0, s: 0, i: 0 }; + + for (const s of accepted) { + const spec = specify(encoding, s, index); + + if ( + spec && + (priority.s! - spec.s! || priority.q - spec.q || + priority.o! - spec.o!) < + 0 + ) { + priority = spec; + } + } + + return priority; +} + +/** Given an `Accept-Encoding` string, parse out the encoding returning a + * negotiated encoding based on the `provided` encodings otherwise just a + * prioritized array of encodings. */ +export function preferredEncodings( + accept: string, + provided?: string[], +): string[] { + const accepts = parseAcceptEncoding(accept); + + if (!provided) { + return accepts + .filter(isQuality) + .sort(compareSpecs) + .map((spec) => spec.encoding!); + } + + const priorities = provided.map((type, index) => + getEncodingPriority(type, accepts, index) + ); + + return priorities + .filter(isQuality) + .sort(compareSpecs) + .map((priority) => provided[priorities.indexOf(priority)]!); +} diff --git a/vendor/jsr.io/@std/http/1.0.12/_negotiation/language.ts b/vendor/jsr.io/@std/http/1.0.12/_negotiation/language.ts new file mode 100644 index 0000000..0f055bd --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/_negotiation/language.ts @@ -0,0 +1,148 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +/*! + * Adapted directly from negotiator at https://github.com/jshttp/negotiator/ + * which is licensed as follows: + * + * (The MIT License) + * + * Copyright (c) 2012-2014 Federico Romero + * Copyright (c) 2012-2014 Isaac Z. Schlueter + * Copyright (c) 2014-2015 Douglas Christopher Wilson + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * 'Software'), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +import { compareSpecs, isQuality, type Specificity } from "./common.ts"; + +interface LanguageSpecificity extends Specificity { + prefix: string; + suffix: string | undefined; + full: string; +} + +const SIMPLE_LANGUAGE_REGEXP = /^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/; + +function parseLanguage( + str: string, + i: number, +): LanguageSpecificity | undefined { + const match = SIMPLE_LANGUAGE_REGEXP.exec(str); + if (!match) { + return undefined; + } + + const [, prefix, suffix] = match; + if (!prefix) { + return undefined; + } + + const full = suffix !== undefined ? `${prefix}-${suffix}` : prefix; + + let q = 1; + if (match[3]) { + const params = match[3].split(";"); + for (const param of params) { + const [key, value] = param.trim().split("="); + if (key === "q" && value) { + q = parseFloat(value); + break; + } + } + } + + return { prefix, suffix, full, i, o: undefined, q, s: undefined }; +} + +function parseAcceptLanguage(accept: string): LanguageSpecificity[] { + const accepts = accept.split(","); + const result: LanguageSpecificity[] = []; + + for (const [i, accept] of accepts.entries()) { + const language = parseLanguage(accept.trim(), i); + if (language) { + result.push(language); + } + } + return result; +} + +function specify( + language: string, + spec: LanguageSpecificity, + i: number, +): Specificity | undefined { + const p = parseLanguage(language, i); + if (!p) { + return undefined; + } + let s = 0; + if (spec.full.toLowerCase() === p.full.toLowerCase()) { + s |= 4; + } else if (spec.prefix.toLowerCase() === p.prefix.toLowerCase()) { + s |= 2; + } else if (spec.full.toLowerCase() === p.prefix.toLowerCase()) { + s |= 1; + } else if (spec.full !== "*") { + return; + } + + return { i, o: spec.i, q: spec.q, s }; +} + +function getLanguagePriority( + language: string, + accepted: LanguageSpecificity[], + index: number, +): Specificity { + let priority: Specificity = { i: -1, o: -1, q: 0, s: 0 }; + for (const accepts of accepted) { + const spec = specify(language, accepts, index); + if ( + spec && + ((priority.s ?? 0) - (spec.s ?? 0) || priority.q - spec.q || + (priority.o ?? 0) - (spec.o ?? 0)) < 0 + ) { + priority = spec; + } + } + return priority; +} + +export function preferredLanguages( + accept = "*", + provided?: string[], +): string[] { + const accepts = parseAcceptLanguage(accept); + + if (!provided) { + return accepts + .filter(isQuality) + .sort(compareSpecs) + .map((spec) => spec.full); + } + + const priorities = provided + .map((type, index) => getLanguagePriority(type, accepts, index)); + + return priorities + .filter(isQuality) + .sort(compareSpecs) + .map((priority) => provided[priorities.indexOf(priority)]!); +} diff --git a/vendor/jsr.io/@std/http/1.0.12/_negotiation/media_type.ts b/vendor/jsr.io/@std/http/1.0.12/_negotiation/media_type.ts new file mode 100644 index 0000000..99a26dc --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/_negotiation/media_type.ts @@ -0,0 +1,196 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +/*! + * Adapted directly from negotiator at https://github.com/jshttp/negotiator/ + * which is licensed as follows: + * + * (The MIT License) + * + * Copyright (c) 2012-2014 Federico Romero + * Copyright (c) 2012-2014 Isaac Z. Schlueter + * Copyright (c) 2014-2015 Douglas Christopher Wilson + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * 'Software'), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +import { compareSpecs, isQuality, type Specificity } from "./common.ts"; + +interface MediaTypeSpecificity extends Specificity { + type: string; + subtype: string; + params: { [param: string]: string | undefined }; +} + +const simpleMediaTypeRegExp = /^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/; + +function splitKeyValuePair(str: string): [string, string | undefined] { + const [key, value] = str.split("="); + return [key!.toLowerCase(), value]; +} + +function parseMediaType( + str: string, + i: number, +): MediaTypeSpecificity | undefined { + const match = simpleMediaTypeRegExp.exec(str); + + if (!match) { + return; + } + + const [, type, subtype, parameters] = match; + if (!type || !subtype) { + return; + } + + const params: { [param: string]: string | undefined } = Object.create(null); + let q = 1; + if (parameters) { + const kvps = parameters.split(";").map((p) => p.trim()).map( + splitKeyValuePair, + ); + + for (const [key, val] of kvps) { + const value = val && val[0] === `"` && val[val.length - 1] === `"` + ? val.slice(1, val.length - 1) + : val; + + if (key === "q" && value) { + q = parseFloat(value); + break; + } + + params[key] = value; + } + } + + return { type, subtype, params, i, o: undefined, q, s: undefined }; +} + +function parseAccept(accept: string): MediaTypeSpecificity[] { + const accepts = accept.split(",").map((p) => p.trim()); + + const mediaTypes: MediaTypeSpecificity[] = []; + for (const [index, accept] of accepts.entries()) { + const mediaType = parseMediaType(accept.trim(), index); + + if (mediaType) { + mediaTypes.push(mediaType); + } + } + + return mediaTypes; +} + +function getFullType(spec: MediaTypeSpecificity) { + return `${spec.type}/${spec.subtype}`; +} + +function specify( + type: string, + spec: MediaTypeSpecificity, + index: number, +): Specificity | undefined { + const p = parseMediaType(type, index); + + if (!p) { + return; + } + + let s = 0; + + if (spec.type.toLowerCase() === p.type.toLowerCase()) { + s |= 4; + } else if (spec.type !== "*") { + return; + } + + if (spec.subtype.toLowerCase() === p.subtype.toLowerCase()) { + s |= 2; + } else if (spec.subtype !== "*") { + return; + } + + const keys = Object.keys(spec.params); + if (keys.length) { + if ( + keys.every((key) => + (spec.params[key] ?? "").toLowerCase() === + (p.params[key] ?? "").toLowerCase() + ) + ) { + s |= 1; + } else { + return; + } + } + + return { + i: index, + o: spec.o, + q: spec.q, + s, + }; +} + +function getMediaTypePriority( + type: string, + accepted: MediaTypeSpecificity[], + index: number, +) { + let priority: Specificity = { o: -1, q: 0, s: 0, i: index }; + + for (const accepts of accepted) { + const spec = specify(type, accepts, index); + + if ( + spec && + ((priority.s ?? 0) - (spec.s ?? 0) || + (priority.q ?? 0) - (spec.q ?? 0) || + (priority.o ?? 0) - (spec.o ?? 0)) < 0 + ) { + priority = spec; + } + } + + return priority; +} + +export function preferredMediaTypes( + accept?: string | null, + provided?: string[], +): string[] { + const accepts = parseAccept(accept === undefined ? "*/*" : accept ?? ""); + + if (!provided) { + return accepts + .filter(isQuality) + .sort(compareSpecs) + .map(getFullType); + } + + const priorities = provided.map((type, index) => { + return getMediaTypePriority(type, accepts, index); + }); + + return priorities + .filter(isQuality) + .sort(compareSpecs) + .map((priority) => provided[priorities.indexOf(priority)]!); +} diff --git a/vendor/jsr.io/@std/http/1.0.12/cookie.ts b/vendor/jsr.io/@std/http/1.0.12/cookie.ts new file mode 100644 index 0000000..9899a97 --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/cookie.ts @@ -0,0 +1,465 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Structured similarly to Go's cookie.go +// https://github.com/golang/go/blob/master/src/net/http/cookie.go +// This module is browser compatible. + +/** + * Represents an HTTP Cookie. + * + * @see {@link https://www.rfc-editor.org/rfc/rfc6265.html#section-4.2.1} + */ +export interface Cookie { + /** Name of the cookie. */ + name: string; + /** Value of the cookie. */ + value: string; + /** + * The cookie's `Expires` attribute, either as an explicit date or UTC + * milliseconds. If `undefined`, the cookie will expire when the client's + * session ends. + * + * @example Explicit date: + * + * ```ts + * import { Cookie } from "@std/http/cookie"; + * const cookie: Cookie = { + * name: 'name', + * value: 'value', + * // expires on Fri Dec 30 2022 + * expires: new Date('2022-12-31') + * } + * ``` + * + * @example UTC milliseconds + * + * ```ts + * import { Cookie } from "@std/http/cookie"; + * const cookie: Cookie = { + * name: 'name', + * value: 'value', + * // expires 10 seconds from now + * expires: Date.now() + 10000 + * } + * ``` + */ + expires?: Date | number; + /** + * The cookie's `Max-Age` attribute, in seconds. Must be a non-negative + * integer. A cookie with a `maxAge` of `0` expires immediately. + */ + maxAge?: number; + /** + * The cookie's `Domain` attribute. Specifies those hosts to which the cookie + * will be sent. + */ + domain?: string; + /** + * The cookie's `Path` attribute. A cookie with a path will only be included + * in the `Cookie` request header if the requested URL matches that path. + */ + path?: string; + /** + * The cookie's `Secure` attribute. If `true`, the cookie will only be + * included in the `Cookie` request header if the connection uses SSL and + * HTTPS. + * + * @default {false} + */ + secure?: boolean; + /** + * The cookie's `HTTPOnly` attribute. If `true`, the cookie cannot be accessed via JavaScript. + * + * @default {false} + */ + httpOnly?: boolean; + /** + * The cookie's `Partitioned` attribute. + * If `true`, the cookie will be only be included in the `Cookie` request header if + * the domain it is embedded by matches the domain the cookie was originally set from. + * + * Warning: This is an attribute that has not been fully standardized yet. + * It may change in the future without following the semver semantics of the package. + * Clients may ignore the attribute until they understand it. + * + * @default {false} + */ + partitioned?: boolean; + /** + * Allows servers to assert that a cookie ought not to + * be sent along with cross-site requests. + */ + sameSite?: "Strict" | "Lax" | "None"; + /** + * Additional key value pairs with the form "key=value". + * + * @default {[]} + */ + unparsed?: string[]; +} + +const FIELD_CONTENT_REGEXP = /^(?=[\x20-\x7E]*$)[^()@<>,;:\\"\[\]?={}\s]+$/; + +function toString(cookie: Cookie): string { + if (!cookie.name) { + return ""; + } + const out: string[] = []; + validateName(cookie.name); + validateValue(cookie.name, cookie.value); + out.push(`${cookie.name}=${cookie.value}`); + + // Fallback for invalid Set-Cookie + // ref: https://www.rfc-editor.org/rfc/rfc6265.html#section-3.1 + if (cookie.name.startsWith("__Secure")) { + cookie.secure = true; + } + if (cookie.name.startsWith("__Host")) { + cookie.path = "/"; + cookie.secure = true; + delete cookie.domain; + } + + if (cookie.secure) { + out.push("Secure"); + } + if (cookie.httpOnly) { + out.push("HttpOnly"); + } + if (cookie.partitioned) { + out.push("Partitioned"); + } + if (typeof cookie.maxAge === "number" && Number.isInteger(cookie.maxAge)) { + if (cookie.maxAge < 0) { + throw new RangeError( + `Cannot serialize cookie as Max-Age must be >= 0: received ${cookie.maxAge}`, + ); + } + out.push(`Max-Age=${cookie.maxAge}`); + } + if (cookie.domain) { + validateDomain(cookie.domain); + out.push(`Domain=${cookie.domain}`); + } + if (cookie.sameSite) { + out.push(`SameSite=${cookie.sameSite}`); + } + if (cookie.path) { + validatePath(cookie.path); + out.push(`Path=${cookie.path}`); + } + if (cookie.expires) { + const { expires } = cookie; + const date = typeof expires === "number" ? new Date(expires) : expires; + out.push(`Expires=${date.toUTCString()}`); + } + if (cookie.unparsed) { + out.push(cookie.unparsed.join("; ")); + } + return out.join("; "); +} + +/** + * Validate Cookie Name. + * @param name Cookie name. + */ +function validateName(name: string | undefined | null) { + if (name && !FIELD_CONTENT_REGEXP.test(name)) { + throw new SyntaxError(`Invalid cookie name: "${name}"`); + } +} + +/** + * Validate Path Value. + * See {@link https://www.rfc-editor.org/rfc/rfc6265.html#section-4.1.2.4}. + * @param path Path value. + */ +function validatePath(path: string | null) { + if (path === null) { + return; + } + for (let i = 0; i < path.length; i++) { + const c = path.charAt(i); + if ( + c < String.fromCharCode(0x20) || c > String.fromCharCode(0x7E) || + c === ";" + ) { + throw new SyntaxError( + `Cookie path "${path}" contains invalid character: "${c}"`, + ); + } + } +} + +/** + * Validate Cookie Value. + * See {@link https://www.rfc-editor.org/rfc/rfc6265.html#section-4.1}. + * @param value Cookie value. + */ +function validateValue(name: string, value: string | null) { + if (value === null) return; + for (let i = 0; i < value.length; i++) { + const c = value.charAt(i); + if ( + c < String.fromCharCode(0x21) || c === String.fromCharCode(0x22) || + c === String.fromCharCode(0x2c) || c === String.fromCharCode(0x3b) || + c === String.fromCharCode(0x5c) || c === String.fromCharCode(0x7f) + ) { + throw new SyntaxError( + "RFC2616 cookie '" + name + "' cannot contain character '" + c + "'", + ); + } + if (c > String.fromCharCode(0x80)) { + throw new SyntaxError( + "RFC2616 cookie '" + name + + "' can only have US-ASCII chars as value: It contains 0x" + + c.charCodeAt(0).toString(16), + ); + } + } +} + +/** + * Validate Cookie Domain. + * See {@link https://www.rfc-editor.org/rfc/rfc6265.html#section-4.1.2.3}. + * @param domain Cookie domain. + */ +function validateDomain(domain: string) { + const char1 = domain.charAt(0); + const charN = domain.charAt(domain.length - 1); + if (char1 === "-" || charN === "." || charN === "-") { + throw new SyntaxError( + "Invalid first/last char in cookie domain: " + domain, + ); + } +} + +/** + * Parse cookies of a header + * + * @example Usage + * ```ts + * import { getCookies } from "@std/http/cookie"; + * import { assertEquals } from "@std/assert"; + * + * const headers = new Headers(); + * headers.set("Cookie", "full=of; tasty=chocolate"); + * + * const cookies = getCookies(headers); + * assertEquals(cookies, { full: "of", tasty: "chocolate" }); + * ``` + * + * @param headers The headers instance to get cookies from + * @return Object with cookie names as keys + */ +export function getCookies(headers: Headers): Record { + const cookie = headers.get("Cookie"); + if (cookie !== null) { + const out: Record = {}; + const c = cookie.split(";"); + for (const kv of c) { + const [cookieKey, ...cookieVal] = kv.split("="); + if (cookieKey === undefined) { + throw new SyntaxError("Cookie cannot start with '='"); + } + const key = cookieKey.trim(); + out[key] = cookieVal.join("="); + } + return out; + } + return {}; +} + +/** + * Set the cookie header properly in the headers + * + * @example Usage + * ```ts + * import { Cookie, setCookie } from "@std/http/cookie"; + * import { assertEquals } from "@std/assert"; + * + * const headers = new Headers(); + * const cookie: Cookie = { name: "Space", value: "Cat" }; + * setCookie(headers, cookie); + * + * const cookieHeader = headers.get("set-cookie"); + * + * assertEquals(cookieHeader, "Space=Cat"); + * ``` + * + * @param headers The headers instance to set the cookie to + * @param cookie Cookie to set + */ +export function setCookie(headers: Headers, cookie: Cookie) { + // Parsing cookie headers to make consistent set-cookie header + // ref: https://www.rfc-editor.org/rfc/rfc6265.html#section-4.1.1 + const v = toString(cookie); + if (v) { + headers.append("Set-Cookie", v); + } +} + +/** + * Set the cookie header with empty value in the headers to delete it. + * + * The attributes (`path`, `domain`, `secure`, `httpOnly`, `partitioned`) need + * to match the values when the cookie was set. + * + * > Note: Deleting a `Cookie` will set its expiration date before now. Forcing + * > the browser to delete it. + * + * @example Usage + * ```ts + * import { deleteCookie } from "@std/http/cookie"; + * import { assertEquals } from "@std/assert"; + * + * const headers = new Headers(); + * deleteCookie(headers, "deno"); + * + * const cookieHeader = headers.get("set-cookie"); + * + * assertEquals(cookieHeader, "deno=; Expires=Thu, 01 Jan 1970 00:00:00 GMT"); + * ``` + * + * @param headers The headers instance to delete the cookie from + * @param name Name of cookie + * @param attributes Additional cookie attributes + */ +export function deleteCookie( + headers: Headers, + name: string, + attributes?: Pick< + Cookie, + "path" | "domain" | "secure" | "httpOnly" | "partitioned" + >, +) { + setCookie(headers, { + name: name, + value: "", + expires: new Date(0), + ...attributes, + }); +} + +function parseSetCookie(value: string): Cookie | null { + const attrs = value + .split(";") + .map((attr) => { + const [key, ...values] = attr.trim().split("="); + return [key!, values.join("=")] as const; + }); + + if (!attrs[0]) { + return null; + } + + const cookie: Cookie = { + name: attrs[0][0], + value: attrs[0][1], + }; + + for (const [key, value] of attrs.slice(1)) { + switch (key.toLowerCase()) { + case "expires": + cookie.expires = new Date(value); + break; + case "max-age": + cookie.maxAge = Number(value); + if (cookie.maxAge < 0) { + // deno-lint-ignore no-console + console.warn( + "Max-Age must be an integer superior or equal to 0. Cookie ignored.", + ); + return null; + } + break; + case "domain": + cookie.domain = value; + break; + case "path": + cookie.path = value; + break; + case "secure": + cookie.secure = true; + break; + case "httponly": + cookie.httpOnly = true; + break; + case "samesite": + cookie.sameSite = value as NonNullable; + break; + default: + if (!Array.isArray(cookie.unparsed)) { + cookie.unparsed = []; + } + cookie.unparsed.push([key, value].join("=")); + } + } + if (cookie.name.startsWith("__Secure-")) { + /** This requirement is mentioned in https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie but not the RFC. */ + if (!cookie.secure) { + // deno-lint-ignore no-console + console.warn( + "Cookies with names starting with `__Secure-` must be set with the secure flag. Cookie ignored.", + ); + return null; + } + } + if (cookie.name.startsWith("__Host-")) { + if (!cookie.secure) { + // deno-lint-ignore no-console + console.warn( + "Cookies with names starting with `__Host-` must be set with the secure flag. Cookie ignored.", + ); + return null; + } + if (cookie.domain !== undefined) { + // deno-lint-ignore no-console + console.warn( + "Cookies with names starting with `__Host-` must not have a domain specified. Cookie ignored.", + ); + return null; + } + if (cookie.path !== "/") { + // deno-lint-ignore no-console + console.warn( + "Cookies with names starting with `__Host-` must have path be `/`. Cookie has been ignored.", + ); + return null; + } + } + return cookie; +} + +/** + * Parse set-cookies of a header + * + * @example Usage + * ```ts + * import { getSetCookies } from "@std/http/cookie"; + * import { assertEquals } from "@std/assert"; + * + * const headers = new Headers([ + * ["Set-Cookie", "lulu=meow; Secure; Max-Age=3600"], + * ["Set-Cookie", "booya=kasha; HttpOnly; Path=/"], + * ]); + * + * const cookies = getSetCookies(headers); + * + * assertEquals(cookies[0], { + * name: "lulu", + * value: "meow", + * secure: true, + * maxAge: 3600 + * }); + * ``` + * + * @param headers The headers instance to get set-cookies from + * @return List of cookies + */ +export function getSetCookies(headers: Headers): Cookie[] { + return headers.getSetCookie() + /** Parse each `set-cookie` header separately */ + .map(parseSetCookie) + /** Skip empty cookies */ + .filter(Boolean) as Cookie[]; +} diff --git a/vendor/jsr.io/@std/http/1.0.12/deno.json b/vendor/jsr.io/@std/http/1.0.12/deno.json new file mode 100644 index 0000000..93ba1b5 --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/deno.json @@ -0,0 +1,18 @@ +{ + "name": "@std/http", + "version": "1.0.12", + "exports": { + ".": "./mod.ts", + "./cookie": "./cookie.ts", + "./etag": "./etag.ts", + "./file-server": "./file_server.ts", + "./unstable-header": "./unstable_header.ts", + "./unstable-method": "./unstable_method.ts", + "./negotiation": "./negotiation.ts", + "./server-sent-event-stream": "./server_sent_event_stream.ts", + "./status": "./status.ts", + "./unstable-signed-cookie": "./unstable_signed_cookie.ts", + "./user-agent": "./user_agent.ts", + "./unstable-route": "./unstable_route.ts" + } +} diff --git a/vendor/jsr.io/@std/http/1.0.12/etag.ts b/vendor/jsr.io/@std/http/1.0.12/etag.ts new file mode 100644 index 0000000..14e53de --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/etag.ts @@ -0,0 +1,263 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Provides functions for dealing with and matching ETags, including + * {@linkcode eTag} to calculate an etag for a given entity, + * {@linkcode ifMatch} for validating if an ETag matches against a `If-Match` + * header and {@linkcode ifNoneMatch} for validating an Etag against an + * `If-None-Match` header. + * + * See further information on the `ETag` header on + * {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag | MDN}. + * + * @module + */ + +import { encodeBase64 as base64Encode } from "jsr:@std/encoding@^1.0.5/base64"; + +/** + * Just the part of {@linkcode Deno.FileInfo} that is required to calculate an `ETag`, + * so partial or user generated file information can be passed. + */ +export interface FileInfo { + /** The last modification time of the file. This corresponds to the `mtime` + * field from `stat` on Linux/Mac OS and `ftLastWriteTime` on Windows. This + * may not be available on all platforms. */ + mtime: Date | null; + /** The size of the file, in bytes. */ + size: number; +} + +const encoder = new TextEncoder(); + +const DEFAULT_ALGORITHM: AlgorithmIdentifier = "SHA-256"; + +/** Options for {@linkcode eTag}. */ +export interface ETagOptions { + /** + * A digest algorithm to use to calculate the etag. + * + * @default {"SHA-256"} + */ + algorithm?: AlgorithmIdentifier; + + /** + * Override the default behavior of calculating the `ETag`, either forcing + * a tag to be labelled weak or not. + * + * Defaults to `true` when the entity is a `FileInfo` and `false` otherwise. + */ + weak?: boolean; +} + +function isFileInfo(value: unknown): value is FileInfo { + return Boolean( + value && typeof value === "object" && "mtime" in value && "size" in value, + ); +} + +async function calcEntity( + entity: string | Uint8Array, + { algorithm = DEFAULT_ALGORITHM }: ETagOptions, +) { + // a short circuit for zero length entities + if (entity.length === 0) { + return `0-47DEQpj8HBSa+/TImW+5JCeuQeR`; + } + + if (typeof entity === "string") { + entity = encoder.encode(entity); + } + + const hash = base64Encode(await crypto.subtle.digest(algorithm, entity)) + .substring(0, 27); + + return `${entity.length.toString(16)}-${hash}`; +} + +async function calcFileInfo( + fileInfo: FileInfo, + { algorithm = DEFAULT_ALGORITHM }: ETagOptions, +) { + if (fileInfo.mtime) { + const hash = base64Encode( + await crypto.subtle.digest( + algorithm, + encoder.encode(fileInfo.mtime.toJSON()), + ), + ).substring(0, 27); + return `${fileInfo.size.toString(16)}-${hash}`; + } +} + +/** + * Calculate an ETag for string or `Uint8Array` entities. This returns a + * {@linkcode https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag#etag_value | strong tag} + * of the form `""`, which guarantees the byte-for-byte equality of the resource. + * + * You can optionally set true to the `weak` option to get a weak tag. + * + * @example Usage + * ```ts + * import { eTag } from "@std/http/etag"; + * import { assert } from "@std/assert"; + * + * const body = "hello deno!"; + * + * const etag = await eTag(body); + * assert(etag); + * + * const res = new Response(body, { headers: { etag } }); + * ``` + * + * @param entity The entity to get the ETag for. + * @param options Various additional options. + * @returns The calculated ETag. + */ +export async function eTag( + entity: string | Uint8Array, + options?: ETagOptions, +): Promise; +/** + * Calculate an ETag for file information entity. This returns a + * {@linkcode https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag#w | weak tag} + * of the form `W\""`, which guarantees the equivalence of the resource, + * not the byte-for-byte equality. + * + * @example Usage + * ```ts + * import { eTag } from "@std/http/etag"; + * import { assert } from "@std/assert"; + * + * const fileInfo = await Deno.stat("README.md"); + * + * const etag = await eTag(fileInfo); + * assert(etag); + * + * using file = await Deno.open("README.md"); + * + * const res = new Response(file.readable, { headers: { etag } }); + * ``` + * + * @param entity The entity to get the ETag for. + * @param options Various additional options. + * @returns The calculated ETag. + */ +export async function eTag( + entity: FileInfo, + options?: ETagOptions, +): Promise; +export async function eTag( + entity: string | Uint8Array | FileInfo, + options: ETagOptions = {}, +): Promise { + const weak = options.weak ?? isFileInfo(entity); + const tag = + await (isFileInfo(entity) + ? calcFileInfo(entity, options) + : calcEntity(entity, options)); + + return tag ? weak ? `W/"${tag}"` : `"${tag}"` : undefined; +} + +const STAR_REGEXP = /^\s*\*\s*$/; +const COMMA_REGEXP = /\s*,\s*/; + +/** A helper function that takes the value from the `If-Match` header and a + * calculated etag for the target. By using strong comparison, return `true` if + * the values match, otherwise `false`. + * + * See MDN's [`If-Match`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Match) + * article for more information on how to use this function. + * + * @example Usage + * ```ts ignore + * import { + * eTag, + * ifMatch, + * } from "@std/http/etag"; + * import { assert } from "@std/assert"; + * + * const body = "hello deno!"; + * + * Deno.serve(async (req) => { + * const ifMatchValue = req.headers.get("if-match"); + * const etag = await eTag(body); + * assert(etag); + * if (!ifMatchValue || ifMatch(ifMatchValue, etag)) { + * return new Response(body, { status: 200, headers: { etag } }); + * } else { + * return new Response(null, { status: 412, statusText: "Precondition Failed"}); + * } + * }); + * ``` + * + * @param value the If-Match header value. + * @param etag the ETag to check against. + * @returns whether or not the parameters match. + */ +export function ifMatch( + value: string | null, + etag: string | undefined, +): boolean { + // Weak tags cannot be matched and return false. + if (!value || !etag || etag.startsWith("W/")) { + return false; + } + if (STAR_REGEXP.test(value)) { + return true; + } + const tags = value.split(COMMA_REGEXP); + return tags.includes(etag); +} + +/** A helper function that takes the value from the `If-None-Match` header and + * a calculated etag for the target entity and returns `false` if the etag for + * the entity matches the supplied value, otherwise `true`. + * + * See MDN's [`If-None-Match`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match) + * article for more information on how to use this function. + * + * @example Usage + * ```ts ignore + * import { + * eTag, + * ifNoneMatch, + * } from "@std/http/etag"; + * import { assert } from "@std/assert"; + * + * const body = "hello deno!"; + * + * Deno.serve(async (req) => { + * const ifNoneMatchValue = req.headers.get("if-none-match"); + * const etag = await eTag(body); + * assert(etag); + * if (!ifNoneMatch(ifNoneMatchValue, etag)) { + * return new Response(null, { status: 304, headers: { etag } }); + * } else { + * return new Response(body, { status: 200, headers: { etag } }); + * } + * }); + * ``` + * + * @param value the If-None-Match header value. + * @param etag the ETag to check against. + * @returns whether or not the parameters do not match. + */ +export function ifNoneMatch( + value: string | null, + etag: string | undefined, +): boolean { + if (!value || !etag) { + return true; + } + if (STAR_REGEXP.test(value)) { + return false; + } + etag = etag.startsWith("W/") ? etag.slice(2) : etag; + const tags = value.split(COMMA_REGEXP).map((tag) => + tag.startsWith("W/") ? tag.slice(2) : tag + ); + return !tags.includes(etag); +} diff --git a/vendor/jsr.io/@std/http/1.0.12/file_server.ts b/vendor/jsr.io/@std/http/1.0.12/file_server.ts new file mode 100644 index 0000000..4d42cae --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/file_server.ts @@ -0,0 +1,930 @@ +#!/usr/bin/env -S deno run --allow-net --allow-read +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +// This program serves files in the current directory over HTTP. +// TODO(bartlomieju): Add tests like these: +// https://github.com/indexzero/http-server/blob/master/test/http-server-test.js + +/** + * Contains functions {@linkcode serveDir} and {@linkcode serveFile} for + * building a static file server. + * + * This module can also be used as a CLI. If you want to run it directly: + * + * ```shell + * > # start server + * > deno run --allow-net --allow-read --allow-sys jsr:@std/http/file-server + * > # show help + * > deno run jsr:@std/http/file-server --help + * ``` + * + * If you want to install and run: + * + * ```shell + * > # install + * > deno install --allow-net --allow-read --allow-sys --global jsr:@std/http/file-server + * > # start server + * > file-server + * > # show help + * > file-server --help + * ``` + * + * @module + */ + +import { join as posixJoin } from "jsr:@std/path@^1.0.8/posix/join"; +import { normalize as posixNormalize } from "jsr:@std/path@^1.0.8/posix/normalize"; +import { extname } from "jsr:@std/path@^1.0.8/extname"; +import { join } from "jsr:@std/path@^1.0.8/join"; +import { relative } from "jsr:@std/path@^1.0.8/relative"; +import { resolve } from "jsr:@std/path@^1.0.8/resolve"; +import { SEPARATOR_PATTERN } from "jsr:@std/path@^1.0.8/constants"; +import { contentType } from "jsr:@std/media-types@^1.1.0/content-type"; +import { eTag, ifNoneMatch } from "./etag.ts"; +import { + isRedirectStatus, + STATUS_CODE, + STATUS_TEXT, + type StatusCode, +} from "./status.ts"; +import { ByteSliceStream } from "jsr:@std/streams@^1.0.8/byte-slice-stream"; +import { parseArgs } from "jsr:@std/cli@^1.0.8/parse-args"; +import denoConfig from "./deno.json" with { type: "json" }; +import { format as formatBytes } from "jsr:@std/fmt@^1.0.3/bytes"; +import { getNetworkAddress } from "jsr:@std/net@^1.0.4/unstable-get-network-address"; +import { escape } from "jsr:@std/html@^1.0.3/entities"; +import { HEADER } from "./unstable_header.ts"; +import { METHOD } from "./unstable_method.ts"; + +interface EntryInfo { + mode: string; + size: string; + url: string; + name: string; +} + +const ENV_PERM_STATUS = + Deno.permissions.querySync?.({ name: "env", variable: "DENO_DEPLOYMENT_ID" }) + .state ?? "granted"; // for deno deploy +const NET_PERM_STATUS = + Deno.permissions.querySync?.({ name: "sys", kind: "networkInterfaces" }) + .state ?? "granted"; // for deno deploy +const DENO_DEPLOYMENT_ID = ENV_PERM_STATUS === "granted" + ? Deno.env.get("DENO_DEPLOYMENT_ID") + : undefined; +const HASHED_DENO_DEPLOYMENT_ID = DENO_DEPLOYMENT_ID + ? eTag(DENO_DEPLOYMENT_ID, { weak: true }) + : undefined; + +function modeToString(isDir: boolean, maybeMode: number | null): string { + const modeMap = ["---", "--x", "-w-", "-wx", "r--", "r-x", "rw-", "rwx"]; + + if (maybeMode === null) { + return "(unknown mode)"; + } + const mode = maybeMode.toString(8).padStart(3, "0"); + let output = ""; + mode + .split("") + .reverse() + .slice(0, 3) + .forEach((v) => { + output = `${modeMap[+v]} ${output}`; + }); + output = `${isDir ? "d" : "-"} ${output}`; + return output; +} + +function createStandardResponse(status: StatusCode, init?: ResponseInit) { + const statusText = STATUS_TEXT[status]; + return new Response(statusText, { status, statusText, ...init }); +} + +/** + * parse range header. + * + * ```ts ignore + * parseRangeHeader("bytes=0-100", 500); // => { start: 0, end: 100 } + * parseRangeHeader("bytes=0-", 500); // => { start: 0, end: 499 } + * parseRangeHeader("bytes=-100", 500); // => { start: 400, end: 499 } + * parseRangeHeader("bytes=invalid", 500); // => null + * ``` + * + * Note: Currently, no support for multiple Ranges (e.g. `bytes=0-10, 20-30`) + */ +function parseRangeHeader(rangeValue: string, fileSize: number) { + const rangeRegex = /bytes=(?\d+)?-(?\d+)?$/u; + const parsed = rangeValue.match(rangeRegex); + + if (!parsed || !parsed.groups) { + // failed to parse range header + return null; + } + + const { start, end } = parsed.groups; + if (start !== undefined) { + if (end !== undefined) { + return { start: +start, end: +end }; + } else { + return { start: +start, end: fileSize - 1 }; + } + } else { + if (end !== undefined) { + // example: `bytes=-100` means the last 100 bytes. + return { start: fileSize - +end, end: fileSize - 1 }; + } else { + // failed to parse range header + return null; + } + } +} + +/** Options for {@linkcode serveFile}. */ +export interface ServeFileOptions { + /** + * The algorithm to use for generating the ETag. + * + * @default {"SHA-256"} + */ + etagAlgorithm?: AlgorithmIdentifier; + /** + * An optional object returned by {@linkcode Deno.stat}. It is used for + * optimization purposes. + * + * Defaults to the result of calling {@linkcode Deno.stat} with the provided + * `filePath`. + */ + fileInfo?: Deno.FileInfo; +} + +/** + * Resolves a {@linkcode Response} with the requested file as the body. + * + * @example Usage + * ```ts ignore + * import { serveFile } from "@std/http/file-server"; + * + * Deno.serve((req) => { + * return serveFile(req, "README.md"); + * }); + * ``` + * + * @param req The server request context used to cleanup the file handle. + * @param filePath Path of the file to serve. + * @param options Additional options. + * @returns A response for the request. + */ +export async function serveFile( + req: Request, + filePath: string, + options?: ServeFileOptions, +): Promise { + if (req.method !== METHOD.Get && req.method !== METHOD.Head) { + return createStandardResponse(STATUS_CODE.MethodNotAllowed); + } + + let { etagAlgorithm: algorithm = "SHA-256", fileInfo } = options ?? {}; + + try { + fileInfo ??= await Deno.stat(filePath); + } catch (error) { + if (error instanceof Deno.errors.NotFound) { + await req.body?.cancel(); + return createStandardResponse(STATUS_CODE.NotFound); + } else { + throw error; + } + } + + if (fileInfo.isDirectory) { + await req.body?.cancel(); + return createStandardResponse(STATUS_CODE.NotFound); + } + + const headers = createBaseHeaders(); + + // Set date header if access timestamp is available + if (fileInfo.atime) { + headers.set(HEADER.Date, fileInfo.atime.toUTCString()); + } + + const etag = fileInfo.mtime + ? await eTag(fileInfo, { algorithm }) + : await HASHED_DENO_DEPLOYMENT_ID; + + // Set last modified header if last modification timestamp is available + if (fileInfo.mtime) { + headers.set(HEADER.LastModified, fileInfo.mtime.toUTCString()); + } + if (etag) { + headers.set(HEADER.ETag, etag); + } + + // Set mime-type using the file extension in filePath + const contentTypeValue = contentType(extname(filePath)); + if (contentTypeValue) { + headers.set(HEADER.ContentType, contentTypeValue); + } + const fileSize = fileInfo.size; + + if (req.method === METHOD.Head) { + // Set content length + headers.set(HEADER.ContentLength, `${fileSize}`); + + const status = STATUS_CODE.OK; + return new Response(null, { + status, + statusText: STATUS_TEXT[status], + headers, + }); + } + + if (etag || fileInfo.mtime) { + // If a `if-none-match` header is present and the value matches the tag or + // if a `if-modified-since` header is present and the value is bigger than + // the access timestamp value, then return 304 + const ifNoneMatchValue = req.headers.get(HEADER.IfNoneMatch); + const ifModifiedSinceValue = req.headers.get(HEADER.IfModifiedSince); + if ( + (!ifNoneMatch(ifNoneMatchValue, etag)) || + (ifNoneMatchValue === null && + fileInfo.mtime && + ifModifiedSinceValue && + fileInfo.mtime.getTime() < + new Date(ifModifiedSinceValue).getTime() + 1000) + ) { + const status = STATUS_CODE.NotModified; + return new Response(null, { + status, + statusText: STATUS_TEXT[status], + headers, + }); + } + } + + const rangeValue = req.headers.get(HEADER.Range); + + // handle range request + // Note: Some clients add a Range header to all requests to limit the size of the response. + // If the file is empty, ignore the range header and respond with a 200 rather than a 416. + // https://github.com/golang/go/blob/0d347544cbca0f42b160424f6bc2458ebcc7b3fc/src/net/http/fs.go#L273-L276 + if (rangeValue && 0 < fileSize) { + const parsed = parseRangeHeader(rangeValue, fileSize); + + // Returns 200 OK if parsing the range header fails + if (!parsed) { + // Set content length + headers.set(HEADER.ContentLength, `${fileSize}`); + + const file = await Deno.open(filePath); + const status = STATUS_CODE.OK; + return new Response(file.readable, { + status, + statusText: STATUS_TEXT[status], + headers, + }); + } + + // Return 416 Range Not Satisfiable if invalid range header value + if ( + parsed.end < 0 || + parsed.end < parsed.start || + fileSize <= parsed.start + ) { + // Set the "Content-range" header + headers.set(HEADER.ContentRange, `bytes */${fileSize}`); + + return createStandardResponse( + STATUS_CODE.RangeNotSatisfiable, + { headers }, + ); + } + + // clamps the range header value + const start = Math.max(0, parsed.start); + const end = Math.min(parsed.end, fileSize - 1); + + // Set the "Content-range" header + headers.set(HEADER.ContentRange, `bytes ${start}-${end}/${fileSize}`); + + // Set content length + const contentLength = end - start + 1; + headers.set(HEADER.ContentLength, `${contentLength}`); + + // Return 206 Partial Content + const file = await Deno.open(filePath); + await file.seek(start, Deno.SeekMode.Start); + const sliced = file.readable + .pipeThrough(new ByteSliceStream(0, contentLength - 1)); + const status = STATUS_CODE.PartialContent; + return new Response(sliced, { + status, + statusText: STATUS_TEXT[status], + headers, + }); + } + + // Set content length + headers.set(HEADER.ContentLength, `${fileSize}`); + + const file = await Deno.open(filePath); + const status = STATUS_CODE.OK; + return new Response(file.readable, { + status, + statusText: STATUS_TEXT[status], + headers, + }); +} + +async function serveDirIndex( + dirPath: string, + options: { + showDotfiles: boolean; + target: string; + urlRoot: string | undefined; + quiet: boolean | undefined; + }, +): Promise { + const { showDotfiles } = options; + const urlRoot = options.urlRoot ? "/" + options.urlRoot : ""; + const dirUrl = `/${ + relative(options.target, dirPath).replaceAll( + new RegExp(SEPARATOR_PATTERN, "g"), + "/", + ) + }`; + const listEntryPromise: Promise[] = []; + + // if ".." makes sense + if (dirUrl !== "/") { + const prevPath = join(dirPath, ".."); + const entryInfo = Deno.stat(prevPath).then((fileInfo): EntryInfo => ({ + mode: modeToString(true, fileInfo.mode), + size: "", + name: "../", + url: `${urlRoot}${posixJoin(dirUrl, "..")}`, + })); + listEntryPromise.push(entryInfo); + } + + // Read fileInfo in parallel + for await (const entry of Deno.readDir(dirPath)) { + if (!showDotfiles && entry.name[0] === ".") { + continue; + } + const filePath = join(dirPath, entry.name); + const fileUrl = encodeURIComponent(posixJoin(dirUrl, entry.name)) + .replaceAll("%2F", "/"); + + listEntryPromise.push((async () => { + try { + const fileInfo = await Deno.stat(filePath); + return { + mode: modeToString(entry.isDirectory, fileInfo.mode), + size: entry.isFile ? formatBytes(fileInfo.size ?? 0) : "", + name: `${entry.name}${entry.isDirectory ? "/" : ""}`, + url: `${urlRoot}${fileUrl}${entry.isDirectory ? "/" : ""}`, + }; + } catch (error) { + // Note: Deno.stat for windows system files may be rejected with os error 32. + if (!options.quiet) logError(error as Error); + return { + mode: "(unknown mode)", + size: "", + name: `${entry.name}${entry.isDirectory ? "/" : ""}`, + url: `${urlRoot}${fileUrl}${entry.isDirectory ? "/" : ""}`, + }; + } + })()); + } + + const listEntry = await Promise.all(listEntryPromise); + listEntry.sort((a, b) => + // TODO(iuioiua): Add test to ensure list order is correct + a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1 + ); + const formattedDirUrl = `${dirUrl.replace(/\/$/, "")}/`; + const page = dirViewerTemplate(formattedDirUrl, listEntry); + + const headers = createBaseHeaders(); + headers.set(HEADER.ContentType, "text/html; charset=UTF-8"); + + const status = STATUS_CODE.OK; + return new Response(page, { + status, + statusText: STATUS_TEXT[status], + headers, + }); +} + +function serverLog(req: Request, status: number) { + const d = new Date().toISOString(); + const dateFmt = `[${d.slice(0, 10)} ${d.slice(11, 19)}]`; + const url = new URL(req.url); + const s = `${dateFmt} [${req.method}] ${url.pathname}${url.search} ${status}`; + // using console.debug instead of console.log so chrome inspect users can hide request logs + // deno-lint-ignore no-console + console.debug(s); +} + +function createBaseHeaders(): Headers { + return new Headers({ + server: "deno", + // Set "accept-ranges" so that the client knows it can make range requests on future requests + [HEADER.AcceptRanges]: "bytes", + }); +} + +function dirViewerTemplate(dirname: string, entries: EntryInfo[]): string { + const paths = dirname.split("/"); + + return ` + + + + + + + Deno File Server + + + +
+

Index of + home${ + paths + .map((path, index, array) => { + if (path === "") return ""; + const link = array.slice(0, index + 1).join("/"); + return `${escape(path)}`; + }) + .join("/") + } +

+ + + + + + + + + ${ + entries + .map( + (entry) => ` + + + + + + `, + ) + .join("") + } +
ModeSizeName
+ ${entry.mode} + + ${entry.size} + + ${escape(entry.name)} +
+
+ + + `; +} + +/** Interface for serveDir options. */ +export interface ServeDirOptions { + /** Serves the files under the given directory root. Defaults to your current directory. + * + * @default {"."} + */ + fsRoot?: string; + /** Specified that part is stripped from the beginning of the requested pathname. + */ + urlRoot?: string; + /** Enable directory listing. + * + * @default {false} + */ + showDirListing?: boolean; + /** Serves dotfiles. + * + * @default {false} + */ + showDotfiles?: boolean; + /** Serves `index.html` as the index file of the directory. + * + * @default {true} + */ + showIndex?: boolean; + /** + * Enable CORS via the + * {@linkcode https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin | Access-Control-Allow-Origin} + * header. + * + * @default {false} + */ + enableCors?: boolean; + /** Do not print request level logs. + * + * @default {false} + */ + quiet?: boolean; + /** The algorithm to use for generating the ETag. + * + * @default {"SHA-256"} + */ + etagAlgorithm?: AlgorithmIdentifier; + /** Headers to add to each response + * + * @default {[]} + */ + headers?: string[]; +} + +/** + * Serves the files under the given directory root (opts.fsRoot). + * + * @example Usage + * ```ts ignore + * import { serveDir } from "@std/http/file-server"; + * + * Deno.serve((req) => { + * const pathname = new URL(req.url).pathname; + * if (pathname.startsWith("/static")) { + * return serveDir(req, { + * fsRoot: "path/to/static/files/dir", + * }); + * } + * // Do dynamic responses + * return new Response(); + * }); + * ``` + * + * @example Changing the URL root + * + * Requests to `/static/path/to/file` will be served from `./public/path/to/file`. + * + * ```ts ignore + * import { serveDir } from "@std/http/file-server"; + * + * Deno.serve((req) => serveDir(req, { + * fsRoot: "public", + * urlRoot: "static", + * })); + * ``` + * + * @param req The request to handle + * @param opts Additional options. + * @returns A response for the request. + */ +export async function serveDir( + req: Request, + opts: ServeDirOptions = {}, +): Promise { + if (req.method !== METHOD.Get) { + return createStandardResponse(STATUS_CODE.MethodNotAllowed); + } + + let response: Response; + try { + response = await createServeDirResponse(req, opts); + } catch (error) { + if (!opts.quiet) logError(error as Error); + response = error instanceof Deno.errors.NotFound + ? createStandardResponse(STATUS_CODE.NotFound) + : createStandardResponse(STATUS_CODE.InternalServerError); + } + + // Do not update the header if the response is a 301 redirect. + const isRedirectResponse = isRedirectStatus(response.status); + + if (opts.enableCors && !isRedirectResponse) { + response.headers.append(HEADER.AccessControlAllowOrigin, "*"); + response.headers.append( + HEADER.AccessControlAllowHeaders, + "Origin, X-Requested-With, Content-Type, Accept, Range", + ); + } + + if (!opts.quiet) serverLog(req, response.status); + + if (opts.headers && !isRedirectResponse) { + for (const header of opts.headers) { + const headerSplit = header.split(":"); + const name = headerSplit[0]!; + const value = headerSplit.slice(1).join(":"); + response.headers.append(name, value); + } + } + + return response; +} + +async function createServeDirResponse( + req: Request, + opts: ServeDirOptions, +) { + const target = opts.fsRoot ?? "."; + const urlRoot = opts.urlRoot; + const showIndex = opts.showIndex ?? true; + const showDotfiles = opts.showDotfiles || false; + const { etagAlgorithm = "SHA-256", showDirListing = false, quiet = false } = + opts; + + const url = new URL(req.url); + const decodedUrl = decodeURIComponent(url.pathname); + let normalizedPath = posixNormalize(decodedUrl); + + if (urlRoot && !normalizedPath.startsWith("/" + urlRoot)) { + return createStandardResponse(STATUS_CODE.NotFound); + } + + // Redirect paths like `/foo////bar` and `/foo/bar/////` to normalized paths. + if (normalizedPath !== decodedUrl) { + url.pathname = normalizedPath; + return Response.redirect(url, 301); + } + + if (urlRoot) { + normalizedPath = normalizedPath.replace(urlRoot, ""); + } + + // Remove trailing slashes to avoid ENOENT errors + // when accessing a path to a file with a trailing slash. + if (normalizedPath.endsWith("/")) { + normalizedPath = normalizedPath.slice(0, -1); + } + + // Exclude dotfiles if showDotfiles is false + if (!showDotfiles && /\/\./.test(normalizedPath)) { + return createStandardResponse(STATUS_CODE.NotFound); + } + + const fsPath = join(target, normalizedPath); + const fileInfo = await Deno.stat(fsPath); + + // For files, remove the trailing slash from the path. + if (fileInfo.isFile && url.pathname.endsWith("/")) { + url.pathname = url.pathname.slice(0, -1); + return Response.redirect(url, 301); + } + // For directories, the path must have a trailing slash. + if (fileInfo.isDirectory && !url.pathname.endsWith("/")) { + // On directory listing pages, + // if the current URL's pathname doesn't end with a slash, any + // relative URLs in the index file will resolve against the parent + // directory, rather than the current directory. To prevent that, we + // return a 301 redirect to the URL with a slash. + url.pathname += "/"; + return Response.redirect(url, 301); + } + + // if target is file, serve file. + if (!fileInfo.isDirectory) { + return serveFile(req, fsPath, { + etagAlgorithm, + fileInfo, + }); + } + + // if target is directory, serve index or dir listing. + if (showIndex) { // serve index.html + const indexPath = join(fsPath, "index.html"); + + let indexFileInfo: Deno.FileInfo | undefined; + try { + indexFileInfo = await Deno.lstat(indexPath); + } catch (error) { + if (!(error instanceof Deno.errors.NotFound)) { + throw error; + } + // skip Not Found error + } + + if (indexFileInfo?.isFile) { + return serveFile(req, indexPath, { + etagAlgorithm, + fileInfo: indexFileInfo, + }); + } + } + + if (showDirListing) { // serve directory list + return serveDirIndex(fsPath, { urlRoot, showDotfiles, target, quiet }); + } + + return createStandardResponse(STATUS_CODE.NotFound); +} + +function logError(error: Error) { + // deno-lint-ignore no-console + console.error(`%c${error.message}`, "color: red"); +} + +function main() { + const serverArgs = parseArgs(Deno.args, { + string: ["port", "host", "cert", "key", "header"], + boolean: ["help", "dir-listing", "dotfiles", "cors", "verbose", "version"], + negatable: ["dir-listing", "dotfiles", "cors"], + collect: ["header"], + default: { + "dir-listing": true, + dotfiles: true, + cors: true, + verbose: false, + version: false, + host: "0.0.0.0", + port: undefined, + cert: "", + key: "", + }, + alias: { + p: "port", + c: "cert", + k: "key", + h: "help", + v: "verbose", + V: "version", + H: "header", + }, + }); + const port = serverArgs.port ? Number(serverArgs.port) : undefined; + const headers = serverArgs.header ?? []; + const host = serverArgs.host; + const certFile = serverArgs.cert; + const keyFile = serverArgs.key; + + if (serverArgs.help) { + printUsage(); + Deno.exit(); + } + + if (serverArgs.version) { + // deno-lint-ignore no-console + console.log(`Deno File Server ${denoConfig.version}`); + Deno.exit(); + } + + if (keyFile || certFile) { + if (keyFile === "" || certFile === "") { + // deno-lint-ignore no-console + console.log("--key and --cert are required for TLS"); + printUsage(); + Deno.exit(1); + } + } + + const wild = serverArgs._ as string[]; + const target = resolve(wild[0] ?? ""); + + const handler = (req: Request): Promise => { + return serveDir(req, { + fsRoot: target, + showDirListing: serverArgs["dir-listing"], + showDotfiles: serverArgs.dotfiles, + enableCors: serverArgs.cors, + quiet: !serverArgs.verbose, + headers, + }); + }; + + const useTls = !!(keyFile && certFile); + + function onListen({ port, hostname }: { port: number; hostname: string }) { + let networkAddress: string | undefined = undefined; + if (NET_PERM_STATUS === "granted") { + networkAddress = getNetworkAddress(); + } + const protocol = useTls ? "https" : "http"; + const host = (Deno.build.os === "windows" && hostname === "0.0.0.0") + ? "localhost" + : hostname; + + const formattedHost = hostname.includes(":") ? `[${host}]` : host; + let message = + `Listening on:\n- Local: ${protocol}://${formattedHost}:${port}`; + if (networkAddress && !DENO_DEPLOYMENT_ID) { + message += `\n- Network: ${protocol}://${networkAddress}:${port}`; + } + // deno-lint-ignore no-console + console.log(message); + } + + // TODO(petamoriken): Migrate `Deno.ServeTcpOptions | (Deno.ServeTcpOptions & Deno.TlsCertifiedKeyOptions)` in v2 + const options: { + port?: number; + hostname?: string; + onListen?: (localAddr: Deno.NetAddr) => void; + cert?: string; + key?: string; + } = { + hostname: host, + onListen, + }; + if (port !== undefined) { + options.port = port; + } + if (useTls) { + options.cert = Deno.readTextFileSync(certFile); + options.key = Deno.readTextFileSync(keyFile); + } + Deno.serve(options, handler); +} + +function printUsage() { + // deno-lint-ignore no-console + console.log(`Deno File Server ${denoConfig.version} + Serves a local directory in HTTP. + +INSTALL: + deno install --allow-net --allow-read --allow-sys jsr:@std/http@${denoConfig.version}/file-server + +USAGE: + file_server [path] [options] + +OPTIONS: + -h, --help Prints help information + -p, --port Set port (default is 8000) + --cors Enable CORS via the "Access-Control-Allow-Origin" header + --host Hostname (default is 0.0.0.0) + -c, --cert TLS certificate file (enables TLS) + -k, --key TLS key file (enables TLS) + -H, --header
Sets a header on every request. + (e.g. --header "Cache-Control: no-cache") + This option can be specified multiple times. + --no-dir-listing Disable directory listing + --no-dotfiles Do not show dotfiles + --no-cors Disable cross-origin resource sharing + -v, --verbose Print request level logs + -V, --version Print version information + + All TLS options are required when one is provided.`); +} + +if (import.meta.main) { + main(); +} diff --git a/vendor/jsr.io/@std/http/1.0.12/mod.ts b/vendor/jsr.io/@std/http/1.0.12/mod.ts new file mode 100644 index 0000000..da398b3 --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/mod.ts @@ -0,0 +1,106 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +/** + * Provides user-friendly {@linkcode serve} on top of Deno's native HTTP server + * and other utilities for creating HTTP servers and clients. + * + * ## File Server + * + * A small program for serving local files over HTTP. + * + * ```sh + * deno run --allow-net --allow-read jsr:@std/http/file-server + * Listening on: + * - Local: http://localhost:8000 + * ``` + * + * When the `--allow-sys=networkInterfaces` permission is provided, the file + * server will also display the local area network addresses that can be used to + * access the server. + * + * ## HTTP Status Code and Status Text + * + * Helper for processing status code and status text. + * + * ## HTTP errors + * + * Provides error classes for each HTTP error status code as well as utility + * functions for handling HTTP errors in a structured way. + * + * ## Methods + * + * Provides helper functions and types to work with HTTP method strings safely. + * + * ## Negotiation + * + * A set of functions which can be used to negotiate content types, encodings and + * languages when responding to requests. + * + * > Note: some libraries include accept charset functionality by analyzing the + * > `Accept-Charset` header. This is a legacy header that + * > {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Charset | clients omit and servers should ignore} + * > therefore is not provided. + * + * ## User agent handling + * + * The {@linkcode UserAgent} class provides user agent string parsing, allowing + * a user agent flag to be semantically understood. + * + * For example to integrate the user agent provided in the header `User-Agent` + * in an http request would look like this: + * + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * return new Response(`Hello, ${userAgent.browser.name} + * on ${userAgent.os.name} ${userAgent.os.version}!`); + * }); + * ``` + * + * ### Routing + * + * {@linkcode route} provides an easy way to route requests to different + * handlers based on the request path and method. + * + * ```ts ignore + * import { route, type Route } from "@std/http/unstable-route"; + * import { serveDir } from "@std/http/file-server"; + * + * const routes: Route[] = [ + * { + * pattern: new URLPattern({ pathname: "/about" }), + * handler: () => new Response("About page"), + * }, + * { + * pattern: new URLPattern({ pathname: "/users/:id" }), + * handler: (_req, _info, params) => new Response(params?.pathname.groups.id), + * }, + * { + * pattern: new URLPattern({ pathname: "/static/*" }), + * handler: (req: Request) => serveDir(req) + * }, + * { + * method: ["GET", "HEAD"], + * pattern: new URLPattern({ pathname: "/api" }), + * handler: (req: Request) => new Response(req.method === 'HEAD' ? null : 'ok'), + * }, + * ]; + * + * function defaultHandler(_req: Request) { + * return new Response("Not found", { status: 404 }); + * } + * + * Deno.serve(route(routes, defaultHandler)); + * ``` + * + * @module + */ + +export * from "./cookie.ts"; +export * from "./etag.ts"; +export * from "./status.ts"; +export * from "./negotiation.ts"; +export * from "./server_sent_event_stream.ts"; +export * from "./user_agent.ts"; +export * from "./file_server.ts"; diff --git a/vendor/jsr.io/@std/http/1.0.12/negotiation.ts b/vendor/jsr.io/@std/http/1.0.12/negotiation.ts new file mode 100644 index 0000000..29a7b0f --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/negotiation.ts @@ -0,0 +1,207 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Contains the functions {@linkcode accepts}, {@linkcode acceptsEncodings}, and + * {@linkcode acceptsLanguages} to provide content negotiation capabilities. + * + * @module + */ + +import { preferredEncodings } from "./_negotiation/encoding.ts"; +import { preferredLanguages } from "./_negotiation/language.ts"; +import { preferredMediaTypes } from "./_negotiation/media_type.ts"; + +/** + * Returns an array of media types accepted by the request, in order of + * preference. If there are no media types supplied in the request, then any + * media type selector will be returned. + * + * @example Usage + * ```ts + * import { accepts } from "@std/http/negotiation"; + * import { assertEquals } from "@std/assert"; + * + * const request = new Request("https://example.com/", { + * headers: { + * accept: + * "text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, *\/*;q=0.8", + * }, + * }); + * + * assertEquals(accepts(request), [ + * "text/html", + * "application/xhtml+xml", + * "image/webp", + * "application/xml", + * "*\/*", + * ]); + * ``` + * + * @param request The request to get the acceptable media types for. + * @returns An array of acceptable media types. + */ +export function accepts(request: Pick): string[]; +/** + * For a given set of media types, return the best match accepted in the + * request. If no media type matches, then the function returns `undefined`. + * + * @example Usage + * ```ts + * import { accepts } from "@std/http/negotiation"; + * import { assertEquals } from "@std/assert"; + * + * const request = new Request("https://example.com/", { + * headers: { + * accept: + * "text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, *\/*;q=0.8", + * }, + * }); + * + * assertEquals(accepts(request, "text/html", "image/webp"), "text/html"); + * ``` + * + * @param request The request to get the acceptable media types for. + * @param types An array of media types to find the best matching one from. + * @returns The best matching media type, if any match. + */ +export function accepts( + request: Pick, + ...types: string[] +): string | undefined; +export function accepts( + request: Pick, + ...types: string[] +): string | string[] | undefined { + const accept = request.headers.get("accept"); + return types.length + ? accept ? preferredMediaTypes(accept, types)[0] : types[0] + : accept + ? preferredMediaTypes(accept) + : ["*/*"]; +} + +/** + * Returns an array of content encodings accepted by the request, in order of + * preference. If there are no encoding supplied in the request, then `["*"]` + * is returned, implying any encoding is accepted. + * + * @example Usage + * ```ts + * import { acceptsEncodings } from "@std/http/negotiation"; + * import { assertEquals } from "@std/assert"; + * + * const request = new Request("https://example.com/", { + * headers: { "accept-encoding": "deflate, gzip;q=1.0, *;q=0.5" }, + * }); + * + * assertEquals(acceptsEncodings(request), ["deflate", "gzip", "*"]); + * ``` + * + * @param request The request to get the acceptable content encodings for. + * @returns An array of content encodings this request accepts. + */ +export function acceptsEncodings(request: Pick): string[]; +/** + * For a given set of content encodings, return the best match accepted in the + * request. If no content encodings match, then the function returns + * `undefined`. + * + * **NOTE:** You should always supply `identity` as one of the encodings + * to ensure that there is a match when the `Accept-Encoding` header is part + * of the request. + * + * @example Usage + * ```ts + * import { acceptsEncodings } from "@std/http/negotiation"; + * import { assertEquals } from "@std/assert"; + * + * const request = new Request("https://example.com/", { + * headers: { "accept-encoding": "deflate, gzip;q=1.0, *;q=0.5" }, + * }); + * + * assertEquals(acceptsEncodings(request, "gzip", "identity"), "gzip"); + * ``` + * + * @param request The request to get the acceptable content encodings for. + * @param encodings An array of encodings to find the best matching one from. + * @returns The best matching encoding, if any match. + */ +export function acceptsEncodings( + request: Pick, + ...encodings: string[] +): string | undefined; +export function acceptsEncodings( + request: Pick, + ...encodings: string[] +): string | string[] | undefined { + const acceptEncoding = request.headers.get("accept-encoding"); + return encodings.length + ? acceptEncoding + ? preferredEncodings(acceptEncoding, encodings)[0] + : encodings[0] + : acceptEncoding + ? preferredEncodings(acceptEncoding) + : ["*"]; +} + +/** + * Returns an array of languages accepted by the request, in order of + * preference. If there are no languages supplied in the request, then `["*"]` + * is returned, imply any language is accepted. + * + * @example Usage + * ```ts + * import { acceptsLanguages } from "@std/http/negotiation"; + * import { assertEquals } from "@std/assert"; + * + * const request = new Request("https://example.com/", { + * headers: { + * "accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5", + * }, + * }); + * + * assertEquals(acceptsLanguages(request), ["fr-CH", "fr", "en", "de", "*"]); + * ``` + * + * @param request The request to get the acceptable languages for. + * @returns An array of languages this request accepts. + */ +export function acceptsLanguages(request: Pick): string[]; +/** + * For a given set of languages, return the best match accepted in the request. + * If no languages match, then the function returns `undefined`. + * + * @example Usage + * ```ts + * import { acceptsLanguages } from "@std/http/negotiation"; + * import { assertEquals } from "@std/assert"; + * + * const request = new Request("https://example.com/", { + * headers: { + * "accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5", + * }, + * }); + * + * assertEquals(acceptsLanguages(request, "en-gb", "en-us", "en"), "en"); + * ``` + * + * @param request The request to get the acceptable language for. + * @param langs An array of languages to find the best matching one from. + * @returns The best matching language, if any match. + */ +export function acceptsLanguages( + request: Pick, + ...langs: string[] +): string | undefined; +export function acceptsLanguages( + request: Pick, + ...langs: string[] +): string | string[] | undefined { + const acceptLanguage = request.headers.get("accept-language"); + return langs.length + ? acceptLanguage ? preferredLanguages(acceptLanguage, langs)[0] : langs[0] + : acceptLanguage + ? preferredLanguages(acceptLanguage) + : ["*"]; +} diff --git a/vendor/jsr.io/@std/http/1.0.12/server_sent_event_stream.ts b/vendor/jsr.io/@std/http/1.0.12/server_sent_event_stream.ts new file mode 100644 index 0000000..80e5e50 --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/server_sent_event_stream.ts @@ -0,0 +1,105 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +const NEWLINE_REGEXP = /\r\n|\r|\n/; +const encoder = new TextEncoder(); + +/** + * Represents a message in the Server-Sent Event (SSE) protocol. + * + * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#fields} + */ +export interface ServerSentEventMessage { + /** Ignored by the client. */ + comment?: string; + /** A string identifying the type of event described. */ + event?: string; + /** The data field for the message. Split by new lines. */ + data?: string; + /** The event ID to set the {@linkcode EventSource} object's last event ID value. */ + id?: string | number; + /** The reconnection time. */ + retry?: number; +} + +function assertHasNoNewline(value: string, varName: string, errPrefix: string) { + if (value.match(NEWLINE_REGEXP) !== null) { + throw new SyntaxError( + `${errPrefix}: ${varName} cannot contain a newline`, + ); + } +} + +/** + * Converts a server-sent message object into a string for the client. + * + * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#event_stream_format} + */ +function stringify(message: ServerSentEventMessage): Uint8Array { + const lines = []; + if (message.comment) { + assertHasNoNewline( + message.comment, + "`message.comment`", + "Cannot serialize message", + ); + lines.push(`:${message.comment}`); + } + if (message.event) { + assertHasNoNewline( + message.event, + "`message.event`", + "Cannot serialize message", + ); + lines.push(`event:${message.event}`); + } + if (message.data) { + message.data.split(NEWLINE_REGEXP).forEach((line) => + lines.push(`data:${line}`) + ); + } + if (message.id) { + assertHasNoNewline( + message.id.toString(), + "`message.id`", + "Cannot serialize message", + ); + lines.push(`id:${message.id}`); + } + if (message.retry) lines.push(`retry:${message.retry}`); + return encoder.encode(lines.join("\n") + "\n\n"); +} + +/** + * Transforms server-sent message objects into strings for the client. + * + * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events} + * + * @example Usage + * ```ts no-assert + * import { + * type ServerSentEventMessage, + * ServerSentEventStream, + * } from "@std/http/server-sent-event-stream"; + * + * const stream = ReadableStream.from([ + * { data: "hello there" } + * ]).pipeThrough(new ServerSentEventStream()); + * new Response(stream, { + * headers: { + * "content-type": "text/event-stream", + * "cache-control": "no-cache", + * }, + * }); + * ``` + */ +export class ServerSentEventStream + extends TransformStream { + constructor() { + super({ + transform: (message, controller) => { + controller.enqueue(stringify(message)); + }, + }); + } +} diff --git a/vendor/jsr.io/@std/http/1.0.12/status.ts b/vendor/jsr.io/@std/http/1.0.12/status.ts new file mode 100644 index 0000000..824850f --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/status.ts @@ -0,0 +1,450 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Contains the {@linkcode STATUS_CODE} object which contains standard HTTP + * status codes and provides several type guards for handling status codes + * with type safety. + * + * @example The status code and status text + * ```ts + * import { + * STATUS_CODE, + * STATUS_TEXT, + * } from "@std/http/status"; + * + * console.log(STATUS_CODE.NotFound); // Returns 404 + * console.log(STATUS_TEXT[STATUS_CODE.NotFound]); // Returns "Not Found" + * ``` + * + * @example Checking the status code type + * ```ts + * import { isErrorStatus } from "@std/http/status"; + * + * const res = await fetch("https://example.com/"); + * + * if (isErrorStatus(res.status)) { + * // error handling here... + * } + * + * await res.body?.cancel(); + * ``` + * + * @module + */ + +export const STATUS_CODE = { + /** RFC 7231, 6.2.1 */ + Continue: 100, + /** RFC 7231, 6.2.2 */ + SwitchingProtocols: 101, + /** RFC 2518, 10.1 */ + Processing: 102, + /** RFC 8297 **/ + EarlyHints: 103, + + /** RFC 7231, 6.3.1 */ + OK: 200, + /** RFC 7231, 6.3.2 */ + Created: 201, + /** RFC 7231, 6.3.3 */ + Accepted: 202, + /** RFC 7231, 6.3.4 */ + NonAuthoritativeInfo: 203, + /** RFC 7231, 6.3.5 */ + NoContent: 204, + /** RFC 7231, 6.3.6 */ + ResetContent: 205, + /** RFC 7233, 4.1 */ + PartialContent: 206, + /** RFC 4918, 11.1 */ + MultiStatus: 207, + /** RFC 5842, 7.1 */ + AlreadyReported: 208, + /** RFC 3229, 10.4.1 */ + IMUsed: 226, + + /** RFC 7231, 6.4.1 */ + MultipleChoices: 300, + /** RFC 7231, 6.4.2 */ + MovedPermanently: 301, + /** RFC 7231, 6.4.3 */ + Found: 302, + /** RFC 7231, 6.4.4 */ + SeeOther: 303, + /** RFC 7232, 4.1 */ + NotModified: 304, + /** RFC 7231, 6.4.5 */ + UseProxy: 305, + /** RFC 7231, 6.4.7 */ + TemporaryRedirect: 307, + /** RFC 7538, 3 */ + PermanentRedirect: 308, + + /** RFC 7231, 6.5.1 */ + BadRequest: 400, + /** RFC 7235, 3.1 */ + Unauthorized: 401, + /** RFC 7231, 6.5.2 */ + PaymentRequired: 402, + /** RFC 7231, 6.5.3 */ + Forbidden: 403, + /** RFC 7231, 6.5.4 */ + NotFound: 404, + /** RFC 7231, 6.5.5 */ + MethodNotAllowed: 405, + /** RFC 7231, 6.5.6 */ + NotAcceptable: 406, + /** RFC 7235, 3.2 */ + ProxyAuthRequired: 407, + /** RFC 7231, 6.5.7 */ + RequestTimeout: 408, + /** RFC 7231, 6.5.8 */ + Conflict: 409, + /** RFC 7231, 6.5.9 */ + Gone: 410, + /** RFC 7231, 6.5.10 */ + LengthRequired: 411, + /** RFC 7232, 4.2 */ + PreconditionFailed: 412, + /** RFC 7231, 6.5.11 */ + ContentTooLarge: 413, + /** RFC 7231, 6.5.12 */ + URITooLong: 414, + /** RFC 7231, 6.5.13 */ + UnsupportedMediaType: 415, + /** RFC 7233, 4.4 */ + RangeNotSatisfiable: 416, + /** RFC 7231, 6.5.14 */ + ExpectationFailed: 417, + /** RFC 7168, 2.3.3 */ + Teapot: 418, + /** RFC 7540, 9.1.2 */ + MisdirectedRequest: 421, + /** RFC 4918, 11.2 */ + UnprocessableEntity: 422, + /** RFC 4918, 11.3 */ + Locked: 423, + /** RFC 4918, 11.4 */ + FailedDependency: 424, + /** RFC 8470, 5.2 */ + TooEarly: 425, + /** RFC 7231, 6.5.15 */ + UpgradeRequired: 426, + /** RFC 6585, 3 */ + PreconditionRequired: 428, + /** RFC 6585, 4 */ + TooManyRequests: 429, + /** RFC 6585, 5 */ + RequestHeaderFieldsTooLarge: 431, + /** RFC 7725, 3 */ + UnavailableForLegalReasons: 451, + + /** RFC 7231, 6.6.1 */ + InternalServerError: 500, + /** RFC 7231, 6.6.2 */ + NotImplemented: 501, + /** RFC 7231, 6.6.3 */ + BadGateway: 502, + /** RFC 7231, 6.6.4 */ + ServiceUnavailable: 503, + /** RFC 7231, 6.6.5 */ + GatewayTimeout: 504, + /** RFC 7231, 6.6.6 */ + HTTPVersionNotSupported: 505, + /** RFC 2295, 8.1 */ + VariantAlsoNegotiates: 506, + /** RFC 4918, 11.5 */ + InsufficientStorage: 507, + /** RFC 5842, 7.2 */ + LoopDetected: 508, + /** RFC 2774, 7 */ + NotExtended: 510, + /** RFC 6585, 6 */ + NetworkAuthenticationRequired: 511, +} as const; + +/** An HTTP status code. */ +export type StatusCode = typeof STATUS_CODE[keyof typeof STATUS_CODE]; + +/** A record of all the status codes text. */ +export const STATUS_TEXT = { + [STATUS_CODE.Accepted]: "Accepted", + [STATUS_CODE.AlreadyReported]: "Already Reported", + [STATUS_CODE.BadGateway]: "Bad Gateway", + [STATUS_CODE.BadRequest]: "Bad Request", + [STATUS_CODE.Conflict]: "Conflict", + [STATUS_CODE.Continue]: "Continue", + [STATUS_CODE.Created]: "Created", + [STATUS_CODE.EarlyHints]: "Early Hints", + [STATUS_CODE.ExpectationFailed]: "Expectation Failed", + [STATUS_CODE.FailedDependency]: "Failed Dependency", + [STATUS_CODE.Forbidden]: "Forbidden", + [STATUS_CODE.Found]: "Found", + [STATUS_CODE.GatewayTimeout]: "Gateway Timeout", + [STATUS_CODE.Gone]: "Gone", + [STATUS_CODE.HTTPVersionNotSupported]: "HTTP Version Not Supported", + [STATUS_CODE.IMUsed]: "IM Used", + [STATUS_CODE.InsufficientStorage]: "Insufficient Storage", + [STATUS_CODE.InternalServerError]: "Internal Server Error", + [STATUS_CODE.LengthRequired]: "Length Required", + [STATUS_CODE.Locked]: "Locked", + [STATUS_CODE.LoopDetected]: "Loop Detected", + [STATUS_CODE.MethodNotAllowed]: "Method Not Allowed", + [STATUS_CODE.MisdirectedRequest]: "Misdirected Request", + [STATUS_CODE.MovedPermanently]: "Moved Permanently", + [STATUS_CODE.MultiStatus]: "Multi Status", + [STATUS_CODE.MultipleChoices]: "Multiple Choices", + [STATUS_CODE.NetworkAuthenticationRequired]: + "Network Authentication Required", + [STATUS_CODE.NoContent]: "No Content", + [STATUS_CODE.NonAuthoritativeInfo]: "Non Authoritative Info", + [STATUS_CODE.NotAcceptable]: "Not Acceptable", + [STATUS_CODE.NotExtended]: "Not Extended", + [STATUS_CODE.NotFound]: "Not Found", + [STATUS_CODE.NotImplemented]: "Not Implemented", + [STATUS_CODE.NotModified]: "Not Modified", + [STATUS_CODE.OK]: "OK", + [STATUS_CODE.PartialContent]: "Partial Content", + [STATUS_CODE.PaymentRequired]: "Payment Required", + [STATUS_CODE.PermanentRedirect]: "Permanent Redirect", + [STATUS_CODE.PreconditionFailed]: "Precondition Failed", + [STATUS_CODE.PreconditionRequired]: "Precondition Required", + [STATUS_CODE.Processing]: "Processing", + [STATUS_CODE.ProxyAuthRequired]: "Proxy Auth Required", + [STATUS_CODE.ContentTooLarge]: "Content Too Large", + [STATUS_CODE.RequestHeaderFieldsTooLarge]: "Request Header Fields Too Large", + [STATUS_CODE.RequestTimeout]: "Request Timeout", + [STATUS_CODE.URITooLong]: "URI Too Long", + [STATUS_CODE.RangeNotSatisfiable]: "Range Not Satisfiable", + [STATUS_CODE.ResetContent]: "Reset Content", + [STATUS_CODE.SeeOther]: "See Other", + [STATUS_CODE.ServiceUnavailable]: "Service Unavailable", + [STATUS_CODE.SwitchingProtocols]: "Switching Protocols", + [STATUS_CODE.Teapot]: "I'm a teapot", + [STATUS_CODE.TemporaryRedirect]: "Temporary Redirect", + [STATUS_CODE.TooEarly]: "Too Early", + [STATUS_CODE.TooManyRequests]: "Too Many Requests", + [STATUS_CODE.Unauthorized]: "Unauthorized", + [STATUS_CODE.UnavailableForLegalReasons]: "Unavailable For Legal Reasons", + [STATUS_CODE.UnprocessableEntity]: "Unprocessable Entity", + [STATUS_CODE.UnsupportedMediaType]: "Unsupported Media Type", + [STATUS_CODE.UpgradeRequired]: "Upgrade Required", + [STATUS_CODE.UseProxy]: "Use Proxy", + [STATUS_CODE.VariantAlsoNegotiates]: "Variant Also Negotiates", +} as const; + +/** An HTTP status text. */ +export type StatusText = typeof STATUS_TEXT[keyof typeof STATUS_TEXT]; + +/** An HTTP status that is a informational (1XX). */ +export type InformationalStatus = + | typeof STATUS_CODE.Continue + | typeof STATUS_CODE.SwitchingProtocols + | typeof STATUS_CODE.Processing + | typeof STATUS_CODE.EarlyHints; + +/** An HTTP status that is a success (2XX). */ +export type SuccessfulStatus = + | typeof STATUS_CODE.OK + | typeof STATUS_CODE.Created + | typeof STATUS_CODE.Accepted + | typeof STATUS_CODE.NonAuthoritativeInfo + | typeof STATUS_CODE.NoContent + | typeof STATUS_CODE.ResetContent + | typeof STATUS_CODE.PartialContent + | typeof STATUS_CODE.MultiStatus + | typeof STATUS_CODE.AlreadyReported + | typeof STATUS_CODE.IMUsed; + +/** An HTTP status that is a redirect (3XX). */ +export type RedirectStatus = + | typeof STATUS_CODE.MultipleChoices // 300 + | typeof STATUS_CODE.MovedPermanently // 301 + | typeof STATUS_CODE.Found // 302 + | typeof STATUS_CODE.SeeOther // 303 + | typeof STATUS_CODE.UseProxy // 305 - DEPRECATED + | typeof STATUS_CODE.TemporaryRedirect // 307 + | typeof STATUS_CODE.PermanentRedirect; // 308 + +/** An HTTP status that is a client error (4XX). */ +export type ClientErrorStatus = + | typeof STATUS_CODE.BadRequest + | typeof STATUS_CODE.Unauthorized + | typeof STATUS_CODE.PaymentRequired + | typeof STATUS_CODE.Forbidden + | typeof STATUS_CODE.NotFound + | typeof STATUS_CODE.MethodNotAllowed + | typeof STATUS_CODE.NotAcceptable + | typeof STATUS_CODE.ProxyAuthRequired + | typeof STATUS_CODE.RequestTimeout + | typeof STATUS_CODE.Conflict + | typeof STATUS_CODE.Gone + | typeof STATUS_CODE.LengthRequired + | typeof STATUS_CODE.PreconditionFailed + | typeof STATUS_CODE.ContentTooLarge + | typeof STATUS_CODE.URITooLong + | typeof STATUS_CODE.UnsupportedMediaType + | typeof STATUS_CODE.RangeNotSatisfiable + | typeof STATUS_CODE.ExpectationFailed + | typeof STATUS_CODE.Teapot + | typeof STATUS_CODE.MisdirectedRequest + | typeof STATUS_CODE.UnprocessableEntity + | typeof STATUS_CODE.Locked + | typeof STATUS_CODE.FailedDependency + | typeof STATUS_CODE.UpgradeRequired + | typeof STATUS_CODE.PreconditionRequired + | typeof STATUS_CODE.TooManyRequests + | typeof STATUS_CODE.RequestHeaderFieldsTooLarge + | typeof STATUS_CODE.UnavailableForLegalReasons; + +/** An HTTP status that is a server error (5XX). */ +export type ServerErrorStatus = + | typeof STATUS_CODE.InternalServerError + | typeof STATUS_CODE.NotImplemented + | typeof STATUS_CODE.BadGateway + | typeof STATUS_CODE.ServiceUnavailable + | typeof STATUS_CODE.GatewayTimeout + | typeof STATUS_CODE.HTTPVersionNotSupported + | typeof STATUS_CODE.VariantAlsoNegotiates + | typeof STATUS_CODE.InsufficientStorage + | typeof STATUS_CODE.LoopDetected + | typeof STATUS_CODE.NotExtended + | typeof STATUS_CODE.NetworkAuthenticationRequired; + +/** An HTTP status that is an error (4XX and 5XX). */ +export type ErrorStatus = ClientErrorStatus | ServerErrorStatus; + +/** + * Returns whether the provided number is a valid HTTP status code. + * + * @example Usage + * ```ts + * import { isStatus } from "@std/http/status"; + * import { assert } from "@std/assert"; + * + * assert(isStatus(404)); + * ``` + * + * @param status The status to assert against. + * @returns Whether or not the provided status is a valid status code. + */ +export function isStatus(status: number): status is StatusCode { + return Object.values(STATUS_CODE).includes(status as StatusCode); +} + +/** + * A type guard that determines if the status code is informational. + * + * @example Usage + * ```ts + * import { isInformationalStatus } from "@std/http/status"; + * import { assert } from "@std/assert"; + * + * assert(isInformationalStatus(100)); + * ``` + * + * @param status The status to assert against. + * @returns Whether or not the provided status is an informational status code. + */ +export function isInformationalStatus( + status: number, +): status is InformationalStatus { + return isStatus(status) && status >= 100 && status < 200; +} + +/** + * A type guard that determines if the status code is successful. + * + * @example Usage + * ```ts + * import { isSuccessfulStatus } from "@std/http/status"; + * import { assert } from "@std/assert"; + * + * assert(isSuccessfulStatus(200)); + * ``` + * + * @param status The status to assert against. + * @returns Whether or not the provided status is a successful status code. + */ +export function isSuccessfulStatus( + status: number, +): status is SuccessfulStatus { + return isStatus(status) && status >= 200 && status < 300; +} + +/** + * A type guard that determines if the status code is a redirection. + * + * @example Usage + * ```ts + * import { isRedirectStatus } from "@std/http/status"; + * import { assert } from "@std/assert"; + * + * assert(isRedirectStatus(302)); + * ``` + * + * @param status The status to assert against. + * @returns Whether or not the provided status is a redirect status code. + */ +export function isRedirectStatus(status: number): status is RedirectStatus { + return isStatus(status) && status >= 300 && status < 400; +} + +/** + * A type guard that determines if the status code is a client error. + * + * @example Usage + * ```ts + * import { isClientErrorStatus } from "@std/http/status"; + * import { assert } from "@std/assert"; + * + * assert(isClientErrorStatus(404)); + * ``` + * + * @param status The status to assert against. + * @returns Whether or not the provided status is a client error status code. + */ +export function isClientErrorStatus( + status: number, +): status is ClientErrorStatus { + return isStatus(status) && status >= 400 && status < 500; +} + +/** + * A type guard that determines if the status code is a server error. + * + * @example Usage + * ```ts + * import { isServerErrorStatus } from "@std/http/status"; + * import { assert } from "@std/assert"; + * + * assert(isServerErrorStatus(502)); + * ``` + * + * @param status The status to assert against. + * @returns Whether or not the provided status is a server error status code. + */ +export function isServerErrorStatus( + status: number, +): status is ServerErrorStatus { + return isStatus(status) && status >= 500 && status < 600; +} + +/** + * A type guard that determines if the status code is an error. + * + * @example Usage + * ```ts + * import { isErrorStatus } from "@std/http/status"; + * import { assert } from "@std/assert"; + * + * assert(isErrorStatus(502)); + * ``` + * + * @param status The status to assert against. + * @returns Whether or not the provided status is an error status code. + */ +export function isErrorStatus(status: number): status is ErrorStatus { + return isStatus(status) && status >= 400 && status < 600; +} diff --git a/vendor/jsr.io/@std/http/1.0.12/unstable_header.ts b/vendor/jsr.io/@std/http/1.0.12/unstable_header.ts new file mode 100644 index 0000000..69f9f19 --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/unstable_header.ts @@ -0,0 +1,1200 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +// This module is generated from {@link https://www.iana.org/assignments/http-fields/http-fields.xhtml#field-names | IANA Hypertext Transfer Protocol (HTTP) Field Name Registry} + +/** + * HTTP Headers with status permanent + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + * + * @see {@link https://www.iana.org/assignments/http-fields/http-fields.xhtml#field-names | IANA Hypertext Transfer Protocol (HTTP) Field Name Registry} + */ +export const HEADER = { + /** + * HTTP Header A-IM + * + * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} + */ + AIm: "A-IM", + + /** + * HTTP Header Accept + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.1: HTTP Semantics} + */ + Accept: "Accept", + + /** + * HTTP Header Accept-Additions + * + * @see {@link https://www.iana.org/go/rfc2324 | RFC 2324: Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)} + */ + AcceptAdditions: "Accept-Additions", + + /** + * HTTP Header Accept-CH + * + * @see {@link https://www.iana.org/go/rfc8942 | RFC 8942, Section 3.1: HTTP Client Hints} + */ + AcceptCh: "Accept-CH", + + /** + * HTTP Header Accept-Datetime + * + * @see {@link https://www.iana.org/go/rfc7089 | RFC 7089: HTTP Framework for Time-Based Access to Resource States -- Memento} + */ + AcceptDatetime: "Accept-Datetime", + + /** + * HTTP Header Accept-Encoding + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.3: HTTP Semantics} + */ + AcceptEncoding: "Accept-Encoding", + + /** + * HTTP Header Accept-Features + * + * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} + */ + AcceptFeatures: "Accept-Features", + + /** + * HTTP Header Accept-Language + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.4: HTTP Semantics} + */ + AcceptLanguage: "Accept-Language", + + /** + * HTTP Header Accept-Patch + * + * @see {@link https://www.iana.org/go/rfc5789 | RFC 5789: PATCH Method for HTTP} + */ + AcceptPatch: "Accept-Patch", + + /** + * HTTP Header Accept-Post + * + * @see {@link https://www.w3.org/TR/ldp | Linked Data Platform 1.0} + */ + AcceptPost: "Accept-Post", + + /** + * HTTP Header Accept-Ranges + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.3: HTTP Semantics} + */ + AcceptRanges: "Accept-Ranges", + + /** + * HTTP Header Accept-Signature + * + * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 5.1: HTTP Message Signatures} + */ + AcceptSignature: "Accept-Signature", + + /** + * HTTP Header Access-Control-Allow-Credentials + * + * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-credentials | Fetch} + */ + AccessControlAllowCredentials: "Access-Control-Allow-Credentials", + + /** + * HTTP Header Access-Control-Allow-Headers + * + * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-headers | Fetch} + */ + AccessControlAllowHeaders: "Access-Control-Allow-Headers", + + /** + * HTTP Header Access-Control-Allow-Methods + * + * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-methods | Fetch} + */ + AccessControlAllowMethods: "Access-Control-Allow-Methods", + + /** + * HTTP Header Access-Control-Allow-Origin + * + * @see {@link https://fetch.spec.whatwg.org/#http-access-control-allow-origin | Fetch} + */ + AccessControlAllowOrigin: "Access-Control-Allow-Origin", + + /** + * HTTP Header Access-Control-Expose-Headers + * + * @see {@link https://fetch.spec.whatwg.org/#http-access-control-expose-headers | Fetch} + */ + AccessControlExposeHeaders: "Access-Control-Expose-Headers", + + /** + * HTTP Header Access-Control-Max-Age + * + * @see {@link https://fetch.spec.whatwg.org/#http-access-control-max-age | Fetch} + */ + AccessControlMaxAge: "Access-Control-Max-Age", + + /** + * HTTP Header Access-Control-Request-Headers + * + * @see {@link https://fetch.spec.whatwg.org/#http-access-control-request-headers | Fetch} + */ + AccessControlRequestHeaders: "Access-Control-Request-Headers", + + /** + * HTTP Header Access-Control-Request-Method + * + * @see {@link https://fetch.spec.whatwg.org/#http-access-control-request-method | Fetch} + */ + AccessControlRequestMethod: "Access-Control-Request-Method", + + /** + * HTTP Header Age + * + * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.1: HTTP Caching} + */ + Age: "Age", + + /** + * HTTP Header Allow + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.1: HTTP Semantics} + */ + Allow: "Allow", + + /** + * HTTP Header ALPN + * + * @see {@link https://www.iana.org/go/rfc7639 | RFC 7639, Section 2: The ALPN HTTP Header Field} + */ + ALPN: "ALPN", + + /** + * HTTP Header Alt-Svc + * + * @see {@link https://www.iana.org/go/rfc7838 | RFC 7838: HTTP Alternative Services} + */ + AltSvc: "Alt-Svc", + + /** + * HTTP Header Alt-Used + * + * @see {@link https://www.iana.org/go/rfc7838 | RFC 7838: HTTP Alternative Services} + */ + AltUsed: "Alt-Used", + + /** + * HTTP Header Alternates + * + * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} + */ + Alternates: "Alternates", + + /** + * HTTP Header Apply-To-Redirect-Ref + * + * @see {@link https://www.iana.org/go/rfc4437 | RFC 4437: Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources} + */ + ApplyToRedirectRef: "Apply-To-Redirect-Ref", + + /** + * HTTP Header Authentication-Control + * + * @see {@link https://www.iana.org/go/rfc8053 | RFC 8053, Section 4: HTTP Authentication Extensions for Interactive Clients} + */ + AuthenticationControl: "Authentication-Control", + + /** + * HTTP Header Authentication-Info + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.3: HTTP Semantics} + */ + AuthenticationInfo: "Authentication-Info", + + /** + * HTTP Header Authorization + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.2: HTTP Semantics} + */ + Authorization: "Authorization", + + /** + * HTTP Header Cache-Control + * + * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.2} + */ + CacheControl: "Cache-Control", + + /** + * HTTP Header Cache-Status + * + * @see {@link https://www.iana.org/go/rfc9211 | RFC9211: The Cache-Status HTTP Response Header Field} + */ + CacheStatus: "Cache-Status", + + /** + * HTTP Header Cal-Managed-ID + * + * @see {@link https://www.iana.org/go/rfc8607 | RFC 8607, Section 5.1: Calendaring Extensions to WebDAV (CalDAV): Managed Attachments} + */ + CalManagedId: "Cal-Managed-ID", + + /** + * HTTP Header CalDAV-Timezones + * + * @see {@link https://www.iana.org/go/rfc7809 | RFC 7809, Section 7.1: Calendaring Extensions to WebDAV (CalDAV): Time Zones by Reference} + */ + CaldavTimezones: "CalDAV-Timezones", + + /** + * HTTP Header Capsule-Protocol + * + * @see {@link https://www.iana.org/go/rfc9297 | RFC9297} + */ + CapsuleProtocol: "Capsule-Protocol", + + /** + * HTTP Header CDN-Cache-Control + * + * @see {@link https://www.iana.org/go/rfc9213 | RFC9213: Targeted HTTP Cache Control} + */ + CdnCacheControl: "CDN-Cache-Control", + + /** + * HTTP Header CDN-Loop + * + * @see {@link https://www.iana.org/go/rfc8586 | RFC 8586: Loop Detection in Content Delivery Networks (CDNs)} + */ + CdnLoop: "CDN-Loop", + + /** + * HTTP Header Cert-Not-After + * + * @see {@link https://www.iana.org/go/rfc8739 | RFC 8739, Section 3.3: Support for Short-Term, Automatically Renewed (STAR) Certificates in the Automated Certificate Management Environment (ACME)} + */ + CertNotAfter: "Cert-Not-After", + + /** + * HTTP Header Cert-Not-Before + * + * @see {@link https://www.iana.org/go/rfc8739 | RFC 8739, Section 3.3: Support for Short-Term, Automatically Renewed (STAR) Certificates in the Automated Certificate Management Environment (ACME)} + */ + CertNotBefore: "Cert-Not-Before", + + /** + * HTTP Header Clear-Site-Data + * + * @see {@link https://w3.org/TR/clear-site-data/#header | Clear Site Data} + */ + ClearSiteData: "Clear-Site-Data", + + /** + * HTTP Header Client-Cert + * + * @see {@link https://www.iana.org/go/rfc9440 | RFC9440, Section 2: Client-Cert HTTP Header Field} + */ + ClientCert: "Client-Cert", + + /** + * HTTP Header Client-Cert-Chain + * + * @see {@link https://www.iana.org/go/rfc9440 | RFC9440, Section 2: Client-Cert HTTP Header Field} + */ + ClientCertChain: "Client-Cert-Chain", + + /** + * HTTP Header Close + * + * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Section 9.6: HTTP/1.1} + */ + Close: "Close", + + /** + * HTTP Header Connection + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.1: HTTP Semantics} + */ + Connection: "Connection", + + /** + * HTTP Header Content-Digest + * + * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 2: Digest Fields} + */ + ContentDigest: "Content-Digest", + + /** + * HTTP Header Content-Disposition + * + * @see {@link https://www.iana.org/go/rfc6266 | RFC 6266: Use of the Content-Disposition Header Field in the + Hypertext Transfer Protocol (HTTP)} + */ + ContentDisposition: "Content-Disposition", + + /** + * HTTP Header Content-Encoding + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.4: HTTP Semantics} + */ + ContentEncoding: "Content-Encoding", + + /** + * HTTP Header Content-Language + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.5: HTTP Semantics} + */ + ContentLanguage: "Content-Language", + + /** + * HTTP Header Content-Length + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.6: HTTP Semantics} + */ + ContentLength: "Content-Length", + + /** + * HTTP Header Content-Location + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.7: HTTP Semantics} + */ + ContentLocation: "Content-Location", + + /** + * HTTP Header Content-Range + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.4: HTTP Semantics} + */ + ContentRange: "Content-Range", + + /** + * HTTP Header Content-Security-Policy + * + * @see {@link https://www.w3.org/TR/CSP/#csp-header | Content Security Policy Level 3} + */ + ContentSecurityPolicy: "Content-Security-Policy", + + /** + * HTTP Header Content-Security-Policy-Report-Only + * + * @see {@link https://www.w3.org/TR/CSP/#cspro-header | Content Security Policy Level 3} + */ + ContentSecurityPolicyReportOnly: "Content-Security-Policy-Report-Only", + + /** + * HTTP Header Content-Type + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.3: HTTP Semantics} + */ + ContentType: "Content-Type", + + /** + * HTTP Header Cookie + * + * @see {@link https://www.iana.org/go/rfc6265 | RFC 6265: HTTP State Management Mechanism} + */ + Cookie: "Cookie", + + /** + * HTTP Header Cross-Origin-Embedder-Policy + * + * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-embedder-policy | HTML} + */ + CrossOriginEmbedderPolicy: "Cross-Origin-Embedder-Policy", + + /** + * HTTP Header Cross-Origin-Embedder-Policy-Report-Only + * + * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-embedder-policy-report-only | HTML} + */ + CrossOriginEmbedderPolicyReportOnly: + "Cross-Origin-Embedder-Policy-Report-Only", + + /** + * HTTP Header Cross-Origin-Opener-Policy + * + * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-opener-policy-2 | HTML} + */ + CrossOriginOpenerPolicy: "Cross-Origin-Opener-Policy", + + /** + * HTTP Header Cross-Origin-Opener-Policy-Report-Only + * + * @see {@link https://html.spec.whatwg.org/multipage/origin.html#cross-origin-opener-policy-report-only | HTML} + */ + CrossOriginOpenerPolicyReportOnly: "Cross-Origin-Opener-Policy-Report-Only", + + /** + * HTTP Header Cross-Origin-Resource-Policy + * + * @see {@link https://fetch.spec.whatwg.org/#cross-origin-resource-policy-header | Fetch} + */ + CrossOriginResourcePolicy: "Cross-Origin-Resource-Policy", + + /** + * HTTP Header DASL + * + * @see {@link https://www.iana.org/go/rfc5323 | RFC 5323: Web Distributed Authoring and Versioning (WebDAV) SEARCH} + */ + DASL: "DASL", + + /** + * HTTP Header Date + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 6.6.1: HTTP Semantics} + */ + Date: "Date", + + /** + * HTTP Header DAV + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} + */ + DAV: "DAV", + + /** + * HTTP Header Delta-Base + * + * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} + */ + DeltaBase: "Delta-Base", + + /** + * HTTP Header Depth + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} + */ + Depth: "Depth", + + /** + * HTTP Header Destination + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} + */ + Destination: "Destination", + + /** + * HTTP Header DPoP + * + * @see {@link https://www.iana.org/go/rfc9449 | RFC9449: OAuth 2.0 Demonstrating Proof of Possession (DPoP)} + */ + DPoP: "DPoP", + + /** + * HTTP Header DPoP-Nonce + * + * @see {@link https://www.iana.org/go/rfc9449 | RFC9449: OAuth 2.0 Demonstrating Proof of Possession (DPoP)} + */ + DpopNonce: "DPoP-Nonce", + + /** + * HTTP Header Early-Data + * + * @see {@link https://www.iana.org/go/rfc8470 | RFC 8470: Using Early Data in HTTP} + */ + EarlyData: "Early-Data", + + /** + * HTTP Header ETag + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.8.3: HTTP Semantics} + */ + ETag: "ETag", + + /** + * HTTP Header Expect + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.1: HTTP Semantics} + */ + Expect: "Expect", + + /** + * HTTP Header Expires + * + * @see {@link https://www.iana.org/go/rfc9111 | RFC9111, Section 5.3: HTTP Caching} + */ + Expires: "Expires", + + /** + * HTTP Header Forwarded + * + * @see {@link https://www.iana.org/go/rfc7239 | RFC 7239: Forwarded HTTP Extension} + */ + Forwarded: "Forwarded", + + /** + * HTTP Header From + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.2: HTTP Semantics} + */ + From: "From", + + /** + * HTTP Header Hobareg + * + * @see {@link https://www.iana.org/go/rfc7486 | RFC 7486, Section 6.1.1: HTTP Origin-Bound Authentication (HOBA)} + */ + Hobareg: "Hobareg", + + /** + * HTTP Header Host + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.2: HTTP Semantics} + */ + Host: "Host", + + /** + * HTTP Header If + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} + */ + If: "If", + + /** + * HTTP Header If-Match + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.1: HTTP Semantics} + */ + IfMatch: "If-Match", + + /** + * HTTP Header If-Modified-Since + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.3: HTTP Semantics} + */ + IfModifiedSince: "If-Modified-Since", + + /** + * HTTP Header If-None-Match + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.2: HTTP Semantics} + */ + IfNoneMatch: "If-None-Match", + + /** + * HTTP Header If-Range + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.5: HTTP Semantics} + */ + IfRange: "If-Range", + + /** + * HTTP Header If-Schedule-Tag-Match + * + * @see {@link https://www.iana.org/go/rfc6638 | RFC 6338: Scheduling Extensions to CalDAV} + */ + IfScheduleTagMatch: "If-Schedule-Tag-Match", + + /** + * HTTP Header If-Unmodified-Since + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 13.1.4: HTTP Semantics} + */ + IfUnmodifiedSince: "If-Unmodified-Since", + + /** + * HTTP Header IM + * + * @see {@link https://www.iana.org/go/rfc3229 | RFC 3229: Delta encoding in HTTP} + */ + IM: "IM", + + /** + * HTTP Header Include-Referred-Token-Binding-ID + * + * @see {@link https://www.iana.org/go/rfc8473 | RFC 8473: Token Binding over HTTP} + */ + IncludeReferredTokenBindingId: "Include-Referred-Token-Binding-ID", + + /** + * HTTP Header Keep-Alive + * + * @see {@link https://www.iana.org/go/rfc2068 | RFC 2068: Hypertext Transfer Protocol -- HTTP/1.1} + */ + KeepAlive: "Keep-Alive", + + /** + * HTTP Header Label + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC 3253: Versioning Extensions to WebDAV: (Web Distributed Authoring and Versioning)} + */ + Label: "Label", + + /** + * HTTP Header Last-Event-ID + * + * @see {@link https://html.spec.whatwg.org/multipage/server-sent-events.html#last-event-id | HTML} + */ + LastEventId: "Last-Event-ID", + + /** + * HTTP Header Last-Modified + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 8.8.2: HTTP Semantics} + */ + LastModified: "Last-Modified", + + /** + * HTTP Header Link + * + * @see {@link https://www.iana.org/go/rfc8288 | RFC 8288: Web Linking} + */ + Link: "Link", + + /** + * HTTP Header Location + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.2: HTTP Semantics} + */ + Location: "Location", + + /** + * HTTP Header Lock-Token + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} + */ + LockToken: "Lock-Token", + + /** + * HTTP Header Max-Forwards + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.2: HTTP Semantics} + */ + MaxForwards: "Max-Forwards", + + /** + * HTTP Header Memento-Datetime + * + * @see {@link https://www.iana.org/go/rfc7089 | RFC 7089: HTTP Framework for Time-Based Access to Resource States -- Memento} + */ + MementoDatetime: "Memento-Datetime", + + /** + * HTTP Header Meter + * + * @see {@link https://www.iana.org/go/rfc2227 | RFC 2227: Simple Hit-Metering and Usage-Limiting for HTTP} + */ + Meter: "Meter", + + /** + * HTTP Header MIME-Version + * + * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Appendix B.1: HTTP/1.1} + */ + MimeVersion: "MIME-Version", + + /** + * HTTP Header Negotiate + * + * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} + */ + Negotiate: "Negotiate", + + /** + * HTTP Header NEL + * + * @see {@link https://www.w3.org/TR/network-error-logging/ | Network Error Logging} + */ + NEL: "NEL", + + /** + * HTTP Header OData-EntityId + * + * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/csprd05/part1-protocol/odata-v4.01-csprd05-part1-protocol.html#_Toc14172735 | OData Version 4.01 Part 1: Protocol} + * @see {@link #OASIS | OASIS} + * @see {@link #Chet_Ensign | Chet_Ensign} + */ + OdataEntityid: "OData-EntityId", + + /** + * HTTP Header OData-Isolation + * + * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderIsolationODataIsolation | OData Version 4.01 Part 1: Protocol} + * @see {@link #OASIS | OASIS} + * @see {@link #Chet_Ensign | Chet_Ensign} + */ + OdataIsolation: "OData-Isolation", + + /** + * HTTP Header OData-MaxVersion + * + * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderODataMaxVersion | OData Version 4.01 Part 1: Protocol} + * @see {@link #OASIS | OASIS} + * @see {@link #Chet_Ensign | Chet_Ensign} + */ + OdataMaxversion: "OData-MaxVersion", + + /** + * HTTP Header OData-Version + * + * @see {@link http://docs.oasis-open.org/odata/odata/v4.01/odata-v4.01-part1-protocol.html#sec_HeaderODataVersion | OData Version 4.01 Part 1: Protocol} + * @see {@link #OASIS | OASIS} + * @see {@link #Chet_Ensign | Chet_Ensign} + */ + OdataVersion: "OData-Version", + + /** + * HTTP Header Optional-WWW-Authenticate + * + * @see {@link https://www.iana.org/go/rfc8053 | RFC 8053, Section 3: HTTP Authentication Extensions for Interactive Clients} + */ + OptionalWwwAuthenticate: "Optional-WWW-Authenticate", + + /** + * HTTP Header Ordering-Type + * + * @see {@link https://www.iana.org/go/rfc3648 | RFC 3648: Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol} + */ + OrderingType: "Ordering-Type", + + /** + * HTTP Header Origin + * + * @see {@link https://www.iana.org/go/rfc6454 | RFC 6454: The Web Origin Concept} + */ + Origin: "Origin", + + /** + * HTTP Header Origin-Agent-Cluster + * + * @see {@link https://html.spec.whatwg.org/multipage/origin.html#origin-agent-cluster | HTML} + */ + OriginAgentCluster: "Origin-Agent-Cluster", + + /** + * HTTP Header OSCORE + * + * @see {@link https://www.iana.org/go/rfc8613 | RFC 8613, Section 11.1: Object Security for Constrained RESTful Environments (OSCORE)} + */ + OSCORE: "OSCORE", + + /** + * HTTP Header OSLC-Core-Version + * + * @see {@link https://docs.oasis-open-projects.org/oslc-op/core/v3.0/oslc-core.html | OASIS Project Specification 01} + * @see {@link #OASIS | OASIS} + * @see {@link #Chet_Ensign | Chet_Ensign} + */ + OslcCoreVersion: "OSLC-Core-Version", + + /** + * HTTP Header Overwrite + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} + */ + Overwrite: "Overwrite", + + /** + * HTTP Header Ping-From + * + * @see {@link https://html.spec.whatwg.org/multipage/links.html#ping-from | HTML} + */ + PingFrom: "Ping-From", + + /** + * HTTP Header Ping-To + * + * @see {@link https://html.spec.whatwg.org/multipage/links.html#ping-to | HTML} + */ + PingTo: "Ping-To", + + /** + * HTTP Header Position + * + * @see {@link https://www.iana.org/go/rfc3648 | RFC 3648: Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol} + */ + Position: "Position", + + /** + * HTTP Header Prefer + * + * @see {@link https://www.iana.org/go/rfc7240 | RFC 7240: Prefer Header for HTTP} + */ + Prefer: "Prefer", + + /** + * HTTP Header Preference-Applied + * + * @see {@link https://www.iana.org/go/rfc7240 | RFC 7240: Prefer Header for HTTP} + */ + PreferenceApplied: "Preference-Applied", + + /** + * HTTP Header Priority + * + * @see {@link https://www.iana.org/go/rfc9218 | RFC9218: Extensible Prioritization Scheme for HTTP} + */ + Priority: "Priority", + + /** + * HTTP Header Proxy-Authenticate + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.1: HTTP Semantics} + */ + ProxyAuthenticate: "Proxy-Authenticate", + + /** + * HTTP Header Proxy-Authentication-Info + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.3: HTTP Semantics} + */ + ProxyAuthenticationInfo: "Proxy-Authentication-Info", + + /** + * HTTP Header Proxy-Authorization + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.7.2: HTTP Semantics} + */ + ProxyAuthorization: "Proxy-Authorization", + + /** + * HTTP Header Proxy-Status + * + * @see {@link https://www.iana.org/go/rfc9209 | RFC9209: The Proxy-Status HTTP Response Header Field} + */ + ProxyStatus: "Proxy-Status", + + /** + * HTTP Header Public-Key-Pins + * + * @see {@link https://www.iana.org/go/rfc7469 | RFC 7469: Public Key Pinning Extension for HTTP} + */ + PublicKeyPins: "Public-Key-Pins", + + /** + * HTTP Header Public-Key-Pins-Report-Only + * + * @see {@link https://www.iana.org/go/rfc7469 | RFC 7469: Public Key Pinning Extension for HTTP} + */ + PublicKeyPinsReportOnly: "Public-Key-Pins-Report-Only", + + /** + * HTTP Header Range + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 14.2: HTTP Semantics} + */ + Range: "Range", + + /** + * HTTP Header Redirect-Ref + * + * @see {@link https://www.iana.org/go/rfc4437 | RFC 4437: Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources} + */ + RedirectRef: "Redirect-Ref", + + /** + * HTTP Header Referer + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.3: HTTP Semantics} + */ + Referer: "Referer", + + /** + * HTTP Header Refresh + * + * @see {@link https://html.spec.whatwg.org/multipage/browsing-the-web.html#refresh | HTML} + */ + Refresh: "Refresh", + + /** + * HTTP Header Replay-Nonce + * + * @see {@link https://www.iana.org/go/rfc8555 | RFC 8555, Section 6.5.1: Automatic Certificate Management Environment (ACME)} + */ + ReplayNonce: "Replay-Nonce", + + /** + * HTTP Header Repr-Digest + * + * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 3: Digest Fields} + */ + ReprDigest: "Repr-Digest", + + /** + * HTTP Header Retry-After + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.3: HTTP Semantics} + */ + RetryAfter: "Retry-After", + + /** + * HTTP Header Schedule-Reply + * + * @see {@link https://www.iana.org/go/rfc6638 | RFC 6638: Scheduling Extensions to CalDAV} + */ + ScheduleReply: "Schedule-Reply", + + /** + * HTTP Header Schedule-Tag + * + * @see {@link https://www.iana.org/go/rfc6638 | RFC 6338: Scheduling Extensions to CalDAV} + */ + ScheduleTag: "Schedule-Tag", + + /** + * HTTP Header Sec-Purpose + * + * @see {@link https://fetch.spec.whatwg.org/#sec-purpose-header | Fetch} + */ + SecPurpose: "Sec-Purpose", + + /** + * HTTP Header Sec-Token-Binding + * + * @see {@link https://www.iana.org/go/rfc8473 | RFC 8473: Token Binding over HTTP} + */ + SecTokenBinding: "Sec-Token-Binding", + + /** + * HTTP Header Sec-WebSocket-Accept + * + * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} + */ + SecWebsocketAccept: "Sec-WebSocket-Accept", + + /** + * HTTP Header Sec-WebSocket-Extensions + * + * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} + */ + SecWebsocketExtensions: "Sec-WebSocket-Extensions", + + /** + * HTTP Header Sec-WebSocket-Key + * + * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} + */ + SecWebsocketKey: "Sec-WebSocket-Key", + + /** + * HTTP Header Sec-WebSocket-Protocol + * + * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} + */ + SecWebsocketProtocol: "Sec-WebSocket-Protocol", + + /** + * HTTP Header Sec-WebSocket-Version + * + * @see {@link https://www.iana.org/go/rfc6455 | RFC 6455: The WebSocket Protocol} + */ + SecWebsocketVersion: "Sec-WebSocket-Version", + + /** + * HTTP Header Server + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.2.4: HTTP Semantics} + */ + Server: "Server", + + /** + * HTTP Header Server-Timing + * + * @see {@link https://www.w3.org/TR/server-timing/ | Server Timing} + */ + ServerTiming: "Server-Timing", + + /** + * HTTP Header Set-Cookie + * + * @see {@link https://www.iana.org/go/rfc6265 | RFC 6265: HTTP State Management Mechanism} + */ + SetCookie: "Set-Cookie", + + /** + * HTTP Header Signature + * + * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 4.2: HTTP Message Signatures} + */ + Signature: "Signature", + + /** + * HTTP Header Signature-Input + * + * @see {@link https://www.iana.org/go/draft-ietf-httpbis-message-signatures-19 | RFC-ietf-httpbis-message-signatures-19, Section 4.1: HTTP Message Signatures} + */ + SignatureInput: "Signature-Input", + + /** + * HTTP Header SLUG + * + * @see {@link https://www.iana.org/go/rfc5023 | RFC 5023: The Atom Publishing Protocol} + */ + SLUG: "SLUG", + + /** + * HTTP Header SoapAction + * + * @see {@link https://www.w3.org/TR/2000/NOTE-SOAP-20000508 | Simple Object Access Protocol (SOAP) 1.1} + */ + SoapAction: "SoapAction", + + /** + * HTTP Header Status-URI + * + * @see {@link https://www.iana.org/go/rfc2518 | RFC 2518: HTTP Extensions for Distributed Authoring -- WEBDAV} + */ + StatusUri: "Status-URI", + + /** + * HTTP Header Strict-Transport-Security + * + * @see {@link https://www.iana.org/go/rfc6797 | RFC 6797: HTTP Strict Transport Security (HSTS)} + */ + StrictTransportSecurity: "Strict-Transport-Security", + + /** + * HTTP Header Sunset + * + * @see {@link https://www.iana.org/go/rfc8594 | RFC 8594: The Sunset HTTP Header Field} + */ + Sunset: "Sunset", + + /** + * HTTP Header TCN + * + * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} + */ + TCN: "TCN", + + /** + * HTTP Header TE + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.4: HTTP Semantics} + */ + TE: "TE", + + /** + * HTTP Header Timeout + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC 4918: HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)} + */ + Timeout: "Timeout", + + /** + * HTTP Header Topic + * + * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.4: Generic Event Delivery Using HTTP Push} + */ + Topic: "Topic", + + /** + * HTTP Header Traceparent + * + * @see {@link https://www.w3.org/TR/trace-context/#traceparent-header | Trace Context} + */ + Traceparent: "Traceparent", + + /** + * HTTP Header Tracestate + * + * @see {@link https://www.w3.org/TR/trace-context/#tracestate-header | Trace Context} + */ + Tracestate: "Tracestate", + + /** + * HTTP Header Trailer + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 6.6.2: HTTP Semantics} + */ + Trailer: "Trailer", + + /** + * HTTP Header Transfer-Encoding + * + * @see {@link https://www.iana.org/go/rfc9112 | RFC9112, Section 6.1: HTTP Semantics} + */ + TransferEncoding: "Transfer-Encoding", + + /** + * HTTP Header TTL + * + * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.2: Generic Event Delivery Using HTTP Push} + */ + TTL: "TTL", + + /** + * HTTP Header Upgrade + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.8: HTTP Semantics} + */ + Upgrade: "Upgrade", + + /** + * HTTP Header Urgency + * + * @see {@link https://www.iana.org/go/rfc8030 | RFC 8030, Section 5.3: Generic Event Delivery Using HTTP Push} + */ + Urgency: "Urgency", + + /** + * HTTP Header User-Agent + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 10.1.5: HTTP Semantics} + */ + UserAgent: "User-Agent", + + /** + * HTTP Header Variant-Vary + * + * @see {@link https://www.iana.org/go/rfc2295 | RFC 2295: Transparent Content Negotiation in HTTP} + */ + VariantVary: "Variant-Vary", + + /** + * HTTP Header Vary + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 12.5.5: HTTP Semantics} + */ + Vary: "Vary", + + /** + * HTTP Header Via + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 7.6.3: HTTP Semantics} + */ + Via: "Via", + + /** + * HTTP Header Want-Content-Digest + * + * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 4: Digest Fields} + */ + WantContentDigest: "Want-Content-Digest", + + /** + * HTTP Header Want-Repr-Digest + * + * @see {@link https://www.iana.org/go/draft-ietf-httpbis-digest-headers-13 | RFC-ietf-httpbis-digest-headers-13, Section 4: Digest Fields} + */ + WantReprDigest: "Want-Repr-Digest", + + /** + * HTTP Header WWW-Authenticate + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 11.6.1: HTTP Semantics} + */ + WwwAuthenticate: "WWW-Authenticate", + + /** + * HTTP Header X-Content-Type-Options + * + * @see {@link https://fetch.spec.whatwg.org/#x-content-type-options-header | Fetch} + */ + XContentTypeOptions: "X-Content-Type-Options", + + /** + * HTTP Header X-Frame-Options + * + * @see {@link https://html.spec.whatwg.org/multipage/browsing-the-web.html#x-frame-options | HTML} + */ + XFrameOptions: "X-Frame-Options", +} as const; + +/** + * A HTTP Header + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + */ +export type Header = typeof HEADER[keyof typeof HEADER]; diff --git a/vendor/jsr.io/@std/http/1.0.12/unstable_method.ts b/vendor/jsr.io/@std/http/1.0.12/unstable_method.ts new file mode 100644 index 0000000..f855173 --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/unstable_method.ts @@ -0,0 +1,298 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +// This module is generated from {@link https://www.iana.org/assignments/http-methods/http-methods.xhtml#methods | IANA Hypertext Transfer Protocol (HTTP) Method Registry} + +/** + * HTTP Methods derived from IANA Hypertext Transfer Protocol (HTTP) Method Registry + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + * + * @see {@link https://www.iana.org/assignments/http-methods/http-methods.xhtml#methods | IANA Hypertext Transfer Protocol (HTTP) Method Registry} + */ +export const METHOD = { + /** + * ACL (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3744 | RFC3744, Section 8.1} + */ + Acl: "ACL", + + /** + * BASELINE-CONTROL (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 12.6} + */ + BaselineControl: "BASELINE-CONTROL", + + /** + * BIND (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 4} + */ + Bind: "BIND", + + /** + * CHECKIN (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.4, Section 9.4} + */ + Checkin: "CHECKIN", + + /** + * CHECKOUT (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.3, Section 8.8} + */ + Checkout: "CHECKOUT", + + /** + * CONNECT (Safe: no; Idempotent: no) + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.6} + */ + Connect: "CONNECT", + + /** + * COPY (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.8} + */ + Copy: "COPY", + + /** + * DELETE (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.5} + */ + Delete: "DELETE", + + /** + * GET (Safe: yes; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.1} + */ + Get: "GET", + + /** + * HEAD (Safe: yes; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.2} + */ + Head: "HEAD", + + /** + * LABEL (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 8.2} + */ + Label: "LABEL", + + /** + * LINK (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc2068 | RFC2068, Section 19.6.1.2} + */ + Link: "LINK", + + /** + * LOCK (Safe: no; Idempotent: no) + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.10} + */ + Lock: "LOCK", + + /** + * MERGE (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 11.2} + */ + Merge: "MERGE", + + /** + * MKACTIVITY (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 13.5} + */ + Mkactivity: "MKACTIVITY", + + /** + * MKCALENDAR (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc4791 | RFC4791, Section 5.3.1} + * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.3} + */ + Mkcalendar: "MKCALENDAR", + + /** + * MKCOL (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.3} + * @see {@link https://www.iana.org/go/rfc5689 | RFC5689, Section 3} + * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.3} + */ + Mkcol: "MKCOL", + + /** + * MKREDIRECTREF (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc4437 | RFC4437, Section 6} + */ + Mkredirectref: "MKREDIRECTREF", + + /** + * MKWORKSPACE (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 6.3} + */ + Mkworkspace: "MKWORKSPACE", + + /** + * MOVE (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.9} + */ + Move: "MOVE", + + /** + * OPTIONS (Safe: yes; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.7} + */ + Options: "OPTIONS", + + /** + * ORDERPATCH (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3648 | RFC3648, Section 7} + */ + Orderpatch: "ORDERPATCH", + + /** + * PATCH (Safe: no; Idempotent: no) + * + * @see {@link https://www.iana.org/go/rfc5789 | RFC5789, Section 2} + */ + Patch: "PATCH", + + /** + * POST (Safe: no; Idempotent: no) + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.3} + */ + Post: "POST", + + /** + * PRI (Safe: yes; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc9113 | RFC9113, Section 3.4} + */ + Pri: "PRI", + + /** + * PROPFIND (Safe: yes; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.1} + * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.1} + */ + Propfind: "PROPFIND", + + /** + * PROPPATCH (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.2} + * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.2} + */ + Proppatch: "PROPPATCH", + + /** + * PUT (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.4} + */ + Put: "PUT", + + /** + * REBIND (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 6} + */ + Rebind: "REBIND", + + /** + * REPORT (Safe: yes; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 3.6} + * @see {@link https://www.iana.org/go/rfc8144 | RFC8144, Section 2.1} + */ + Report: "REPORT", + + /** + * SEARCH (Safe: yes; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc5323 | RFC5323, Section 2} + */ + Search: "SEARCH", + + /** + * TRACE (Safe: yes; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc9110 | RFC9110, Section 9.3.8} + */ + Trace: "TRACE", + + /** + * UNBIND (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc5842 | RFC5842, Section 5} + */ + Unbind: "UNBIND", + + /** + * UNCHECKOUT (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 4.5} + */ + Uncheckout: "UNCHECKOUT", + + /** + * UNLINK (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc2068 | RFC2068, Section 19.6.1.3} + */ + Unlink: "UNLINK", + + /** + * UNLOCK (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc4918 | RFC4918, Section 9.11} + */ + Unlock: "UNLOCK", + + /** + * UPDATE (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 7.1} + */ + Update: "UPDATE", + + /** + * UPDATEREDIRECTREF (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc4437 | RFC4437, Section 7} + */ + Updateredirectref: "UPDATEREDIRECTREF", + + /** + * VERSION-CONTROL (Safe: no; Idempotent: yes) + * + * @see {@link https://www.iana.org/go/rfc3253 | RFC3253, Section 3.5} + */ + VersionControl: "VERSION-CONTROL", +} as const; + +/** + * A HTTP Method + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + */ +export type Method = typeof METHOD[keyof typeof METHOD]; diff --git a/vendor/jsr.io/@std/http/1.0.12/unstable_route.ts b/vendor/jsr.io/@std/http/1.0.12/unstable_route.ts new file mode 100644 index 0000000..17d3bc5 --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/unstable_route.ts @@ -0,0 +1,110 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +/** + * Request handler for {@linkcode Route}. + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + * + * Extends {@linkcode Deno.ServeHandlerInfo} by adding adding a `params` argument. + * + * @param request Request + * @param info Request info + * @param params URL pattern result + */ +export type Handler = ( + request: Request, + params?: URLPatternResult, + info?: Deno.ServeHandlerInfo, +) => Response | Promise; + +/** + * Route configuration for {@linkcode route}. + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + */ +export interface Route { + /** + * Request URL pattern. + */ + pattern: URLPattern; + /** + * Request method. This can be a string or an array of strings. + * + * @default {"GET"} + */ + method?: string | string[]; + /** + * Request handler. + */ + handler: Handler; +} + +/** + * Routes requests to different handlers based on the request path and method. + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + * + * @example Usage + * ```ts ignore + * import { route, type Route } from "@std/http/unstable-route"; + * import { serveDir } from "@std/http/file-server"; + * + * const routes: Route[] = [ + * { + * pattern: new URLPattern({ pathname: "/about" }), + * handler: () => new Response("About page"), + * }, + * { + * pattern: new URLPattern({ pathname: "/users/:id" }), + * handler: (_req, params) => new Response(params?.pathname.groups.id), + * }, + * { + * pattern: new URLPattern({ pathname: "/static/*" }), + * handler: (req: Request) => serveDir(req) + * }, + * { + * method: ["GET", "HEAD"], + * pattern: new URLPattern({ pathname: "/api" }), + * handler: (req: Request) => new Response(req.method === 'HEAD' ? null : 'ok'), + * }, + * ]; + * + * function defaultHandler(_req: Request) { + * return new Response("Not found", { status: 404 }); + * } + * + * Deno.serve(route(routes, defaultHandler)); + * ``` + * + * @param routes Route configurations + * @param defaultHandler Default request handler that's returned when no route + * matches the given request. Serving HTTP 404 Not Found or 405 Method Not + * Allowed response can be done in this function. + * @returns Request handler + */ +export function route( + routes: Route[], + defaultHandler: ( + request: Request, + info?: Deno.ServeHandlerInfo, + ) => Response | Promise, +): ( + request: Request, + info?: Deno.ServeHandlerInfo, +) => Response | Promise { + // TODO(iuioiua): Use `URLPatternList` once available (https://github.com/whatwg/urlpattern/pull/166) + return (request: Request, info?: Deno.ServeHandlerInfo) => { + for (const route of routes) { + const match = route.pattern.exec(request.url); + if ( + match && + (Array.isArray(route.method) + ? route.method.includes(request.method) + : request.method === (route.method ?? "GET")) + ) { + return route.handler(request, match, info); + } + } + return defaultHandler(request, info); + }; +} diff --git a/vendor/jsr.io/@std/http/1.0.12/unstable_signed_cookie.ts b/vendor/jsr.io/@std/http/1.0.12/unstable_signed_cookie.ts new file mode 100644 index 0000000..965d078 --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/unstable_signed_cookie.ts @@ -0,0 +1,128 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { decodeHex, encodeHex } from "jsr:@std/encoding@^1.0.5/hex"; + +const encoder = new TextEncoder(); + +function splitByLast(value: string, separator: string): [string, string] { + const index = value.lastIndexOf(separator); + return index === -1 + ? [value, ""] + : [value.slice(0, index), value.slice(index + 1)]; +} + +/** + * Returns a promise with the signed cookie value from the given cryptographic + * key. + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + * + * @example Usage + * ```ts ignore no-assert + * import { signCookie } from "@std/http/unstable-signed-cookie"; + * import { setCookie } from "@std/http/cookie"; + * + * const key = await crypto.subtle.generateKey( + * { name: "HMAC", hash: "SHA-256" }, + * true, + * ["sign", "verify"], + * ); + * const value = await signCookie("my-cookie-value", key); + * + * const headers = new Headers(); + * setCookie(headers, { + * name: "my-cookie-name", + * value, + * }); + * + * const cookieHeader = headers.get("set-cookie"); + * ``` + * + * @param value The cookie value to sign. + * @param key The cryptographic key to sign the cookie with. + * @returns The signed cookie. + */ +export async function signCookie( + value: string, + key: CryptoKey, +): Promise { + const data = encoder.encode(value); + const signature = await crypto.subtle.sign("HMAC", key, data); + const signatureHex = encodeHex(signature); + return `${value}.${signatureHex}`; +} + +/** + * Returns a promise of a boolean indicating whether the signed cookie is valid. + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + * + * @example Usage + * ```ts ignore no-assert + * import { verifySignedCookie } from "@std/http/unstable-signed-cookie"; + * import { getCookies } from "@std/http/cookie"; + * + * const key = await crypto.subtle.generateKey( + * { name: "HMAC", hash: "SHA-256" }, + * true, + * ["sign", "verify"], + * ); + * + * const headers = new Headers({ + * Cookie: "location=tokyo.37f7481039762eef5cd46669f93c0a3214dfecba7d0cdc0b0dc40036063fb22e", + * }); + * const signedCookie = getCookies(headers)["location"]; + * if (signedCookie === undefined) throw new Error("Cookie not found"); + * await verifySignedCookie(signedCookie, key); + * ``` + * + * @param signedCookie The signed cookie to verify. + * @param key The cryptographic key to verify the cookie with. + * @returns Whether or not the cookie is valid. + */ +export async function verifySignedCookie( + signedCookie: string, + key: CryptoKey, +): Promise { + const [value, signatureHex] = splitByLast(signedCookie, "."); + if (!value || !signatureHex) return false; + + const data = encoder.encode(value); + const signature = decodeHex(signatureHex); + + return await crypto.subtle.verify("HMAC", key, signature, data); +} + +/** + * Parses a signed cookie to get its value. + * + * Important: always verify the cookie using {@linkcode verifySignedCookie} first. + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + * + * @example Usage + * ```ts ignore no-assert + * import { verifySignedCookie, parseSignedCookie } from "@std/http/unstable-signed-cookie"; + * import { getCookies } from "@std/http/cookie"; + * + * const key = await crypto.subtle.generateKey( + * { name: "HMAC", hash: "SHA-256" }, + * true, + * ["sign", "verify"], + * ); + * + * const headers = new Headers({ + * Cookie: "location=tokyo.37f7481039762eef5cd46669f93c0a3214dfecba7d0cdc0b0dc40036063fb22e", + * }); + * const signedCookie = getCookies(headers)["location"]; + * if (signedCookie === undefined) throw new Error("Cookie not found"); + * await verifySignedCookie(signedCookie, key); + * const cookie = parseSignedCookie(signedCookie); + * ``` + * + * @param signedCookie The signed cookie to parse the value from. + * @returns The parsed cookie. + */ +export function parseSignedCookie(signedCookie: string): string { + return splitByLast(signedCookie, ".")[0]; +} diff --git a/vendor/jsr.io/@std/http/1.0.12/user_agent.ts b/vendor/jsr.io/@std/http/1.0.12/user_agent.ts new file mode 100644 index 0000000..90f2ed0 --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12/user_agent.ts @@ -0,0 +1,1258 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +// This module was heavily inspired by ua-parser-js +// (https://www.npmjs.com/package/ua-parser-js) which is MIT licensed and +// Copyright (c) 2012-2024 Faisal Salman + +/** Provides {@linkcode UserAgent} and related types to be able to provide a + * structured understanding of a user agent string. + * + * @module + */ + +const ARCHITECTURE = "architecture"; +const MODEL = "model"; +const NAME = "name"; +const TYPE = "type"; +const VENDOR = "vendor"; +const VERSION = "version"; +const EMPTY = ""; + +const CONSOLE = "console"; +const EMBEDDED = "embedded"; +const MOBILE = "mobile"; +const TABLET = "tablet"; +const SMARTTV = "smarttv"; +const WEARABLE = "wearable"; + +const PREFIX_MOBILE = "Mobile "; +const SUFFIX_BROWSER = " Browser"; + +const AMAZON = "Amazon"; +const APPLE = "Apple"; +const ASUS = "ASUS"; +const BLACKBERRY = "BlackBerry"; +const CHROME = "Chrome"; +const EDGE = "Edge"; +const FACEBOOK = "Facebook"; +const FIREFOX = "Firefox"; +const GOOGLE = "Google"; +const HUAWEI = "Huawei"; +const LG = "LG"; +const MICROSOFT = "Microsoft"; +const MOTOROLA = "Motorola"; +const OPERA = "Opera"; +const SAMSUNG = "Samsung"; +const SHARP = "Sharp"; +const SONY = "Sony"; +const WINDOWS = "Windows"; +const XIAOMI = "Xiaomi"; +const ZEBRA = "Zebra"; + +type ProcessingFn = (value: string) => string | undefined; + +type MatchingTuple = [matchers: [RegExp, ...RegExp[]], processors: ( + | string + | [string, string] + | [string, ProcessingFn] + | [string, RegExp, string] + | [string, RegExp, string, ProcessingFn] +)[]]; + +interface Matchers { + browser: MatchingTuple[]; + cpu: MatchingTuple[]; + device: MatchingTuple[]; + engine: MatchingTuple[]; + os: MatchingTuple[]; +} + +/** The browser as described by a user agent string. */ +export interface Browser { + /** The major version of a browser. */ + readonly major: string | undefined; + /** The name of a browser. */ + readonly name: string | undefined; + /** The version of a browser. */ + readonly version: string | undefined; +} + +/** The device as described by a user agent string. */ +export interface Device { + /** The model of the device. */ + readonly model: string | undefined; + /** The type of device. */ + readonly type: + | "console" + | "embedded" + | "mobile" + | "tablet" + | "smarttv" + | "wearable" + | undefined; + /** The vendor of the device. */ + readonly vendor: string | undefined; +} + +/** The browser engine as described by a user agent string. */ +export interface Engine { + /** The browser engine name. */ + readonly name: string | undefined; + /** The browser engine version. */ + readonly version: string | undefined; +} + +/** The OS as described by a user agent string. */ +export interface Os { + /** The OS name. */ + readonly name: string | undefined; + /** The OS version. */ + readonly version: string | undefined; +} + +/** The CPU information as described by a user agent string. */ +export interface Cpu { + /** The CPU architecture. */ + readonly architecture: string | undefined; +} + +function lowerize(str: string): string { + return str.toLowerCase(); +} + +function majorize(str: string | undefined): string | undefined { + return str ? str.replace(/[^\d\.]/g, EMPTY).split(".")[0] : undefined; +} + +function trim(str: string): string { + return str.trimStart(); +} + +/** A map where the key is the common Windows version and the value is a string + * or array of strings of potential values parsed from the user-agent string. */ +const windowsVersionMap = new Map([ + ["ME", "4.90"], + ["NT 3.11", "NT3.51"], + ["NT 4.0", "NT4.0"], + ["2000", "NT 5.0"], + ["XP", ["NT 5.1", "NT 5.2"]], + ["Vista", "NT 6.0"], + ["7", "NT 6.1"], + ["8", "NT 6.2"], + ["8.1", "NT 6.3"], + ["10", ["NT 6.4", "NT 10.0"]], + ["RT", "ARM"], +]); + +function has(str1: string, str2: string): boolean { + return lowerize(str2).includes(lowerize(str1)); +} + +function mapWinVer(str: string) { + for (const [key, value] of windowsVersionMap) { + if (Array.isArray(value)) { + for (const v of value) { + if (has(v, str)) { + return key; + } + } + } else if (has(value, str)) { + return key; + } + } + return str || undefined; +} + +function mapper( + // deno-lint-ignore no-explicit-any + target: any, + ua: string, + tuples: MatchingTuple[], +): void { + let matches: RegExpExecArray | null = null; + for (const [matchers, processors] of tuples) { + let j = 0; + let k = 0; + while (j < matchers.length && !matches) { + matches = matchers[j++]!.exec(ua); + + if (matches) { + for (const processor of processors) { + const match = matches[++k]; + if (Array.isArray(processor)) { + if (processor.length === 2) { + const [prop, value] = processor; + if (typeof value === "function") { + target[prop] = value.call( + target, + match!, + ); + } else { + target[prop] = value; + } + } else if (processor.length === 3) { + const [prop, re, value] = processor; + target[prop] = match ? match.replace(re, value) : undefined; + } else { + const [prop, re, value, fn] = processor; + target[prop] = match + ? fn.call(prop, match.replace(re, value)) + : undefined; + } + } else { + target[processor] = match ? match : undefined; + } + } + } + } + } +} + +/** An object with properties that are arrays of tuples which provide match + * patterns and configuration on how to interpret the capture groups. */ +const matchers: Matchers = { + browser: [ + [ + [/\b(?:crmo|crios)\/([\w\.]+)/i], // Chrome for Android/iOS + [VERSION, [NAME, `${PREFIX_MOBILE}${CHROME}`]], + ], + [ + [/edg(?:e|ios|a)?\/([\w\.]+)/i], // Microsoft Edge + [VERSION, [NAME, "Edge"]], + ], + + // Presto based + [ + [ + /(opera mini)\/([-\w\.]+)/i, // Opera Mini + /(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i, // Opera Mobi/Tablet + /(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i, // Opera + ], + [NAME, VERSION], + ], + [ + [/opios[\/ ]+([\w\.]+)/i], + [VERSION, [NAME, `${OPERA} Mini`]], + ], + [ + [/\bopr\/([\w\.]+)/i], + [VERSION, [NAME, OPERA]], + ], + + [ + [ + // Mixed + /(kindle)\/([\w\.]+)/i, // Kindle + /(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer + // Trident based + /(avant |iemobile|slim)(?:browser)?[\/ ]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser + /(ba?idubrowser)[\/ ]?([\w\.]+)/i, // Baidu Browser + /(?:ms|\()(ie) ([\w\.]+)/i, // Internet Explorer + + // Webkit/KHTML based + // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon/Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo + /(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i, + /(heytap|ovi)browser\/([\d\.]+)/i, // HeyTap/Ovi + /(weibo)__([\d\.]+)/i, // Weibo + ], + [NAME, VERSION], + ], + [ + [/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i], + [VERSION, [NAME, "UCBrowser"]], + ], + [ + [ + /microm.+\bqbcore\/([\w\.]+)/i, // WeChat Desktop for Windows Built-in Browser + /\bqbcore\/([\w\.]+).+microm/i, + ], + [VERSION, [NAME, "WeChat(Win) Desktop"]], + ], + [ + [/micromessenger\/([\w\.]+)/i], + [VERSION, [NAME, "WeChat"]], + ], + [ + [/konqueror\/([\w\.]+)/i], + [VERSION, [NAME, "Konqueror"]], + ], + [ + [/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i], + [VERSION, [NAME, "IE"]], + ], + [ + [/ya(?:search)?browser\/([\w\.]+)/i], + [VERSION, [NAME, "Yandex"]], + ], + [ + [/(avast|avg)\/([\w\.]+)/i], + [[NAME, /(.+)/, `$1 Secure${SUFFIX_BROWSER}`], VERSION], + ], + [ + [/\bfocus\/([\w\.]+)/i], + [VERSION, [NAME, `${FIREFOX} Focus`]], + ], + [ + [/\bopt\/([\w\.]+)/i], + [VERSION, [NAME, `${OPERA} Touch`]], + ], + [ + [/coc_coc\w+\/([\w\.]+)/i], + [VERSION, [NAME, "Coc Coc"]], + ], + [ + [/dolfin\/([\w\.]+)/i], + [VERSION, [NAME, "Dolphin"]], + ], + [ + [/coast\/([\w\.]+)/i], + [VERSION, [NAME, `${OPERA} Coast`]], + ], + [ + [/miuibrowser\/([\w\.]+)/i], + [VERSION, [NAME, `MIUI${SUFFIX_BROWSER}`]], + ], + [ + [/fxios\/([\w\.-]+)/i], + [VERSION, [NAME, `${PREFIX_MOBILE}${FIREFOX}`]], + ], + [ + [/\bqihu|(qi?ho?o?|360)browser/i], + [[NAME, `360${SUFFIX_BROWSER}`]], + ], + [ + [/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i], + [[NAME, /(.+)/, "$1" + SUFFIX_BROWSER], VERSION], + ], + [ + [/(comodo_dragon)\/([\w\.]+)/i], + [[NAME, /_/g, " "], VERSION], + ], + [ + [ + /(electron)\/([\w\.]+) safari/i, // Electron-based App + /(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, // Tesla + /m?(qqbrowser|baiduboxapp|2345Explorer)[\/ ]?([\w\.]+)/i, + ], + [NAME, VERSION], + ], + [ + [ + /(metasr)[\/ ]?([\w\.]+)/i, // SouGouBrowser + /(lbbrowser)/i, // LieBao Browser + /\[(linkedin)app\]/i, // LinkedIn App for iOS & Android + ], + [NAME], + ], + [ + [/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i], + [[NAME, FACEBOOK], VERSION], + ], + [ + [ + /(kakao(?:talk|story))[\/ ]([\w\.]+)/i, // Kakao App + /(naver)\(.*?(\d+\.[\w\.]+).*\)/i, // Naver InApp + /safari (line)\/([\w\.]+)/i, // Line App for iOS + /\b(line)\/([\w\.]+)\/iab/i, // Line App for Android + /(chromium|instagram)[\/ ]([-\w\.]+)/i, // Chromium/Instagram + ], + [NAME, VERSION], + ], + [ + [/\bgsa\/([\w\.]+) .*safari\//i], + [VERSION, [NAME, "GSA"]], + ], + [ + [/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i], + [VERSION, [NAME, "TikTok"]], + ], + [ + [/headlesschrome(?:\/([\w\.]+)| )/i], + [VERSION, [NAME, `${CHROME} Headless`]], + ], + [ + [/ wv\).+(chrome)\/([\w\.]+)/i], + [[NAME, `${CHROME} WebView`], VERSION], + ], + [ + [/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i], + [VERSION, [NAME, `Android${SUFFIX_BROWSER}`]], + ], + [ + [/chrome\/([\w\.]+) mobile/i], + [VERSION, [NAME, `${PREFIX_MOBILE}${CHROME}`]], + ], + [ + [/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i], + [NAME, VERSION], + ], + [ + [/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i], + [VERSION, [NAME, `${PREFIX_MOBILE}Safari`]], + ], + [ + [/iphone .*mobile(?:\/\w+ | ?)safari/i], + [[NAME, `${PREFIX_MOBILE}Safari`]], + ], + [ + [/version\/([\w\.\,]+) .*(safari)/i], + [VERSION, NAME], + ], + [ + [/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i], + [NAME, [VERSION, "1"]], + ], + [ + [/(webkit|khtml)\/([\w\.]+)/i], + [NAME, VERSION], + ], + [ + [/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i], + [[NAME, `${PREFIX_MOBILE}${FIREFOX}`], VERSION], + ], + [ + [/(navigator|netscape\d?)\/([-\w\.]+)/i], + [[NAME, "Netscape"], VERSION], + ], + [ + [/mobile vr; rv:([\w\.]+)\).+firefox/i], + [VERSION, [NAME, `${FIREFOX} Reality`]], + ], + [ + [ + /ekiohf.+(flow)\/([\w\.]+)/i, // Flow + /(swiftfox)/i, // Swiftfox + /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i, + // IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar + /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i, + // Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix + /(firefox)\/([\w\.]+)/i, // Other Firefox-based + /(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i, // Mozilla + + // Other + /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i, + // Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser + /(links) \(([\w\.]+)/i, // Links + /panasonic;(viera)/i, + ], + [NAME, VERSION], + ], + [ + [/(cobalt)\/([\w\.]+)/i], + [NAME, [VERSION, /[^\d\.]+./, EMPTY]], + ], + ], + cpu: [ + [ + [/\b(?:(amd|x|x86[-_]?|wow|win)64)\b/i], + [[ARCHITECTURE, "amd64"]], + ], + [ + [ + /(ia32(?=;))/i, // IA32 (quicktime) + /((?:i[346]|x)86)[;\)]/i, + ], + [[ARCHITECTURE, "ia32"]], + ], + [ + [/\b(aarch64|arm(v?8e?l?|_?64))\b/i], + [[ARCHITECTURE, "arm64"]], + ], + [ + [/windows (ce|mobile); ppc;/i], + [[ARCHITECTURE, "arm"]], + ], + [ + [/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i], + [[ARCHITECTURE, /ower/, EMPTY, lowerize]], + ], + [ + [/(sun4\w)[;\)]/i], + [[ARCHITECTURE, "sparc"]], + ], + [ + [/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i], + [[ARCHITECTURE, lowerize]], + ], + ], + device: [ + [ + [/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i], + [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], + ], + [ + [ + /\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i, + /samsung[- ]([-\w]+)/i, + /sec-(sgh\w+)/i, + ], + [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], + ], + [ + [/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i], + [MODEL, [VENDOR, APPLE], [TYPE, MOBILE]], + ], + [ + [ + /\((ipad);[-\w\),; ]+apple/i, // iPad + /applecoremedia\/[\w\.]+ \((ipad)/i, + /\b(ipad)\d\d?,\d\d?[;\]].+ios/i, + ], + [MODEL, [VENDOR, APPLE], [TYPE, TABLET]], + ], + [ + [/(macintosh);/i], + [MODEL, [VENDOR, APPLE]], + ], + [ + [/\b(sh-?[altvz]?\d\d[a-ekm]?)/i], + [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], + ], + [ + [/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i], + [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], + ], + [ + [ + /(?:huawei|honor)([-\w ]+)[;\)]/i, + /\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i, + ], + [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], + ], + [ + [ + /\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i, // Xiaomi POCO + /\b; (\w+) build\/hm\1/i, // Xiaomi Hongmi 'numeric' models + /\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i, // Xiaomi Hongmi + /\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i, // Xiaomi Redmi + /\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i, + ], + [[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, MOBILE]], + ], + [ + [/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i], + [[MODEL, /_/g, " "], [VENDOR, XIAOMI], [TYPE, TABLET]], + ], + [ + [ + /; (\w+) bui.+ oppo/i, + /\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i, + ], + [MODEL, [VENDOR, "OPPO"], [TYPE, MOBILE]], + ], + [ + [/vivo (\w+)(?: bui|\))/i, /\b(v[12]\d{3}\w?[at])(?: bui|;)/i], + [MODEL, [VENDOR, "Vivo"], [TYPE, MOBILE]], + ], + [ + [/\b(rmx[12]\d{3})(?: bui|;|\))/i], + [MODEL, [VENDOR, "Realme"], [TYPE, MOBILE]], + ], + [ + [ + /\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i, + /\bmot(?:orola)?[- ](\w*)/i, + /((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i, + ], + [MODEL, [VENDOR, MOTOROLA], [TYPE, MOBILE]], + ], + [ + [/\b(mz60\d|xoom[2 ]{0,2}) build\//i], + [MODEL, [VENDOR, MOTOROLA], [TYPE, TABLET]], + ], + [ + [/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i], + [MODEL, [VENDOR, LG], [TYPE, TABLET]], + ], + [ + [ + /(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i, + /\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i, + /\blg-?([\d\w]+) bui/i, + ], + [MODEL, [VENDOR, LG], [TYPE, MOBILE]], + ], + [ + [ + /(ideatab[-\w ]+)/i, + /lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i, + ], + [MODEL, [VENDOR, "Lenovo"], [TYPE, TABLET]], + ], + [ + [/(?:maemo|nokia).*(n900|lumia \d+)/i, /nokia[-_ ]?([-\w\.]*)/i], + [[MODEL, /_/g, " "], [VENDOR, "Nokia"], [TYPE, MOBILE]], + ], + [ + [/(pixel c)\b/i], + [MODEL, [VENDOR, GOOGLE], [TYPE, TABLET]], + ], + [ + [/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i], + [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], + ], + [ + [/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i], + [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], + ], + [ + [/sony tablet [ps]/i, /\b(?:sony)?sgp\w+(?: bui|\))/i], + [[MODEL, "Xperia Tablet"], [VENDOR, SONY], [TYPE, TABLET]], + ], + [ + [ + / (kb2005|in20[12]5|be20[12][59])\b/i, + /(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i, + ], + [MODEL, [VENDOR, "OnePlus"], [TYPE, MOBILE]], + ], + [ + [ + /(alexa)webm/i, + /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i, // Kindle Fire without Silk / Echo Show + /(kf[a-z]+)( bui|\)).+silk\//i, + ], + [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], + ], + [ + [/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i], + [[MODEL, /(.+)/g, "Fire Phone $1"], [VENDOR, AMAZON], [TYPE, MOBILE]], + ], + [ + [/(playbook);[-\w\),; ]+(rim)/i], + [MODEL, VENDOR, [TYPE, TABLET]], + ], + [ + [/\b((?:bb[a-f]|st[hv])100-\d)/i, /\(bb10; (\w+)/i], + [MODEL, [VENDOR, BLACKBERRY], [TYPE, MOBILE]], + ], + [ + [/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i], + [MODEL, [VENDOR, ASUS], [TYPE, TABLET]], + ], + [ + [/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i], + [MODEL, [VENDOR, ASUS], [TYPE, MOBILE]], + ], + [ + [/(nexus 9)/i], + [MODEL, [VENDOR, "HTC"], [TYPE, TABLET]], + ], + [ + [ + /(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i, // HTC + /(zte)[- ]([\w ]+?)(?: bui|\/|\))/i, + /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i, + ], + [VENDOR, [MODEL, /_/g, " "], [TYPE, MOBILE]], + ], + [ + [/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i], + [MODEL, [VENDOR, "Acer"], [TYPE, TABLET]], + ], + [ + [ + /droid.+; (m[1-5] note) bui/i, + /\bmz-([-\w]{2,})/i, + ], + [MODEL, [VENDOR, "Meizu"], [TYPE, MOBILE]], + ], + [ + [ + /(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i, + // BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron + /(hp) ([\w ]+\w)/i, // HP iPAQ + /(asus)-?(\w+)/i, // Asus + /(microsoft); (lumia[\w ]+)/i, // Microsoft Lumia + /(lenovo)[-_ ]?([-\w]+)/i, // Lenovo + /(jolla)/i, // Jolla + /(oppo) ?([\w ]+) bui/i, + ], + [VENDOR, MODEL, [TYPE, MOBILE]], + ], + [ + [ + /(kobo)\s(ereader|touch)/i, // Kobo + /(archos) (gamepad2?)/i, // Archos + /(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad + /(kindle)\/([\w\.]+)/i, + ], + [VENDOR, MODEL, [TYPE, TABLET]], + ], + [ + [/(surface duo)/i], + [MODEL, [VENDOR, MICROSOFT], [TYPE, TABLET]], + ], + [ + [/droid [\d\.]+; (fp\du?)(?: b|\))/i], + [MODEL, [VENDOR, "Fairphone"], [TYPE, MOBILE]], + ], + [ + [/(shield[\w ]+) b/i], + [MODEL, [VENDOR, "Nvidia"], [TYPE, TABLET]], + ], + [ + [/(sprint) (\w+)/i], + [VENDOR, MODEL, [TYPE, MOBILE]], + ], + [ + [/(kin\.[onetw]{3})/i], + [[MODEL, /\./g, " "], [VENDOR, MICROSOFT], [TYPE, MOBILE]], + ], + [ + [/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i], + [MODEL, [VENDOR, ZEBRA], [TYPE, TABLET]], + ], + [ + [/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i], + [MODEL, [VENDOR, ZEBRA], [TYPE, MOBILE]], + ], + [ + [/smart-tv.+(samsung)/i], + [VENDOR, [TYPE, SMARTTV]], + ], + [ + [/hbbtv.+maple;(\d+)/i], + [[MODEL, /^/, "SmartTV"], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], + ], + [ + [/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i], + [[VENDOR, LG], [TYPE, SMARTTV]], + ], + [ + [/(apple) ?tv/i], + [VENDOR, [MODEL, `${APPLE} TV`], [TYPE, SMARTTV]], + ], + [ + [/crkey/i], + [[MODEL, `${CHROME}cast`], [VENDOR, GOOGLE], [TYPE, SMARTTV]], + ], + [ + [/droid.+aft(\w)( bui|\))/i], + [MODEL, [VENDOR, AMAZON], [TYPE, SMARTTV]], + ], + [ + [/\(dtv[\);].+(aquos)/i, /(aquos-tv[\w ]+)\)/i], + [MODEL, [VENDOR, SHARP], [TYPE, SMARTTV]], + ], + [ + [/(bravia[\w ]+)( bui|\))/i], + [MODEL, [VENDOR, SONY], [TYPE, SMARTTV]], + ], + [ + [/(mitv-\w{5}) bui/i], + [MODEL, [VENDOR, XIAOMI], [TYPE, SMARTTV]], + ], + [ + [/Hbbtv.*(technisat) (.*);/i], + [VENDOR, MODEL, [TYPE, SMARTTV]], + ], + [ + [ + /\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i, // Roku + /hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i, + ], + [[VENDOR, trim], [MODEL, trim], [TYPE, SMARTTV]], + ], + [ + [/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i], + [[TYPE, SMARTTV]], + ], + [ + [ + /(ouya)/i, // Ouya + /(nintendo) (\w+)/i, + ], + [VENDOR, MODEL, [TYPE, CONSOLE]], + ], + [ + [/droid.+; (shield) bui/i], + [MODEL, [VENDOR, "Nvidia"], [TYPE, CONSOLE]], + ], + [ + [/(playstation \w+)/i], + [MODEL, [VENDOR, SONY], [TYPE, CONSOLE]], + ], + [ + [/\b(xbox(?: one)?(?!; xbox))[\); ]/i], + [MODEL, [VENDOR, MICROSOFT], [TYPE, CONSOLE]], + ], + [ + [/((pebble))app/i], + [VENDOR, MODEL, [TYPE, WEARABLE]], + ], + [ + [/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i], + [MODEL, [VENDOR, APPLE], [TYPE, WEARABLE]], + ], + [ + [/droid.+; (glass) \d/i], + [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], + ], + [ + [/droid.+; (wt63?0{2,3})\)/i], + [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], + ], + [ + [/(quest( 2| pro)?)/i], + [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], + ], + [ + [/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i], + [VENDOR, [TYPE, EMBEDDED]], + ], + [ + [/(aeobc)\b/i], + [MODEL, [VENDOR, AMAZON], [TYPE, EMBEDDED]], + ], + [ + [/droid .+?; ([^;]+?)(?: bui|\) applew).+? mobile safari/i], + [MODEL, [TYPE, MOBILE]], + ], + [ + [/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i], + [MODEL, [TYPE, TABLET]], + ], + [ + [/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i], + [[TYPE, TABLET]], + ], + [ + [/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i], + [[TYPE, MOBILE]], + ], + [ + [/(android[-\w\. ]{0,9});.+buil/i], + [MODEL, [VENDOR, "Generic"]], + ], + ], + engine: [ + [ + [/windows.+ edge\/([\w\.]+)/i], + [VERSION, [NAME, `${EDGE}HTML`]], + ], + [ + [/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i], + [VERSION, [NAME, "Blink"]], + ], + [ + [ + /(presto)\/([\w\.]+)/i, // Presto + /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna + /ekioh(flow)\/([\w\.]+)/i, // Flow + /(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i, // KHTML/Tasman/Links + /(icab)[\/ ]([23]\.[\d\.]+)/i, // iCab + /\b(libweb)/i, + ], + [NAME, VERSION], + ], + [ + [/rv\:([\w\.]{1,9})\b.+(gecko)/i], + [VERSION, NAME], + ], + ], + os: [ + [ + [/microsoft (windows) (vista|xp)/i], + [NAME, VERSION], + ], + [ + [ + /(windows) nt 6\.2; (arm)/i, // Windows RT + /(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i, // Windows Phone + /(windows)[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i, + ], + [NAME, [VERSION, mapWinVer]], + ], + [ + [/(win(?=3|9|n)|win 9x )([nt\d\.]+)/i], + [[NAME, WINDOWS], [VERSION, mapWinVer]], + ], + [ + [ + /ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i, // iOS + /(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i, + /cfnetwork\/.+darwin/i, + ], + [[VERSION, /_/g, "."], [NAME, "iOS"]], + ], + [ + [/(mac os x) ?([\w\. ]*)/i, /(macintosh|mac_powerpc\b)(?!.+haiku)/i], + [[NAME, "macOS"], [VERSION, /_/g, "."]], + ], + [ + [/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i], + [VERSION, NAME], + ], + [ + [ + /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i, + /(blackberry)\w*\/([\w\.]*)/i, // Blackberry + /(tizen|kaios)[\/ ]([\w\.]+)/i, // Tizen/KaiOS + /\((series40);/i, + ], + [NAME, VERSION], + ], + [ + [/\(bb(10);/i], + [VERSION, [NAME, BLACKBERRY]], + ], + [ + [/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i], + [VERSION, [NAME, "Symbian"]], + ], + [ + [/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i], + [VERSION, [NAME, `${FIREFOX} OS`]], + ], + [ + [ + /web0s;.+rt(tv)/i, + /\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i, + ], + [VERSION, [NAME, "webOS"]], + ], + [ + [/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i], + [VERSION, [NAME, "watchOS"]], + ], + [ + [/crkey\/([\d\.]+)/i], + [VERSION, [NAME, `${CHROME}cast`]], + ], + [ + [/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i], + [[NAME, "Chrome OS"], VERSION], + ], + [ + [ + /panasonic;(viera)/i, // Panasonic Viera + /(netrange)mmh/i, // Netrange + /(nettv)\/(\d+\.[\w\.]+)/i, // NetTV + + // Console + /(nintendo|playstation) (\w+)/i, // Nintendo/Playstation + /(xbox); +xbox ([^\);]+)/i, // Microsoft Xbox (360, One, X, S, Series X, Series S) + + // Other + /\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i, // Joli/Palm + /(mint)[\/\(\) ]?(\w*)/i, // Mint + /(mageia|vectorlinux)[; ]/i, // Mageia/VectorLinux + /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i, + // Ubuntu/Debian/SUSE/Gentoo/Arch/Slackware/Fedora/Mandriva/CentOS/PCLinuxOS/RedHat/Zenwalk/Linpus/Raspbian/Plan9/Minix/RISCOS/Contiki/Deepin/Manjaro/elementary/Sabayon/Linspire + /(hurd|linux) ?([\w\.]*)/i, // Hurd/Linux + /(gnu) ?([\w\.]*)/i, // GNU + /\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i, // FreeBSD/NetBSD/OpenBSD/PC-BSD/GhostBSD/DragonFly + /(haiku) (\w+)/i, + ], + [NAME, VERSION], + ], + [ + [/(sunos) ?([\w\.\d]*)/i], + [[NAME, "Solaris"], VERSION], + ], + [ + [ + /((?:open)?solaris)[-\/ ]?([\w\.]*)/i, // Solaris + /(aix) ((\d)(?=\.|\)| )[\w\.])*/i, // AIX + /\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i, // BeOS/OS2/AmigaOS/MorphOS/OpenVMS/Fuchsia/HP-UX/SerenityOS + /(unix) ?([\w\.]*)/i, + ], + [NAME, VERSION], + ], + ], +}; +/** + * A representation of user agent string, which can be used to determine + * environmental information represented by the string. All properties are + * determined lazily. + * + * @example Usage + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * return new Response(`Hello, ${userAgent.browser.name} + * on ${userAgent.os.name} ${userAgent.os.version}!`); + * }); + * ``` + */ +export class UserAgent { + #browser: Browser | undefined; + #cpu: Cpu | undefined; + #device: Device | undefined; + #engine: Engine | undefined; + #os: Os | undefined; + #ua: string; + + /** + * Constructs a new instance. + * + * @param ua The user agent string to construct this instance with. + */ + constructor(ua: string | null) { + this.#ua = ua ?? ""; + } + + /** + * The name and version of the browser extracted from the user agent + * string. + * + * @example Usage + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * return new Response(`Hello, ${userAgent.browser.name}!`); + * }); + * ``` + * + * @returns An object with information about the user agent's browser. + */ + get browser(): Browser { + if (!this.#browser) { + this.#browser = { name: undefined, version: undefined, major: undefined }; + mapper(this.#browser, this.#ua, matchers.browser); + // deno-lint-ignore no-explicit-any + (this.#browser as any).major = majorize(this.#browser.version); + Object.freeze(this.#browser); + } + return this.#browser; + } + + /** + * The architecture of the CPU extracted from the user agent string. + * + * @example Usage + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * return new Response(`Hello, ${userAgent.cpu.architecture}!`); + * }); + * ``` + * + * @returns An object with information about the user agent's CPU. + */ + get cpu(): Cpu { + if (!this.#cpu) { + this.#cpu = { architecture: undefined }; + mapper(this.#cpu, this.#ua, matchers.cpu); + Object.freeze(this.#cpu); + } + return this.#cpu; + } + + /** + * The model, type, and vendor of a device if present in a user agent + * string. + * + * @example Usage + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * return new Response(`Hello, ${userAgent.device.model}!`); + * }); + * ``` + * + * @returns An object with information about the user agent's device. + */ + get device(): Device { + if (!this.#device) { + this.#device = { model: undefined, type: undefined, vendor: undefined }; + mapper(this.#device, this.#ua, matchers.device); + Object.freeze(this.#device); + } + return this.#device; + } + + /** + * The name and version of the browser engine in a user agent string. + * + * @example Usage + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * return new Response(`Hello, ${userAgent.engine.name}!`); + * }); + * ``` + * + * @returns An object with information about the user agent's browser engine. + */ + get engine(): Engine { + if (!this.#engine) { + this.#engine = { name: undefined, version: undefined }; + mapper(this.#engine, this.#ua, matchers.engine); + Object.freeze(this.#engine); + } + return this.#engine; + } + + /** + * The name and version of the operating system in a user agent string. + * + * @example Usage + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * return new Response(`Hello, ${userAgent.os.name}!`); + * }); + * ``` + * + * @returns An object with information about the user agent's OS. + */ + get os(): Os { + if (!this.#os) { + this.#os = { name: undefined, version: undefined }; + mapper(this.#os, this.#ua, matchers.os); + Object.freeze(this.#os); + } + return this.#os; + } + + /** + * A read only version of the user agent string related to the instance. + * + * @example Usage + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * return new Response(`Hello, ${userAgent.ua}!`); + * }); + * ``` + * + * @returns The user agent string. + */ + get ua(): string { + return this.#ua; + } + + /** + * Converts the current instance to a JSON representation. + * + * @example Usage + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * return new Response(`Hello, ${JSON.stringify(userAgent.toJSON())}!`); + * }); + * ``` + * + * @returns A JSON representation on this user agent instance. + */ + toJSON(): { + browser: Browser; + cpu: Cpu; + device: Device; + engine: Engine; + os: Os; + ua: string; + } { + const { browser, cpu, device, engine, os, ua } = this; + return { browser, cpu, device, engine, os, ua }; + } + + /** + * Converts the current instance to a string. + * + * @example Usage + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * return new Response(`Hello, ${userAgent.toString()}!`); + * }); + * ``` + * + * @returns The user agent string. + */ + toString(): string { + return this.#ua; + } + + /** + * Custom output for {@linkcode Deno.inspect}. + * + * @example Usage + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * Deno.inspect(userAgent); + * return new Response(`Hello, ${userAgent.ua}!`); + * }); + * ``` + * + * @param inspect internal inspect function. + * + * @returns The custom value to inspect. + */ + [Symbol.for("Deno.customInspect")]( + inspect: (value: unknown) => string, + ): string { + const { browser, cpu, device, engine, os, ua } = this; + return `${this.constructor.name} ${ + inspect({ browser, cpu, device, engine, os, ua }) + }`; + } + + /** + * Custom output for Node's + * {@linkcode https://nodejs.org/api/util.html#utilinspectobject-options | util.inspect}. + * + * @example Usage + * ```ts ignore + * import { UserAgent } from "@std/http/user-agent"; + * import { inspect } from "node:util"; + * + * Deno.serve((req) => { + * const userAgent = new UserAgent(req.headers.get("user-agent") ?? ""); + * inspect(userAgent); + * return new Response(`Hello, ${userAgent.ua}!`); + * }); + * ``` + * + * @param depth internal inspect depth. + * @param options internal inspect option. + * @param inspect internal inspect function. + * + * @returns The custom value to inspect. + */ + [Symbol.for("nodejs.util.inspect.custom")]( + depth: number, + // deno-lint-ignore no-explicit-any + options: any, + inspect: (value: unknown, options?: unknown) => string, + ): string { + if (depth < 0) { + return options.stylize(`[${this.constructor.name}]`, "special"); + } + + const newOptions = Object.assign({}, options, { + depth: options.depth === null ? null : options.depth - 1, + }); + const { browser, cpu, device, engine, os, ua } = this; + return `${options.stylize(this.constructor.name, "special")} ${ + inspect( + { browser, cpu, device, engine, os, ua }, + newOptions, + ) + }`; + } +} diff --git a/vendor/jsr.io/@std/http/1.0.12_meta.json b/vendor/jsr.io/@std/http/1.0.12_meta.json new file mode 100644 index 0000000..2a964ca --- /dev/null +++ b/vendor/jsr.io/@std/http/1.0.12_meta.json @@ -0,0 +1,756 @@ +{ + "manifest": { + "/status.ts": { + "size": 13745, + "checksum": "sha256-d56a4cec387f9365555fe946632e346e99734700725154fe1698652813a21874" + }, + "/cookie.ts": { + "size": 12776, + "checksum": "sha256-6f962409d220bfea1556d53bc30f2a7f685e9ac7a0bb6250eb4fd0cfe6d0e478" + }, + "/negotiation_test.ts": { + "size": 5011, + "checksum": "sha256-cf931c0d0ae127f7b0cfa586ad3623f340394b450e7b5209f132a4bd178745fc" + }, + "/testdata/user_agent/browser-all.json": { + "size": 51879, + "checksum": "sha256-af2bd9b60e457c31c0dc4e78aa656c9b0219455fcc84bc063665b4d7d3b14cf0" + }, + "/testdata/file_server_as_library.ts": { + "size": 234, + "checksum": "sha256-59dd5cba82a77d39977d6c0e1f2912faf12fd8e5206dae13be481dec07bdba7a" + }, + "/testdata/user_agent/device-all.json": { + "size": 105317, + "checksum": "sha256-47ab0afe26f11638ce27099fe8fa6bd710d3fff4199fc3af2aa8de0f7812be12" + }, + "/unstable_signed_cookie_test.ts": { + "size": 2217, + "checksum": "sha256-893fba6fc21dc4aa75b2f7140ef5855179d2c2eeeeccac847dc25b685729b077" + }, + "/mod.ts": { + "size": 3342, + "checksum": "sha256-19474ce5d6d3b2cd47cf02a6cf8cfae258badb62a1db0e092bf07009211700aa" + }, + "/testdata/subdir-with-index/index.html": { + "size": 37, + "checksum": "sha256-7a74e785f7737fa4e405c655d542269241e2cf48843dea13d78cd22daa2c65df" + }, + "/testdata/tls/localhost.key": { + "size": 1708, + "checksum": "sha256-a2022d1b1dd1dc502538990c28a22a7094d26d8f5ba6282cbff4f9767fc5d7fa" + }, + "/cookie_test.ts": { + "size": 16356, + "checksum": "sha256-6c67b3a8a319089f47a695959dc964e3edd4a253e81fe1affca0f990d44e4bcd" + }, + "/testdata/hello.html": { + "size": 163, + "checksum": "sha256-68b54793b713257506b609152474170aae58bff962b9ea714fc5307ab8c09ac8" + }, + "/negotiation.ts": { + "size": 6805, + "checksum": "sha256-d697912cb4524f094662acccdcece27a2bdb9af7350220f83ab9a9ece9a98ba0" + }, + "/testdata/tls/localhost.crt": { + "size": 1245, + "checksum": "sha256-f03aed2154c7f5396d38c4183b8eba3d61b78149d52342eb8813776266278477" + }, + "/_negotiation/media_type.ts": { + "size": 4998, + "checksum": "sha256-1281e8364aa1131764fe9a281fef0ac7f042908798a97961fa0cac6e2b56e47a" + }, + "/server_sent_event_stream.ts": { + "size": 2977, + "checksum": "sha256-6d4542a24396e8ea2387c895377a9385517ef4cbc7e2504f1410841cac84cb98" + }, + "/file_server.ts": { + "size": 26941, + "checksum": "sha256-9c91e89657981231275800315e7b808bbc36b8e8122ea9cdc379a7ea0d8282ee" + }, + "/unstable_header.ts": { + "size": 32288, + "checksum": "sha256-b052095dd5511c82f7488df463620c4ed1cb38b820b7fc4b4b1086ed6d33960e" + }, + "/server_sent_event_stream_test.ts": { + "size": 2939, + "checksum": "sha256-0337564d297ee1da9e834d54659a27d58d1972e8a66eca72482bfc4246c9bf24" + }, + "/testdata/user_agent/engine-all.json": { + "size": 3992, + "checksum": "sha256-61360ae1b7ba14ab52f460b5503b7ae0a38a598f652198bb693c16c22cdef9d7" + }, + "/status_test.ts": { + "size": 2659, + "checksum": "sha256-f36149f15f96dccbf875d2af3205d82146f0f857fb92a2d4bdad900857494e11" + }, + "/deno.json": { + "size": 574, + "checksum": "sha256-5e90118712f346340d4d759d4b1305cab2bb6b47d8b48a1bd5553bace42853b4" + }, + "/testdata/.dotfile": { + "size": 7, + "checksum": "sha256-082e8fb7d162138b8d839d6a1ff5a3957b44747dda70c9f12b2bb8fa94d42e7c" + }, + "/_mock_conn.ts": { + "size": 1288, + "checksum": "sha256-6c6f593bbb19d98010e54160a41edf44b73b7bf4e02f9aa5924ae40b0fc8b905" + }, + "/unstable_header_test.ts": { + "size": 551, + "checksum": "sha256-71b239cb4ff1aaa9f0b52a72cf8596b9e11a07c93b879a946e819128508af5b5" + }, + "/testdata/test_file.txt": { + "size": 10034, + "checksum": "sha256-ff9f35c0695de5fb74d3642d04263344ff58f66ec095070b16e08ef4555c89da" + }, + "/user_agent_test.ts": { + "size": 6543, + "checksum": "sha256-cf7e28ab806699325cb156654d9578eb90188c972fee5d22202244721ec273b3" + }, + "/unstable_route_test.ts": { + "size": 2645, + "checksum": "sha256-11f82fbf20f1980d1f06e812b7e72a20a8ae839fd95bf082ce555d848769010f" + }, + "/testdata/user_agent/os-all.json": { + "size": 29442, + "checksum": "sha256-7465591920fb4b99a594a314d1ced905e7bcdff69c513e1be13436041d97dd36" + }, + "/testdata/test_empty_file.txt": { + "size": 0, + "checksum": "sha256-e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" + }, + "/file_server_test.ts": { + "size": 37223, + "checksum": "sha256-4f1c5ccf2186f663055d8d4379e79964c315d3fcb3f783319949830939da1761" + }, + "/_negotiation/common.ts": { + "size": 1823, + "checksum": "sha256-dfc9f891ca426241c59ee37a0fa1e7ae94e03142a92b18a55c542d45eb6fac73" + }, + "/testdata/tls/RootCA.key": { + "size": 1704, + "checksum": "sha256-500d6d1140db926f7210ce05242fcf8e1e44f1fcc52f674453c314bf91f07032" + }, + "/testdata/desktop.ini": { + "size": 195, + "checksum": "sha256-2c7e0f6873c5eadcdcb07a998cd174020c84ac3e4d3a9210f1dbbbe8a15d9d95" + }, + "/unstable_method_test.ts": { + "size": 552, + "checksum": "sha256-d2529eaeb6210fbab7ae8fe959ac3d8ab58156fa89f626aef419556f85b9c421" + }, + "/user_agent.ts": { + "size": 35700, + "checksum": "sha256-24e94181e64475d8e46f6994c51e700f6fae9c977259566a3e8dfd7f7f28ef2c" + }, + "/testdata/tls/domains.txt": { + "size": 199, + "checksum": "sha256-fb061dc0d044dc680b9c90e0e724805f7f9f4b65619b384faa7bd7a846e67400" + }, + "/_negotiation/language.ts": { + "size": 4203, + "checksum": "sha256-d4206390d020911a913bbdb46c9af9bcddfc1379f17f7998da34230585faf5f4" + }, + "/testdata/tls/RootCA.crt": { + "size": 1147, + "checksum": "sha256-11a8d4377cfdfdc6fbffbf9aef9cb94a9e339604991d115053f54aa4a756c67e" + }, + "/unstable_method.ts": { + "size": 7250, + "checksum": "sha256-9376837244e49da303fd56953b0adc7e234a9ba4b5b3fd69aed2c358a9c2b957" + }, + "/testdata/tls/README.md": { + "size": 1481, + "checksum": "sha256-933cbcfa4955d621eedcca51c59632c1ba77a66b9feb9813269898992dbd2642" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/unstable_route.ts": { + "size": 3056, + "checksum": "sha256-157e81af9d9d1f9835e046e4b5a740a9855e9dc0b14a7f37967098b8966ffc91" + }, + "/testdata/tls/RootCA.pem": { + "size": 1147, + "checksum": "sha256-11a8d4377cfdfdc6fbffbf9aef9cb94a9e339604991d115053f54aa4a756c67e" + }, + "/_negotiation/encoding.ts": { + "size": 4358, + "checksum": "sha256-c80b5bbae3c14222993437ba737342854e3ad451087747321a4df70a0731675a" + }, + "/etag.ts": { + "size": 7695, + "checksum": "sha256-3c50e49d6a000f0af7b763befe5eb36567b58d4aa4ec1593afd5b97443169d61" + }, + "/testdata/user_agent/cpu-all.json": { + "size": 6254, + "checksum": "sha256-56c35c79170a3685fbc076726afab7038066c6a7a2ae69201e269f86f2ed2154" + }, + "/etag_test.ts": { + "size": 3474, + "checksum": "sha256-6655e1ba5edcb3b23c2b0d5eac9160ff2a02b665be7000ed72653c36cc22209b" + }, + "/unstable_signed_cookie.ts": { + "size": 3954, + "checksum": "sha256-379abc2016bb15109cc8f54404808bf11e7ea754427509cfec379f9a10092764" + } + }, + "moduleGraph2": { + "/file_server.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/posix/join", + "specifierRange": [ + [ + 34, + 34 + ], + [ + 34, + 67 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/posix/normalize", + "specifierRange": [ + [ + 35, + 44 + ], + [ + 35, + 82 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/extname", + "specifierRange": [ + [ + 36, + 24 + ], + [ + 36, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/join", + "specifierRange": [ + [ + 37, + 21 + ], + [ + 37, + 48 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/relative", + "specifierRange": [ + [ + 38, + 25 + ], + [ + 38, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/resolve", + "specifierRange": [ + [ + 39, + 24 + ], + [ + 39, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/path@^1.0.8/constants", + "specifierRange": [ + [ + 40, + 34 + ], + [ + 40, + 66 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/media-types@^1.1.0/content-type", + "specifierRange": [ + [ + 41, + 28 + ], + [ + 41, + 70 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./etag.ts", + "specifierRange": [ + [ + 42, + 34 + ], + [ + 42, + 45 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./status.ts", + "specifierRange": [ + [ + 48, + 7 + ], + [ + 48, + 20 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/streams@^1.0.8/byte-slice-stream", + "specifierRange": [ + [ + 49, + 32 + ], + [ + 49, + 75 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/cli@^1.0.8/parse-args", + "specifierRange": [ + [ + 50, + 26 + ], + [ + 50, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./deno.json", + "specifierRange": [ + [ + 51, + 23 + ], + [ + 51, + 36 + ] + ], + "importAttributes": { + "known": { + "type": "json" + } + } + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/fmt@^1.0.3/bytes", + "specifierRange": [ + [ + 52, + 38 + ], + [ + 52, + 65 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/net@^1.0.4/unstable-get-network-address", + "specifierRange": [ + [ + 53, + 34 + ], + [ + 53, + 84 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/html@^1.0.3/entities", + "specifierRange": [ + [ + 54, + 23 + ], + [ + 54, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./unstable_header.ts", + "specifierRange": [ + [ + 55, + 23 + ], + [ + 55, + 45 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./unstable_method.ts", + "specifierRange": [ + [ + 56, + 23 + ], + [ + 56, + 45 + ] + ] + } + ] + }, + "/unstable_route.ts": {}, + "/_negotiation/encoding.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./common.ts", + "specifierRange": [ + [ + 31, + 58 + ], + [ + 31, + 71 + ] + ] + } + ] + }, + "/_negotiation/media_type.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./common.ts", + "specifierRange": [ + [ + 31, + 58 + ], + [ + 31, + 71 + ] + ] + } + ] + }, + "/negotiation.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_negotiation/encoding.ts", + "specifierRange": [ + [ + 10, + 35 + ], + [ + 10, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_negotiation/language.ts", + "specifierRange": [ + [ + 11, + 35 + ], + [ + 11, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_negotiation/media_type.ts", + "specifierRange": [ + [ + 12, + 36 + ], + [ + 12, + 66 + ] + ] + } + ] + }, + "/unstable_signed_cookie.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/encoding@^1.0.5/hex", + "specifierRange": [ + [ + 2, + 37 + ], + [ + 2, + 67 + ] + ] + } + ] + }, + "/unstable_header.ts": {}, + "/cookie.ts": {}, + "/etag.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/encoding@^1.0.5/base64", + "specifierRange": [ + [ + 16, + 45 + ], + [ + 16, + 78 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./cookie.ts", + "specifierRange": [ + [ + 99, + 14 + ], + [ + 99, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./etag.ts", + "specifierRange": [ + [ + 100, + 14 + ], + [ + 100, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./status.ts", + "specifierRange": [ + [ + 101, + 14 + ], + [ + 101, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./negotiation.ts", + "specifierRange": [ + [ + 102, + 14 + ], + [ + 102, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./server_sent_event_stream.ts", + "specifierRange": [ + [ + 103, + 14 + ], + [ + 103, + 45 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./user_agent.ts", + "specifierRange": [ + [ + 104, + 14 + ], + [ + 104, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./file_server.ts", + "specifierRange": [ + [ + 105, + 14 + ], + [ + 105, + 32 + ] + ] + } + ] + }, + "/unstable_method.ts": {}, + "/server_sent_event_stream.ts": {}, + "/_negotiation/common.ts": {}, + "/user_agent.ts": {}, + "/_negotiation/language.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./common.ts", + "specifierRange": [ + [ + 31, + 58 + ], + [ + 31, + 71 + ] + ] + } + ] + }, + "/status.ts": {} + }, + "exports": { + ".": "./mod.ts", + "./cookie": "./cookie.ts", + "./etag": "./etag.ts", + "./file-server": "./file_server.ts", + "./unstable-header": "./unstable_header.ts", + "./unstable-method": "./unstable_method.ts", + "./negotiation": "./negotiation.ts", + "./server-sent-event-stream": "./server_sent_event_stream.ts", + "./status": "./status.ts", + "./unstable-signed-cookie": "./unstable_signed_cookie.ts", + "./user-agent": "./user_agent.ts", + "./unstable-route": "./unstable_route.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/http/meta.json b/vendor/jsr.io/@std/http/meta.json new file mode 100644 index 0000000..2d7c4ce --- /dev/null +++ b/vendor/jsr.io/@std/http/meta.json @@ -0,0 +1,64 @@ +{ + "scope": "std", + "name": "http", + "latest": "1.0.12", + "versions": { + "1.0.8": {}, + "1.0.0-rc.2": {}, + "1.0.0-rc.6": {}, + "0.223.0": {}, + "0.221.0": {}, + "1.0.0-rc.4": {}, + "0.209.0": {}, + "0.211.0": {}, + "0.218.0": {}, + "1.0.5": {}, + "1.0.7": {}, + "1.0.2": {}, + "0.208.0": {}, + "1.0.10": {}, + "0.224.5": {}, + "1.0.11": {}, + "0.203.0": {}, + "1.0.0-rc.5": {}, + "0.224.1": {}, + "0.220.1": {}, + "0.217.0": {}, + "0.207.0": {}, + "1.0.0-rc.3": {}, + "1.0.9": {}, + "0.212.0": {}, + "0.222.1": {}, + "0.198.0": {}, + "0.216.0": {}, + "0.205.0": {}, + "1.0.0-rc.1": {}, + "1.0.4": {}, + "0.222.0": {}, + "0.214.0": {}, + "0.210.0": {}, + "0.199.0": {}, + "0.218.1": {}, + "0.201.0": {}, + "0.197.0": {}, + "1.0.12": {}, + "0.224.2": {}, + "0.213.0": {}, + "0.213.1": {}, + "0.204.0": {}, + "1.0.3": {}, + "1.0.6": {}, + "0.202.0": {}, + "0.218.2": {}, + "0.200.0": {}, + "0.215.0": {}, + "0.224.0": {}, + "0.219.1": {}, + "0.196.0": {}, + "0.224.4": {}, + "1.0.0": {}, + "0.224.3": {}, + "0.206.0": {}, + "1.0.1": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/internal/1.0.5/build_message.ts b/vendor/jsr.io/@std/internal/1.0.5/build_message.ts new file mode 100644 index 0000000..e9a42d2 --- /dev/null +++ b/vendor/jsr.io/@std/internal/1.0.5/build_message.ts @@ -0,0 +1,134 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { bgGreen, bgRed, bold, gray, green, red, white } from "./styles.ts"; +import type { DiffResult, DiffType } from "./types.ts"; + +/** + * Colors the output of assertion diffs. + * + * @param diffType Difference type, either added or removed. + * @param background If true, colors the background instead of the text. + * + * @returns A function that colors the input string. + * + * @example Usage + * ```ts + * import { createColor } from "@std/internal"; + * import { assertEquals } from "@std/assert"; + * import { bold, green, red, white } from "@std/fmt/colors"; + * + * assertEquals(createColor("added")("foo"), green(bold("foo"))); + * assertEquals(createColor("removed")("foo"), red(bold("foo"))); + * assertEquals(createColor("common")("foo"), white("foo")); + * ``` + */ +export function createColor( + diffType: DiffType, + /** + * TODO(@littledivy): Remove this when we can detect true color terminals. See + * https://github.com/denoland/deno_std/issues/2575. + */ + background = false, +): (s: string) => string { + switch (diffType) { + case "added": + return (s) => background ? bgGreen(white(s)) : green(bold(s)); + case "removed": + return (s) => background ? bgRed(white(s)) : red(bold(s)); + default: + return white; + } +} + +/** + * Prefixes `+` or `-` in diff output. + * + * @param diffType Difference type, either added or removed + * + * @returns A string representing the sign. + * + * @example Usage + * ```ts + * import { createSign } from "@std/internal"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(createSign("added"), "+ "); + * assertEquals(createSign("removed"), "- "); + * assertEquals(createSign("common"), " "); + * ``` + */ +export function createSign(diffType: DiffType): string { + switch (diffType) { + case "added": + return "+ "; + case "removed": + return "- "; + default: + return " "; + } +} + +/** Options for {@linkcode buildMessage}. */ +export interface BuildMessageOptions { + /** + * Whether to output the diff as a single string. + * + * @default {false} + */ + stringDiff?: boolean; +} + +/** + * Builds a message based on the provided diff result. + * + * @param diffResult The diff result array. + * @param options Optional parameters for customizing the message. + * + * @returns An array of strings representing the built message. + * + * @example Usage + * ```ts no-assert + * import { diffStr, buildMessage } from "@std/internal"; + * + * const diffResult = diffStr("Hello, world!", "Hello, world"); + * + * console.log(buildMessage(diffResult)); + * // [ + * // "", + * // "", + * // " [Diff] Actual / Expected", + * // "", + * // "", + * // "- Hello, world!", + * // "+ Hello, world", + * // "", + * // ] + * ``` + */ +export function buildMessage( + diffResult: ReadonlyArray>, + options: BuildMessageOptions = {}, +): string[] { + const { stringDiff = false } = options; + const messages = [ + "", + "", + ` ${gray(bold("[Diff]"))} ${red(bold("Actual"))} / ${ + green(bold("Expected")) + }`, + "", + "", + ]; + const diffMessages = diffResult.map((result) => { + const color = createColor(result.type); + const line = result.details?.map((detail) => + detail.type !== "common" + ? createColor(detail.type, true)(detail.value) + : detail.value + ).join("") ?? result.value; + return color(`${createSign(result.type)}${line}`); + }); + messages.push(...(stringDiff ? [diffMessages.join("")] : diffMessages), ""); + return messages; +} diff --git a/vendor/jsr.io/@std/internal/1.0.5/diff.ts b/vendor/jsr.io/@std/internal/1.0.5/diff.ts new file mode 100644 index 0000000..0a9776d --- /dev/null +++ b/vendor/jsr.io/@std/internal/1.0.5/diff.ts @@ -0,0 +1,317 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { DiffResult, DiffType } from "./types.ts"; + +/** Represents the farthest point in the diff algorithm. */ +export interface FarthestPoint { + /** The y-coordinate of the point. */ + y: number; + /** The id of the point. */ + id: number; +} + +const REMOVED = 1; +const COMMON = 2; +const ADDED = 3; + +/** + * Creates an array of common elements between two arrays. + * + * @typeParam T The type of elements in the arrays. + * + * @param A The first array. + * @param B The second array. + * + * @returns An array containing the common elements between the two arrays. + * + * @example Usage + * ```ts + * import { createCommon } from "@std/internal/diff"; + * import { assertEquals } from "@std/assert"; + * + * const a = [1, 2, 3]; + * const b = [1, 2, 4]; + * + * assertEquals(createCommon(a, b), [1, 2]); + * ``` + */ +export function createCommon(A: T[], B: T[]): T[] { + const common: T[] = []; + if (A.length === 0 || B.length === 0) return []; + for (let i = 0; i < Math.min(A.length, B.length); i += 1) { + const a = A[i]; + const b = B[i]; + if (a !== undefined && a === b) { + common.push(a); + } else { + return common; + } + } + return common; +} + +/** + * Asserts that the value is a {@linkcode FarthestPoint}. + * If not, an error is thrown. + * + * @param value The value to check. + * + * @returns A void value that returns once the assertion completes. + * + * @example Usage + * ```ts + * import { assertFp } from "@std/internal/diff"; + * import { assertThrows } from "@std/assert"; + * + * assertFp({ y: 0, id: 0 }); + * assertThrows(() => assertFp({ id: 0 })); + * assertThrows(() => assertFp({ y: 0 })); + * assertThrows(() => assertFp(undefined)); + * ``` + */ +export function assertFp(value: unknown): asserts value is FarthestPoint { + if ( + value == null || + typeof value !== "object" || + typeof (value as FarthestPoint)?.y !== "number" || + typeof (value as FarthestPoint)?.id !== "number" + ) { + throw new Error( + `Unexpected value, expected 'FarthestPoint': received ${typeof value}`, + ); + } +} + +/** + * Creates an array of backtraced differences. + * + * @typeParam T The type of elements in the arrays. + * + * @param A The first array. + * @param B The second array. + * @param current The current {@linkcode FarthestPoint}. + * @param swapped Boolean indicating if the arrays are swapped. + * @param routes The routes array. + * @param diffTypesPtrOffset The offset of the diff types in the routes array. + * + * @returns An array of backtraced differences. + * + * @example Usage + * ```ts + * import { backTrace } from "@std/internal/diff"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals( + * backTrace([], [], { y: 0, id: 0 }, false, new Uint32Array(0), 0), + * [], + * ); + * ``` + */ +export function backTrace( + A: T[], + B: T[], + current: FarthestPoint, + swapped: boolean, + routes: Uint32Array, + diffTypesPtrOffset: number, +): Array<{ + type: DiffType; + value: T; +}> { + const M = A.length; + const N = B.length; + const result: { type: DiffType; value: T }[] = []; + let a = M - 1; + let b = N - 1; + let j = routes[current.id]; + let type = routes[current.id + diffTypesPtrOffset]; + while (true) { + if (!j && !type) break; + const prev = j!; + if (type === REMOVED) { + result.unshift({ + type: swapped ? "removed" : "added", + value: B[b]!, + }); + b -= 1; + } else if (type === ADDED) { + result.unshift({ + type: swapped ? "added" : "removed", + value: A[a]!, + }); + a -= 1; + } else { + result.unshift({ type: "common", value: A[a]! }); + a -= 1; + b -= 1; + } + j = routes[prev]; + type = routes[prev + diffTypesPtrOffset]; + } + return result; +} + +/** + * Creates a {@linkcode FarthestPoint}. + * + * @param k The current index. + * @param M The length of the first array. + * @param routes The routes array. + * @param diffTypesPtrOffset The offset of the diff types in the routes array. + * @param ptr The current pointer. + * @param slide The slide {@linkcode FarthestPoint}. + * @param down The down {@linkcode FarthestPoint}. + * + * @returns A {@linkcode FarthestPoint}. + * + * @example Usage + * ```ts + * import { createFp } from "@std/internal/diff"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals( + * createFp( + * 0, + * 0, + * new Uint32Array(0), + * 0, + * 0, + * { y: -1, id: 0 }, + * { y: 0, id: 0 }, + * ), + * { y: -1, id: 1 }, + * ); + * ``` + */ +export function createFp( + k: number, + M: number, + routes: Uint32Array, + diffTypesPtrOffset: number, + ptr: number, + slide?: FarthestPoint, + down?: FarthestPoint, +): FarthestPoint { + if (slide && slide.y === -1 && down && down.y === -1) { + return { y: 0, id: 0 }; + } + const isAdding = (down?.y === -1) || + k === M || + (slide?.y ?? 0) > (down?.y ?? 0) + 1; + if (slide && isAdding) { + const prev = slide.id; + ptr++; + routes[ptr] = prev; + routes[ptr + diffTypesPtrOffset] = ADDED; + return { y: slide.y, id: ptr }; + } + if (down && !isAdding) { + const prev = down.id; + ptr++; + routes[ptr] = prev; + routes[ptr + diffTypesPtrOffset] = REMOVED; + return { y: down.y + 1, id: ptr }; + } + throw new Error("Unexpected missing FarthestPoint"); +} + +/** + * Renders the differences between the actual and expected values. + * + * @typeParam T The type of elements in the arrays. + * + * @param A Actual value + * @param B Expected value + * + * @returns An array of differences between the actual and expected values. + * + * @example Usage + * ```ts + * import { diff } from "@std/internal/diff"; + * import { assertEquals } from "@std/assert"; + * + * const a = [1, 2, 3]; + * const b = [1, 2, 4]; + * + * assertEquals(diff(a, b), [ + * { type: "common", value: 1 }, + * { type: "common", value: 2 }, + * { type: "removed", value: 3 }, + * { type: "added", value: 4 }, + * ]); + * ``` + */ +export function diff(A: T[], B: T[]): DiffResult[] { + const prefixCommon = createCommon(A, B); + A = A.slice(prefixCommon.length); + B = B.slice(prefixCommon.length); + const swapped = B.length > A.length; + [A, B] = swapped ? [B, A] : [A, B]; + const M = A.length; + const N = B.length; + if (!M && !N && !prefixCommon.length) return []; + if (!N) { + return [ + ...prefixCommon.map((value) => ({ type: "common", value })), + ...A.map((value) => ({ type: swapped ? "added" : "removed", value })), + ] as DiffResult[]; + } + const offset = N; + const delta = M - N; + const length = M + N + 1; + const fp: FarthestPoint[] = Array.from({ length }, () => ({ y: -1, id: -1 })); + + /** + * Note: this buffer is used to save memory and improve performance. The first + * half is used to save route and the last half is used to save diff type. + */ + const routes = new Uint32Array((M * N + length + 1) * 2); + const diffTypesPtrOffset = routes.length / 2; + let ptr = 0; + + function snake( + k: number, + A: T[], + B: T[], + slide?: FarthestPoint, + down?: FarthestPoint, + ): FarthestPoint { + const M = A.length; + const N = B.length; + const fp = createFp(k, M, routes, diffTypesPtrOffset, ptr, slide, down); + ptr = fp.id; + while (fp.y + k < M && fp.y < N && A[fp.y + k] === B[fp.y]) { + const prev = fp.id; + ptr++; + fp.id = ptr; + fp.y += 1; + routes[ptr] = prev; + routes[ptr + diffTypesPtrOffset] = COMMON; + } + return fp; + } + + let currentFp = fp[delta + offset]; + assertFp(currentFp); + let p = -1; + while (currentFp.y < N) { + p = p + 1; + for (let k = -p; k < delta; ++k) { + const index = k + offset; + fp[index] = snake(k, A, B, fp[index - 1], fp[index + 1]); + } + for (let k = delta + p; k > delta; --k) { + const index = k + offset; + fp[index] = snake(k, A, B, fp[index - 1], fp[index + 1]); + } + const index = delta + offset; + fp[delta + offset] = snake(delta, A, B, fp[index - 1], fp[index + 1]); + currentFp = fp[delta + offset]; + assertFp(currentFp); + } + return [ + ...prefixCommon.map((value) => ({ type: "common", value })), + ...backTrace(A, B, currentFp, swapped, routes, diffTypesPtrOffset), + ] as DiffResult[]; +} diff --git a/vendor/jsr.io/@std/internal/1.0.5/diff_str.ts b/vendor/jsr.io/@std/internal/1.0.5/diff_str.ts new file mode 100644 index 0000000..3306814 --- /dev/null +++ b/vendor/jsr.io/@std/internal/1.0.5/diff_str.ts @@ -0,0 +1,204 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import type { DiffResult } from "./types.ts"; +import { diff } from "./diff.ts"; + +/** + * Unescape invisible characters. + * + * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#escape_sequences} + * + * @param string String to unescape. + * + * @returns Unescaped string. + * + * @example Usage + * ```ts + * import { unescape } from "@std/internal/diff-str"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(unescape("Hello\nWorld"), "Hello\\n\nWorld"); + * ``` + */ +export function unescape(string: string): string { + return string + .replaceAll("\b", "\\b") + .replaceAll("\f", "\\f") + .replaceAll("\t", "\\t") + .replaceAll("\v", "\\v") + // This does not remove line breaks + .replaceAll( + /\r\n|\r|\n/g, + (str) => str === "\r" ? "\\r" : str === "\n" ? "\\n\n" : "\\r\\n\r\n", + ); +} + +const WHITESPACE_SYMBOLS = /([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/; + +/** + * Tokenizes a string into an array of tokens. + * + * @param string The string to tokenize. + * @param wordDiff If true, performs word-based tokenization. Default is false. + * + * @returns An array of tokens. + * + * @example Usage + * ```ts + * import { tokenize } from "@std/internal/diff-str"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(tokenize("Hello\nWorld"), ["Hello\n", "World"]); + * ``` + */ +export function tokenize(string: string, wordDiff = false): string[] { + if (wordDiff) { + return string + .split(WHITESPACE_SYMBOLS) + .filter((token) => token); + } + const tokens: string[] = []; + const lines = string.split(/(\n|\r\n)/).filter((line) => line); + + for (const [i, line] of lines.entries()) { + if (i % 2) { + tokens[tokens.length - 1] += line; + } else { + tokens.push(line); + } + } + return tokens; +} + +/** + * Create details by filtering relevant word-diff for current line and merge + * "space-diff" if surrounded by word-diff for cleaner displays. + * + * @param line Current line + * @param tokens Word-diff tokens + * + * @returns Array of diff results. + * + * @example Usage + * ```ts + * import { createDetails } from "@std/internal/diff-str"; + * import { assertEquals } from "@std/assert"; + * + * const tokens = [ + * { type: "added", value: "a" }, + * { type: "removed", value: "b" }, + * { type: "common", value: "c" }, + * ] as const; + * assertEquals( + * createDetails({ type: "added", value: "a" }, [...tokens]), + * [{ type: "added", value: "a" }, { type: "common", value: "c" }] + * ); + * ``` + */ +export function createDetails( + line: DiffResult, + tokens: DiffResult[], +): DiffResult[] { + return tokens.filter(({ type }) => type === line.type || type === "common") + .map((result, i, t) => { + const token = t[i - 1]; + if ( + (result.type === "common") && token && + (token.type === t[i + 1]?.type) && /\s+/.test(result.value) + ) { + return { + ...result, + type: token.type, + }; + } + return result; + }); +} + +const NON_WHITESPACE_REGEXP = /\S/; + +/** + * Renders the differences between the actual and expected strings. Partially + * inspired from {@link https://github.com/kpdecker/jsdiff}. + * + * @param A Actual string + * @param B Expected string + * + * @returns Array of diff results. + * + * @example Usage + * ```ts + * import { diffStr } from "@std/internal/diff-str"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(diffStr("Hello!", "Hello"), [ + * { + * type: "removed", + * value: "Hello!\n", + * details: [ + * { type: "common", value: "Hello" }, + * { type: "removed", value: "!" }, + * { type: "common", value: "\n" } + * ] + * }, + * { + * type: "added", + * value: "Hello\n", + * details: [ + * { type: "common", value: "Hello" }, + * { type: "common", value: "\n" } + * ] + * } + * ]); + * ``` + */ +export function diffStr(A: string, B: string): DiffResult[] { + // Compute multi-line diff + const diffResult = diff( + tokenize(`${unescape(A)}\n`), + tokenize(`${unescape(B)}\n`), + ); + + const added = []; + const removed = []; + for (const result of diffResult) { + if (result.type === "added") { + added.push(result); + } + if (result.type === "removed") { + removed.push(result); + } + } + + // Compute word-diff + const hasMoreRemovedLines = added.length < removed.length; + const aLines = hasMoreRemovedLines ? added : removed; + const bLines = hasMoreRemovedLines ? removed : added; + for (const a of aLines) { + let tokens = [] as Array>; + let b: undefined | DiffResult; + // Search another diff line with at least one common token + while (bLines.length) { + b = bLines.shift(); + const tokenized = [ + tokenize(a.value, true), + tokenize(b!.value, true), + ] as [string[], string[]]; + if (hasMoreRemovedLines) tokenized.reverse(); + tokens = diff(tokenized[0], tokenized[1]); + if ( + tokens.some(({ type, value }) => + type === "common" && NON_WHITESPACE_REGEXP.test(value) + ) + ) { + break; + } + } + // Register word-diff details + a.details = createDetails(a, tokens); + if (b) { + b.details = createDetails(b, tokens); + } + } + + return diffResult; +} diff --git a/vendor/jsr.io/@std/internal/1.0.5/format.ts b/vendor/jsr.io/@std/internal/1.0.5/format.ts new file mode 100644 index 0000000..2a84943 --- /dev/null +++ b/vendor/jsr.io/@std/internal/1.0.5/format.ts @@ -0,0 +1,37 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Converts the input into a string. Objects, Sets and Maps are sorted so as to + * make tests less flaky. + * + * @param v Value to be formatted + * + * @returns The formatted string + * + * @example Usage + * ```ts + * import { format } from "@std/internal/format"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(format({ a: 1, b: 2 }), "{\n a: 1,\n b: 2,\n}"); + * assertEquals(format(new Set([1, 2])), "Set(2) {\n 1,\n 2,\n}"); + * assertEquals(format(new Map([[1, 2]])), "Map(1) {\n 1 => 2,\n}"); + * ``` + */ +export function format(v: unknown): string { + // deno-lint-ignore no-explicit-any + const { Deno } = globalThis as any; + return typeof Deno?.inspect === "function" + ? Deno.inspect(v, { + depth: Infinity, + sorted: true, + trailingComma: true, + compact: false, + iterableLimit: Infinity, + // getters should be true in assertEquals. + getters: true, + strAbbreviateSize: Infinity, + }) + : `"${String(v).replace(/(?=["\\])/g, "\\")}"`; +} diff --git a/vendor/jsr.io/@std/internal/1.0.5/styles.ts b/vendor/jsr.io/@std/internal/1.0.5/styles.ts new file mode 100644 index 0000000..74aec57 --- /dev/null +++ b/vendor/jsr.io/@std/internal/1.0.5/styles.ts @@ -0,0 +1,231 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +// A module to print ANSI terminal colors. Inspired by chalk, kleur, and colors +// on npm. + +// This code is vendored from `fmt/colors.ts`. + +// deno-lint-ignore no-explicit-any +const { Deno } = globalThis as any; +const noColor = typeof Deno?.noColor === "boolean" + ? Deno.noColor as boolean + : false; + +interface Code { + open: string; + close: string; + regexp: RegExp; +} + +const enabled = !noColor; + +function code(open: number[], close: number): Code { + return { + open: `\x1b[${open.join(";")}m`, + close: `\x1b[${close}m`, + regexp: new RegExp(`\\x1b\\[${close}m`, "g"), + }; +} + +function run(str: string, code: Code): string { + return enabled + ? `${code.open}${str.replace(code.regexp, code.open)}${code.close}` + : str; +} + +/** + * Sets the style of text to be printed to bold. + * + * Disable by setting the `NO_COLOR` environmental variable. + * + * @param str Text to make bold + * + * @returns Bold text for printing + * + * @example Usage + * ```ts no-assert + * import { bold } from "@std/internal/styles"; + * + * console.log(bold("Hello, world!")); // Prints "Hello, world!" in bold + * ``` + */ +export function bold(str: string): string { + return run(str, code([1], 22)); +} + +/** + * Sets the color of text to be printed to red. + * + * Disable by setting the `NO_COLOR` environmental variable. + * + * @param str Text to make red + * + * @returns Red text for printing + * + * @example Usage + * ```ts no-assert + * import { red } from "@std/internal/styles"; + * + * console.log(red("Hello, world!")); // Prints "Hello, world!" in red + * ``` + */ +export function red(str: string): string { + return run(str, code([31], 39)); +} + +/** + * Sets the color of text to be printed to green. + * + * Disable by setting the `NO_COLOR` environmental variable. + * + * @param str Text to make green + * + * @returns Green text for print + * + * @example Usage + * ```ts no-assert + * import { green } from "@std/internal/styles"; + * + * console.log(green("Hello, world!")); // Prints "Hello, world!" in green + * ``` + */ +export function green(str: string): string { + return run(str, code([32], 39)); +} + +/** + * Sets the color of text to be printed to yellow. + * + * Disable by setting the `NO_COLOR` environmental variable. + * + * @param str Text to make yellow + * + * @returns Yellow text for print + * + * @example Usage + * ```ts no-assert + * import { yellow } from "@std/internal/styles"; + * + * console.log(yellow("Hello, world!")); // Prints "Hello, world!" in yellow + * ``` + */ +export function yellow(str: string): string { + return run(str, code([33], 39)); +} + +/** + * Sets the color of text to be printed to white. + * + * @param str Text to make white + * + * @returns White text for print + * + * @example Usage + * ```ts no-assert + * import { white } from "@std/internal/styles"; + * + * console.log(white("Hello, world!")); // Prints "Hello, world!" in white + * ``` + */ +export function white(str: string): string { + return run(str, code([37], 39)); +} + +/** + * Sets the color of text to be printed to gray. + * + * @param str Text to make gray + * + * @returns Gray text for print + * + * @example Usage + * ```ts no-assert + * import { gray } from "@std/internal/styles"; + * + * console.log(gray("Hello, world!")); // Prints "Hello, world!" in gray + * ``` + */ +export function gray(str: string): string { + return brightBlack(str); +} + +/** + * Sets the color of text to be printed to bright-black. + * + * @param str Text to make bright-black + * + * @returns Bright-black text for print + * + * @example Usage + * ```ts no-assert + * import { brightBlack } from "@std/internal/styles"; + * + * console.log(brightBlack("Hello, world!")); // Prints "Hello, world!" in bright-black + * ``` + */ +export function brightBlack(str: string): string { + return run(str, code([90], 39)); +} + +/** + * Sets the background color of text to be printed to red. + * + * @param str Text to make its background red + * + * @returns Red background text for print + * + * @example Usage + * ```ts no-assert + * import { bgRed } from "@std/internal/styles"; + * + * console.log(bgRed("Hello, world!")); // Prints "Hello, world!" with red background + * ``` + */ +export function bgRed(str: string): string { + return run(str, code([41], 49)); +} + +/** + * Sets the background color of text to be printed to green. + * + * @param str Text to make its background green + * + * @returns Green background text for print + * + * @example Usage + * ```ts no-assert + * import { bgGreen } from "@std/internal/styles"; + * + * console.log(bgGreen("Hello, world!")); // Prints "Hello, world!" with green background + * ``` + */ +export function bgGreen(str: string): string { + return run(str, code([42], 49)); +} + +// https://github.com/chalk/ansi-regex/blob/02fa893d619d3da85411acc8fd4e2eea0e95a9d9/index.js +const ANSI_PATTERN = new RegExp( + [ + "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)", + "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TXZcf-nq-uy=><~]))", + ].join("|"), + "g", +); + +/** + * Remove ANSI escape codes from the string. + * + * @param string Text to remove ANSI escape codes from + * + * @returns Text without ANSI escape codes + * + * @example Usage + * ```ts no-assert + * import { red, stripAnsiCode } from "@std/internal/styles"; + * + * console.log(stripAnsiCode(red("Hello, world!"))); // Prints "Hello, world!" + * ``` + */ +export function stripAnsiCode(string: string): string { + return string.replace(ANSI_PATTERN, ""); +} diff --git a/vendor/jsr.io/@std/internal/1.0.5/types.ts b/vendor/jsr.io/@std/internal/1.0.5/types.ts new file mode 100644 index 0000000..a9f93fd --- /dev/null +++ b/vendor/jsr.io/@std/internal/1.0.5/types.ts @@ -0,0 +1,18 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +/** Ways that lines in a diff can be different. */ +export type DiffType = "removed" | "common" | "added"; + +/** + * Represents the result of a diff operation. + * + * @typeParam T The type of the value in the diff result. + */ +export interface DiffResult { + /** The type of the diff. */ + type: DiffType; + /** The value of the diff. */ + value: T; + /** The details of the diff. */ + details?: DiffResult[]; +} diff --git a/vendor/jsr.io/@std/internal/1.0.5_meta.json b/vendor/jsr.io/@std/internal/1.0.5_meta.json new file mode 100644 index 0000000..7220a5d --- /dev/null +++ b/vendor/jsr.io/@std/internal/1.0.5_meta.json @@ -0,0 +1,284 @@ +{ + "manifest": { + "/mod.ts": { + "size": 1152, + "checksum": "sha256-b10442bc1959b51e395bb1274a465b0976b2166cccecc0f6802015240ef199db" + }, + "/build_message_test.ts": { + "size": 1457, + "checksum": "sha256-6b1e3d402d09ae31dfdec1fc8c36e7e751fb908f624b4aae7d0f191e93cd7a59" + }, + "/format.ts": { + "size": 1123, + "checksum": "sha256-0b380161315f6b3ef5222847177047e01e049f4757bac5b7f7843c9ce3311eb5" + }, + "/deno.json": { + "size": 339, + "checksum": "sha256-94bdca1c5d514431583abb5e268e80d72796c0cdf84d07864dba727ea1425f50" + }, + "/format_test.ts": { + "size": 3310, + "checksum": "sha256-4bdff0f80d8662d8e019d65e3d94133603bda60442a3de162acf1c88fd52a80b" + }, + "/_is_deno_2.ts": { + "size": 196, + "checksum": "sha256-9360c12e6f8138dd8fe40cd2334a8587a793e000b32af776be25ee0e297d2278" + }, + "/build_message.ts": { + "size": 3606, + "checksum": "sha256-684e3128b293cd9d10f1948957876ddf8a486e7ee31b4e3ca8455db74ae36012" + }, + "/styles.ts": { + "size": 5515, + "checksum": "sha256-86159ab0f45ea55643fbe727f20daaf4670d6ace57d83dab7406f74e4486a0e6" + }, + "/diff_str.ts": { + "size": 5365, + "checksum": "sha256-9a1e78185aa461f59bcedd2826333872a500a2e6db1b603c9cbc51c09ce24be9" + }, + "/styles_test.ts": { + "size": 2187, + "checksum": "sha256-f7d2d494f24c69a0fba4ed7eba81a6b9e867f32d38480e01a752759de73ef26d" + }, + "/diff_str_test.ts": { + "size": 7545, + "checksum": "sha256-de332f182cfc8a2974c2e7b84723b2eb5c1b5725ddd8551700e1b33a3ce0bd54" + }, + "/assertion_state_test.ts": { + "size": 983, + "checksum": "sha256-3f73b7e6510b31dd212d6ccedfee9991a94cfc8bd3040df0e30f90105ccde7b6" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/diff_test.ts": { + "size": 5350, + "checksum": "sha256-666a1d4b0cfa3ada2e77f1def9b71d7361219b6297c6a23d518bd6ffd5e6d59c" + }, + "/types.ts": { + "size": 489, + "checksum": "sha256-606fb6fe832f6114779569659a61f02a2fa2f9b75cf7e7ee1ad4cfb176b1caf9" + }, + "/assertion_state.ts": { + "size": 5807, + "checksum": "sha256-12ee60d0ced3e260b0aab7f1fe1fb014e42e9175aaf9009fdfe4bc6eb6ac5f68" + }, + "/diff.ts": { + "size": 8224, + "checksum": "sha256-903a7c9ad27c957272ca7a8562a9319b68f604cc3ad35618a21c79dcfa458446" + } + }, + "moduleGraph2": { + "/types.ts": {}, + "/build_message.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./styles.ts", + "specifierRange": [ + [ + 3, + 62 + ], + [ + 3, + 75 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 4, + 42 + ], + [ + 4, + 54 + ] + ] + } + ] + }, + "/styles.ts": {}, + "/assertion_state.ts": {}, + "/diff_str.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 1, + 32 + ], + [ + 1, + 44 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./diff.ts", + "specifierRange": [ + [ + 2, + 21 + ], + [ + 2, + 32 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./assertion_state.ts", + "specifierRange": [ + [ + 38, + 14 + ], + [ + 38, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./build_message.ts", + "specifierRange": [ + [ + 39, + 14 + ], + [ + 39, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./diff.ts", + "specifierRange": [ + [ + 40, + 14 + ], + [ + 40, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./diff_str.ts", + "specifierRange": [ + [ + 41, + 14 + ], + [ + 41, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./format.ts", + "specifierRange": [ + [ + 42, + 14 + ], + [ + 42, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./styles.ts", + "specifierRange": [ + [ + 43, + 14 + ], + [ + 43, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./types.ts", + "specifierRange": [ + [ + 44, + 14 + ], + [ + 44, + 26 + ] + ] + } + ] + }, + "/format.ts": {}, + "/diff.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 3, + 42 + ], + [ + 3, + 54 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./assertion-state": "./assertion_state.ts", + "./build-message": "./build_message.ts", + "./diff-str": "./diff_str.ts", + "./diff": "./diff.ts", + "./format": "./format.ts", + "./styles": "./styles.ts", + "./types": "./types.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/internal/meta.json b/vendor/jsr.io/@std/internal/meta.json new file mode 100644 index 0000000..16fb95c --- /dev/null +++ b/vendor/jsr.io/@std/internal/meta.json @@ -0,0 +1,36 @@ +{ + "scope": "std", + "name": "internal", + "latest": "1.0.5", + "versions": { + "0.207.0": {}, + "0.205.0": {}, + "0.198.0": {}, + "1.0.0": {}, + "0.224.0": {}, + "0.213.1": {}, + "1.0.3": {}, + "0.206.0": {}, + "1.0.1": {}, + "0.201.0": {}, + "0.225.1": {}, + "0.213.0": {}, + "0.225.0": { + "yanked": true + }, + "0.204.0": {}, + "0.216.0": {}, + "0.203.0": {}, + "1.0.4": {}, + "1.0.2": {}, + "0.200.0": {}, + "0.208.0": {}, + "0.199.0": {}, + "0.202.0": {}, + "0.197.0": {}, + "0.196.0": {}, + "0.214.0": {}, + "1.0.5": {}, + "0.215.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/io/0.225.0/write_all.ts b/vendor/jsr.io/@std/io/0.225.0/write_all.ts new file mode 100644 index 0000000..b3e94fb --- /dev/null +++ b/vendor/jsr.io/@std/io/0.225.0/write_all.ts @@ -0,0 +1,65 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { Writer, WriterSync } from "./types.ts"; + +/** + * Write all the content of the array buffer (`arr`) to the writer (`w`). + * + * @example Writing to stdout + * ```ts no-assert + * import { writeAll } from "@std/io/write-all"; + * + * const contentBytes = new TextEncoder().encode("Hello World"); + * await writeAll(Deno.stdout, contentBytes); + * ``` + * + * @example Writing to file + * ```ts ignore no-assert + * import { writeAll } from "@std/io/write-all"; + * + * const contentBytes = new TextEncoder().encode("Hello World"); + * using file = await Deno.open('test.file', { write: true }); + * await writeAll(file, contentBytes); + * ``` + * + * @param writer The writer to write to + * @param data The data to write + */ +export async function writeAll(writer: Writer, data: Uint8Array) { + let nwritten = 0; + while (nwritten < data.length) { + nwritten += await writer.write(data.subarray(nwritten)); + } +} + +/** + * Synchronously write all the content of the array buffer (`arr`) to the + * writer (`w`). + * + * @example "riting to stdout + * ```ts no-assert + * import { writeAllSync } from "@std/io/write-all"; + * + * const contentBytes = new TextEncoder().encode("Hello World"); + * writeAllSync(Deno.stdout, contentBytes); + * ``` + * + * @example Writing to file + * ```ts ignore no-assert + * import { writeAllSync } from "@std/io/write-all"; + * + * const contentBytes = new TextEncoder().encode("Hello World"); + * using file = Deno.openSync("test.file", { write: true }); + * writeAllSync(file, contentBytes); + * ``` + * + * @param writer The writer to write to + * @param data The data to write + */ +export function writeAllSync(writer: WriterSync, data: Uint8Array) { + let nwritten = 0; + while (nwritten < data.length) { + nwritten += writer.writeSync(data.subarray(nwritten)); + } +} diff --git a/vendor/jsr.io/@std/io/0.225.0_meta.json b/vendor/jsr.io/@std/io/0.225.0_meta.json new file mode 100644 index 0000000..c8c8b47 --- /dev/null +++ b/vendor/jsr.io/@std/io/0.225.0_meta.json @@ -0,0 +1,610 @@ +{ + "manifest": { + "/read_all.ts": { + "size": 2078, + "checksum": "sha256-0c1d76d3f22c6cc16471332051df79370230bac278dac14cd32c2e6724f73cc4" + }, + "/testdata/copy-src.txt": { + "size": 131072, + "checksum": "sha256-e311a2ca9cf1d7d1fb891cf7b07c5fd0b74df0a6c8d82d5148d2a6a4fb6e0a9b" + }, + "/mod.ts": { + "size": 816, + "checksum": "sha256-4fd1b6c5c4c2d4a49177911419386cee33e10bea22244701d1864aebca00022d" + }, + "/reader_from_stream_reader_test.ts": { + "size": 2803, + "checksum": "sha256-5a1664b4f65a0ee4e65db6d2db4353c01644b6ea0b23b7ea2b5ddde575432a6c" + }, + "/to_writable_stream_test.ts": { + "size": 3196, + "checksum": "sha256-51357f54c0c2789174d6554c5cdba6037441db450ddd95f526195f68ca6b0392" + }, + "/to_writable_stream.ts": { + "size": 1541, + "checksum": "sha256-27fe3cf2718fbceedb6af25c2939aada6cf48002c56e31d0b84cd028c1432eaf" + }, + "/copy_test.ts": { + "size": 1106, + "checksum": "sha256-3b656c48e39a61d0e8113eda1640d080f09177c8e9f77da82d2237c5e0083f87" + }, + "/_constants.ts": { + "size": 202, + "checksum": "sha256-3c7ad4695832e6e4a32e35f218c70376b62bc78621ef069a4a0a3d55739f8856" + }, + "/to_readable_stream_test.ts": { + "size": 2932, + "checksum": "sha256-7bb98ae419e665c4dea06992e602e3903473208f62b5db5a4393a7e8f2695207" + }, + "/deno.json": { + "size": 473, + "checksum": "sha256-0aa9c36859a7fdbdc128336fe3dd2b98f1c3ed8bb8d1df9e0a1a3ce3b04d335f" + }, + "/types.ts": { + "size": 6153, + "checksum": "sha256-eb0ca097c46f162fb0692dbcf0d80b95728296f31afa765c133b2a8e751b59f9" + }, + "/_common.ts": { + "size": 429, + "checksum": "sha256-36705cdb4dfcd338d6131bca1b16e48a4d5bf0d1dada6ce397268e88c17a5835" + }, + "/_test_common.ts": { + "size": 494, + "checksum": "sha256-e3f09ea6de3e5ebfe5a340222eb62e00bcea96abeac45e8a0e4d1a0bffe87fb7" + }, + "/buffer_test.ts": { + "size": 10901, + "checksum": "sha256-dea44b277d6450b8cbf0b838c65e075869326573d5e6e7395f9408d19d92659f" + }, + "/iterate_reader_test.ts": { + "size": 2988, + "checksum": "sha256-a039180b8c58ea6d330ab92df5d45416d1e5652b445eebb27668721aa446aa36" + }, + "/write_all_test.ts": { + "size": 748, + "checksum": "sha256-d068dc5d37f205b4134a961b7ecfd7a37332fda7dd373569fac9f3a54a70082f" + }, + "/to_readable_stream.ts": { + "size": 2305, + "checksum": "sha256-81fd1f95d91302d74a58a026df86f77e481dcfd9fb45a689e621cba958e1c99f" + }, + "/read_all_test.ts": { + "size": 715, + "checksum": "sha256-af085e9d82d00197a0944db8af9e600cafed94c44ae2f81a981e4b09d9530d31" + }, + "/reader_from_stream_reader.ts": { + "size": 1167, + "checksum": "sha256-6923ceb0075c9ff2ccf3318927ba45b89379d79589fc410e1a96fc20b6932d4f" + }, + "/copy.ts": { + "size": 1351, + "checksum": "sha256-3a984f5e0011b4f9d7ebb439518335f2d93a21eb08f14ef9dedef4e9f87920c6" + }, + "/buffer.ts": { + "size": 14767, + "checksum": "sha256-b65fe87f9fdccdd416af125bdfe7467b223579834f76b69374805899c95aa4c5" + }, + "/testdata/iso-8859-15.txt": { + "size": 203, + "checksum": "sha256-da772430df63997d9acdb3e727a10ed55210c1c80bc89420312fcf78a3d6c055" + }, + "/write_all.ts": { + "size": 1893, + "checksum": "sha256-76a85d1ca02157d53bca50fecdf70ba978e89bb2dc293a6ed05cb39b6a9bc85c" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/iterate_reader.ts": { + "size": 3025, + "checksum": "sha256-410dc73547168bf427fefd35b0976d621fff42f840cd75cd67a3ea3f8f25508a" + } + }, + "moduleGraph2": { + "/to_writable_stream.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./write_all.ts", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 41 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 40 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_common.ts", + "specifierRange": [ + [ + 5, + 25 + ], + [ + 5, + 39 + ] + ] + } + ] + }, + "/write_all.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 3, + 40 + ], + [ + 3, + 52 + ] + ] + } + ] + }, + "/read_all.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/bytes@^1.0.2/concat", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_constants.ts", + "specifierRange": [ + [ + 4, + 35 + ], + [ + 4, + 52 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 5, + 40 + ], + [ + 5, + 52 + ] + ] + } + ] + }, + "/to_readable_stream.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_constants.ts", + "specifierRange": [ + [ + 3, + 35 + ], + [ + 3, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_common.ts", + "specifierRange": [ + [ + 4, + 25 + ], + [ + 4, + 39 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 5, + 36 + ], + [ + 5, + 48 + ] + ] + } + ] + }, + "/buffer.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/bytes@^1.0.2/copy", + "specifierRange": [ + [ + 3, + 21 + ], + [ + 3, + 49 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 4, + 60 + ], + [ + 4, + 72 + ] + ] + } + ] + }, + "/_constants.ts": {}, + "/reader_from_stream_reader.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./buffer.ts", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./write_all.ts", + "specifierRange": [ + [ + 4, + 25 + ], + [ + 4, + 41 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 5, + 28 + ], + [ + 5, + 40 + ] + ] + } + ] + }, + "/types.ts": {}, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./buffer.ts", + "specifierRange": [ + [ + 18, + 14 + ], + [ + 18, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./copy.ts", + "specifierRange": [ + [ + 19, + 14 + ], + [ + 19, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./iterate_reader.ts", + "specifierRange": [ + [ + 20, + 14 + ], + [ + 20, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./read_all.ts", + "specifierRange": [ + [ + 21, + 14 + ], + [ + 21, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./reader_from_stream_reader.ts", + "specifierRange": [ + [ + 22, + 14 + ], + [ + 22, + 46 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_readable_stream.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_writable_stream.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./types.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./write_all.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 30 + ] + ] + } + ] + }, + "/iterate_reader.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_constants.ts", + "specifierRange": [ + [ + 3, + 36 + ], + [ + 3, + 53 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 52 + ] + ] + } + ] + }, + "/copy.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_constants.ts", + "specifierRange": [ + [ + 3, + 36 + ], + [ + 3, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./write_all.ts", + "specifierRange": [ + [ + 4, + 25 + ], + [ + 4, + 41 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 5, + 36 + ], + [ + 5, + 48 + ] + ] + } + ] + }, + "/_common.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 3, + 28 + ], + [ + 3, + 40 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./buffer": "./buffer.ts", + "./copy": "./copy.ts", + "./iterate-reader": "./iterate_reader.ts", + "./read-all": "./read_all.ts", + "./reader-from-stream-reader": "./reader_from_stream_reader.ts", + "./to-readable-stream": "./to_readable_stream.ts", + "./to-writable-stream": "./to_writable_stream.ts", + "./types": "./types.ts", + "./write-all": "./write_all.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/io/meta.json b/vendor/jsr.io/@std/io/meta.json new file mode 100644 index 0000000..a95af82 --- /dev/null +++ b/vendor/jsr.io/@std/io/meta.json @@ -0,0 +1,51 @@ +{ + "scope": "std", + "name": "io", + "latest": "0.225.0", + "versions": { + "0.197.0": {}, + "0.218.2": {}, + "0.218.1": {}, + "0.212.0": {}, + "0.219.0": {}, + "0.224.0": {}, + "0.198.0": {}, + "0.224.5": {}, + "0.217.0": {}, + "0.219.1": {}, + "0.210.0": {}, + "0.196.0": {}, + "0.215.0": {}, + "0.205.0": {}, + "0.221.0": {}, + "0.224.4": {}, + "0.220.1": {}, + "0.222.0": {}, + "0.202.0": {}, + "0.224.7": {}, + "0.223.0": {}, + "0.225.0": {}, + "0.216.0": {}, + "0.203.0": {}, + "0.206.0": {}, + "0.204.0": {}, + "0.211.0": {}, + "0.200.0": {}, + "0.218.0": {}, + "0.222.1": {}, + "0.224.2": {}, + "0.214.0": {}, + "0.209.0": {}, + "0.213.1": {}, + "0.224.8": {}, + "0.224.6": {}, + "0.199.0": {}, + "0.224.1": {}, + "0.224.9": {}, + "0.224.3": {}, + "0.208.0": {}, + "0.207.0": {}, + "0.213.0": {}, + "0.201.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/log/0.224.13/_config.ts b/vendor/jsr.io/@std/log/0.224.13/_config.ts new file mode 100644 index 0000000..183887a --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/_config.ts @@ -0,0 +1,19 @@ +// Copyright 2018-2025 the Deno authors. MIT license. + +import { ConsoleHandler } from "./console_handler.ts"; +import type { LogConfig } from "./logger.ts"; + +export const DEFAULT_LEVEL = "INFO"; + +export const DEFAULT_CONFIG: LogConfig = { + handlers: { + default: new ConsoleHandler(DEFAULT_LEVEL), + }, + + loggers: { + default: { + level: DEFAULT_LEVEL, + handlers: ["default"], + }, + }, +}; diff --git a/vendor/jsr.io/@std/log/0.224.13/_file_handler_symbols.ts b/vendor/jsr.io/@std/log/0.224.13/_file_handler_symbols.ts new file mode 100644 index 0000000..c26a4b9 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/_file_handler_symbols.ts @@ -0,0 +1,8 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +export const fileSymbol = Symbol("file"); +export const bufSymbol = Symbol("buf"); +export const pointerSymbol = Symbol("pointer"); +export const filenameSymbol = Symbol("filename"); +export const modeSymbol = Symbol("mode"); +export const openOptionsSymbol = Symbol("openOptions"); +export const encoderSymbol = Symbol("encoder"); diff --git a/vendor/jsr.io/@std/log/0.224.13/_state.ts b/vendor/jsr.io/@std/log/0.224.13/_state.ts new file mode 100644 index 0000000..4e2a100 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/_state.ts @@ -0,0 +1,11 @@ +// Copyright 2018-2025 the Deno authors. MIT license. + +import type { BaseHandler } from "./base_handler.ts"; +import { DEFAULT_CONFIG } from "./_config.ts"; +import type { Logger } from "./logger.ts"; + +export const state = { + handlers: new Map(), + loggers: new Map(), + config: DEFAULT_CONFIG, +}; diff --git a/vendor/jsr.io/@std/log/0.224.13/base_handler.ts b/vendor/jsr.io/@std/log/0.224.13/base_handler.ts new file mode 100644 index 0000000..92ea897 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/base_handler.ts @@ -0,0 +1,377 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. +import { + getLevelByName, + getLevelName, + type LevelName, + type LogLevel, +} from "./levels.ts"; +import type { LogRecord } from "./logger.ts"; + +export type { LevelName, LogLevel, LogRecord }; + +/** + * A function type that defines the structure of a formatter function. + * + * @param logRecord The log record that needs to be formatted. + * @returns A string representation of the log record. + */ +export type FormatterFunction = (logRecord: LogRecord) => string; +const DEFAULT_FORMATTER: FormatterFunction = ({ levelName, msg }) => + `${levelName} ${msg}`; + +/** Options for {@linkcode BaseHandler}. */ +export interface BaseHandlerOptions { + /** A function that formats log records. */ + formatter?: FormatterFunction; +} + +/** + * A base class for all log handlers. + * + * This class is abstract and should not be instantiated directly. Instead, it + * should be extended by other classes that implement the `log` method. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { assertInstanceOf } from "@std/assert/instance-of"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * } + * + * const handler = new MyHandler("INFO"); + * assertInstanceOf(handler, BaseHandler); + * ``` + */ +export abstract class BaseHandler { + #levelName: LevelName; + #level: LogLevel; + /** + * The function that formats log records. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * } + * + * const handler = new MyHandler("INFO"); + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * const formatted = handler.formatter(record); + * assertEquals(formatted, "INFO Hello, world!"); + * ``` + */ + formatter: FormatterFunction; + + /** + * Constructs a new instance. + * + * @param levelName The name of the log level to handle. + * @param options Options for the handler. + */ + constructor( + levelName: LevelName, + options?: BaseHandlerOptions, + ) { + const { formatter = DEFAULT_FORMATTER } = options ?? {}; + this.#levelName = levelName; + this.#level = getLevelByName(levelName); + this.formatter = formatter; + } + + /** + * Getter for the log level that this handler will handle. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * } + * + * const handler = new MyHandler("INFO"); + * assertEquals(handler.level, LogLevels.INFO); + * ``` + * + * @returns The log level to handle. + */ + get level(): LogLevel { + return this.#level; + } + + /** + * Setter for the log level that this handler will handle. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * } + * + * const handler = new MyHandler("INFO"); + * handler.level = LogLevels.DEBUG; + * assertEquals(handler.level, LogLevels.DEBUG); + * ``` + * + * @param level The log level to handle. + */ + set level(level: LogLevel) { + this.#level = level; + this.#levelName = getLevelName(level); + } + + /** + * Getter for the name of the log level that this handler will handle. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { assertEquals } from "@std/assert/equals"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * } + * + * const handler = new MyHandler("INFO"); + * assertEquals(handler.levelName, "INFO"); + * ``` + * + * @returns The name of the log level to handle. + */ + get levelName(): LevelName { + return this.#levelName; + } + + /** + * Setter for the name of the log level that this handler will handle. + * + * @param levelName The name of the log level to handle. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { assertEquals } from "@std/assert/equals"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * } + * + * const handler = new MyHandler("INFO"); + * handler.levelName = "DEBUG"; + * assertEquals(handler.levelName, "DEBUG"); + * ``` + */ + set levelName(levelName: LevelName) { + this.#levelName = levelName; + this.#level = getLevelByName(levelName); + } + + /** + * Handles a log record. + * + * @param logRecord The log record to handle. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertInstanceOf } from "@std/assert/instance-of"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * } + * + * const handler = new MyHandler("INFO"); + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * handler.handle(record); + * + * assertInstanceOf(handler, BaseHandler); + * ``` + */ + handle(logRecord: LogRecord) { + if (this.level > logRecord.level) return; + + const msg = this.format(logRecord); + this.log(msg); + } + + /** + * Formats a log record. + * + * @param logRecord The log record to format. + * @returns A string representation of the log record. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * } + * + * const handler = new MyHandler("INFO"); + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * const formatted = handler.format(record); + * assertEquals(formatted, "INFO Hello, world!"); + * ``` + */ + format(logRecord: LogRecord): string { + return this.formatter(logRecord); + } + + /** + * Logs a message. + * + * This method should be implemented by subclasses to handle the log record. + * + * @param msg The message to log. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { assertInstanceOf } from "@std/assert/instance-of"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * } + * + * const handler = new MyHandler("INFO"); + * handler.log("Hello, world!"); // Prints "Hello, world!" + * + * assertInstanceOf(handler, BaseHandler); + * ``` + */ + abstract log(msg: string): void; + + /** + * Initializes the handler. + * + * This method is called when the handler is added to a logger. It can be + * used to perform any setup that is required by the handler. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { assertInstanceOf } from "@std/assert/instance-of"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * + * override setup() { + * console.log("Handler setup!"); + * } + * } + * + * const handler = new MyHandler("INFO"); + * handler.setup(); // Prints "Handler setup!" + * + * assertInstanceOf(handler, BaseHandler); + * ``` + */ + setup() {} + + /** + * Destroys the handler, performing any cleanup that is required. + * + * This method is called when the handler is removed from a logger. It can be + * used to perform any cleanup that is required by the handler. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { assertInstanceOf } from "@std/assert/instance-of"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * + * override destroy() { + * console.log("Handler destroyed!"); + * } + * } + * + * const handler = new MyHandler("INFO"); + * handler.destroy(); // Prints "Handler destroyed!" + * assertInstanceOf(handler, BaseHandler); + * ``` + */ + destroy() {} + + /** + * Automatically disposes of the handler when instantiated with the `using` + * keyword by calling the {@linkcode BaseHandler.destroy} method. + * + * @example Usage + * ```ts + * import { BaseHandler } from "@std/log/base-handler"; + * import { LogRecord } from "@std/log/logger"; + * import { assertInstanceOf } from "@std/assert/instance-of"; + * + * class MyHandler extends BaseHandler { + * log(msg: string) { + * console.log(msg); + * } + * } + * + * using handler = new MyHandler("INFO"); + * assertInstanceOf(handler, BaseHandler); + * ``` + */ + [Symbol.dispose]() { + this.destroy(); + } +} diff --git a/vendor/jsr.io/@std/log/0.224.13/console_handler.ts b/vendor/jsr.io/@std/log/0.224.13/console_handler.ts new file mode 100644 index 0000000..0456ba3 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/console_handler.ts @@ -0,0 +1,118 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. +import { type LevelName, LogLevels } from "./levels.ts"; +import type { LogRecord } from "./logger.ts"; +import { blue, bold, red, yellow } from "jsr:@std/fmt@^1.0.4/colors"; +import { BaseHandler, type BaseHandlerOptions } from "./base_handler.ts"; + +/** Options for {@linkcode ConsoleHandler}. */ +export interface ConsoleHandlerOptions extends BaseHandlerOptions { + /** + * Whether to use colors in the output. + * + * @default {true} + */ + useColors?: boolean; +} + +function applyColors(msg: string, level: number): string { + switch (level) { + case LogLevels.INFO: + msg = blue(msg); + break; + case LogLevels.WARN: + msg = yellow(msg); + break; + case LogLevels.ERROR: + msg = red(msg); + break; + case LogLevels.CRITICAL: + msg = bold(red(msg)); + break; + default: + break; + } + + return msg; +} + +/** + * Default logger that outputs log messages to the console via + * {@linkcode console.log}. + * + * @example Usage + * ```ts no-assert + * import { ConsoleHandler } from "@std/log/console-handler"; + * + * const handler = new ConsoleHandler("INFO"); + * handler.log("Hello, world!"); // Prints "Hello, world!" + * ``` + */ +export class ConsoleHandler extends BaseHandler { + #useColors?: boolean; + + /** + * Constructs a new instance. + * + * @param levelName The level name to log messages at. + * @param options Options for the handler. + */ + constructor(levelName: LevelName, options: ConsoleHandlerOptions = {}) { + super(levelName, options); + this.#useColors = options.useColors ?? true; + } + + /** + * Formats a log record into a string. + * + * @example Usage + * ```ts + * import { ConsoleHandler } from "@std/log/console-handler"; + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * import { blue } from "@std/fmt/colors"; + * + * const handler = new ConsoleHandler("INFO"); + * const logRecord = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "my-logger", + * }); + * const result = handler.format(logRecord); + * + * assertEquals(result, blue("INFO Hello, world!")); + * ``` + * + * @param logRecord The log record to format. + * @returns The formatted log record. + */ + override format(logRecord: LogRecord): string { + let msg = super.format(logRecord); + + if (this.#useColors) { + msg = applyColors(msg, logRecord.level); + } + + return msg; + } + + /** + * Logs a message to the console. + * + * @example Usage + * ```ts no-assert + * import { ConsoleHandler } from "@std/log/console-handler"; + * + * const handler = new ConsoleHandler("INFO"); + * handler.log("Hello, world!"); // Prints "Hello, world!" + * ``` + * + * @param msg The message to log. + */ + log(msg: string) { + // deno-lint-ignore no-console + console.log(msg); + } +} diff --git a/vendor/jsr.io/@std/log/0.224.13/critical.ts b/vendor/jsr.io/@std/log/0.224.13/critical.ts new file mode 100644 index 0000000..34b9659 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/critical.ts @@ -0,0 +1,70 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. + +import { getLogger } from "./get_logger.ts"; +import type { GenericFunction } from "./logger.ts"; +import "./setup.ts"; + +/** + * Log at the critical level. + * + * This function is a pass-through to the default logger's `critical` method. By + * default, the default logger is configured to use {@linkcode console.log} and + * print in bold red text. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { critical } from "@std/log/critical"; + * import { assertEquals } from "@std/assert/equals"; + * + * assertEquals(critical("This is a critical message."), "This is a critical message."); + * // Prints: "CRITICAL This is a critical message." + * + * assertEquals(critical(() => "This is a critical message."), "This is a critical message."); + * // Prints: "CRITICAL This is a critical message." + * ``` + */ +export function critical(msg: () => T, ...args: unknown[]): T | undefined; +/** + * Log at the critical level. + * + * This function is a pass-through to the default logger's `critical` method. By + * default, the default logger is configured to use {@linkcode console.log} and + * print in bold red text. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { critical } from "@std/log/critical"; + * import { assertEquals } from "@std/assert/equals"; + * + * assertEquals(critical("This is a critical message."), "This is a critical message."); + * // Prints: "CRITICAL This is a critical message." + * + * assertEquals(critical(() => "This is a critical message."), "This is a critical message."); + * // Prints: "CRITICAL This is a critical message." + * ``` + */ +export function critical( + msg: T extends GenericFunction ? never : T, + ...args: unknown[] +): T; +export function critical( + msg: (T extends GenericFunction ? never : T) | (() => T), + ...args: unknown[] +): T | undefined { + // Assist TS compiler with pass-through generic type + if (msg instanceof Function) { + return getLogger("default").critical(msg, ...args); + } + return getLogger("default").critical(msg, ...args); +} diff --git a/vendor/jsr.io/@std/log/0.224.13/debug.ts b/vendor/jsr.io/@std/log/0.224.13/debug.ts new file mode 100644 index 0000000..adba4c0 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/debug.ts @@ -0,0 +1,122 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. + +import { getLogger } from "./get_logger.ts"; +import type { GenericFunction } from "./logger.ts"; +import "./setup.ts"; + +/** + * Log at the debug level. + * + * This function is a pass-through to the default logger's `debug` method. By + * default, this function is a no-op. To enable debug logging, set call + * {@linkcode https://jsr.io/@std/log/doc/setup/~/setup | setup} and set the + * default level to `DEBUG`. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage without setup + * ```ts + * import { debug } from "@std/log/debug"; + * import { assertEquals } from "@std/assert/equals"; + * + * assertEquals(debug("This is a debug message."), "This is a debug message."); + * // Prints: "" + * + * assertEquals(debug(() => "This is a debug message."), undefined); + * // Prints: "" + * ``` + * + * @example Usage with setup + * ```ts + * import { ConsoleHandler, debug, setup } from "@std/log"; + * import { assertEquals } from "@std/assert/equals"; + * + * setup({ + * handlers: { + * default: new ConsoleHandler("DEBUG"), + * }, + * loggers: { + * default: { + * level: "DEBUG", + * handlers: ["default"], + * }, + * }, + * }); + * + * assertEquals(debug("This is a debug message."), "This is a debug message."); + * + * assertEquals( + * debug(() => "This is a debug message."), + * "This is a debug message.", + * ); + * ``` + */ +export function debug(msg: () => T, ...args: unknown[]): T | undefined; +/** + * Log at the debug level. + * + * This function is a pass-through to the default logger's `debug` method. By + * default, this function is a no-op. To enable debug logging, set call + * {@linkcode https://jsr.io/@std/log/doc/setup/~/setup | setup} and set the + * default level to `DEBUG`. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage without setup + * ```ts + * import { debug } from "@std/log/debug"; + * import { assertEquals } from "@std/assert/equals"; + * + * assertEquals(debug("This is a debug message."), "This is a debug message."); + * // Prints: "" + * + * assertEquals(debug(() => "This is a debug message."), undefined); + * // Prints: "" + * ``` + * + * @example Usage with setup + * ```ts + * import { ConsoleHandler, debug, setup } from "@std/log"; + * import { assertEquals } from "@std/assert/equals"; + * + * setup({ + * handlers: { + * default: new ConsoleHandler("DEBUG"), + * }, + * loggers: { + * default: { + * level: "DEBUG", + * handlers: ["default"], + * }, + * }, + * }); + * + * assertEquals(debug("This is a debug message."), "This is a debug message."); + * + * assertEquals( + * debug(() => "This is a debug message."), + * "This is a debug message.", + * ); + * ``` + */ +export function debug( + msg: T extends GenericFunction ? never : T, + ...args: unknown[] +): T; +export function debug( + msg: (T extends GenericFunction ? never : T) | (() => T), + ...args: unknown[] +): T | undefined { + // Assist TS compiler with pass-through generic type + if (msg instanceof Function) { + return getLogger("default").debug(msg, ...args); + } + return getLogger("default").debug(msg, ...args); +} diff --git a/vendor/jsr.io/@std/log/0.224.13/error.ts b/vendor/jsr.io/@std/log/0.224.13/error.ts new file mode 100644 index 0000000..9ad0334 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/error.ts @@ -0,0 +1,70 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. + +import { getLogger } from "./get_logger.ts"; +import type { GenericFunction } from "./logger.ts"; +import "./setup.ts"; + +/** + * Log at the error level. + * + * This function is a pass-through to the default logger's `error` method. By + * default, the default logger is configured to use {@linkcode console.log} and + * print in red text. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { error } from "@std/log/error"; + * import { assertEquals } from "@std/assert/equals"; + * + * assertEquals(error("This is an error message."), "This is an error message."); + * // Prints: "ERROR This is an error message." + * + * assertEquals(error(() => "This is an error message."), "This is an error message."); + * // Prints: "ERROR This is an error message." + * ``` + */ +export function error(msg: () => T, ...args: unknown[]): T | undefined; +/** + * Log at the error level. + * + * This function is a pass-through to the default logger's `error` method. By + * default, the default logger is configured to use {@linkcode console.log} and + * print in red text. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { error } from "@std/log/error"; + * import { assertEquals } from "@std/assert/equals"; + * + * assertEquals(error("This is an error message."), "This is an error message."); + * // Prints: "ERROR This is an error message." + * + * assertEquals(error(() => "This is an error message."), "This is an error message."); + * // Prints: "ERROR This is an error message." + * ``` + */ +export function error( + msg: T extends GenericFunction ? never : T, + ...args: unknown[] +): T; +export function error( + msg: (T extends GenericFunction ? never : T) | (() => T), + ...args: unknown[] +): T | undefined { + // Assist TS compiler with pass-through generic type + if (msg instanceof Function) { + return getLogger("default").error(msg, ...args); + } + return getLogger("default").error(msg, ...args); +} diff --git a/vendor/jsr.io/@std/log/0.224.13/file_handler.ts b/vendor/jsr.io/@std/log/0.224.13/file_handler.ts new file mode 100644 index 0000000..4fbd96a --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/file_handler.ts @@ -0,0 +1,277 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +import { type LevelName, LogLevels } from "./levels.ts"; +import type { LogRecord } from "./logger.ts"; +import { BaseHandler, type BaseHandlerOptions } from "./base_handler.ts"; +import { writeAllSync } from "jsr:@std/io@^0.225.0/write-all"; +import { + bufSymbol, + encoderSymbol, + filenameSymbol, + fileSymbol, + modeSymbol, + openOptionsSymbol, + pointerSymbol, +} from "./_file_handler_symbols.ts"; + +/** Supported log modes for FileHandlerOptions {@linkcode FileHandlerOptions.mode}. */ +export type LogMode = "a" | "w" | "x"; + +/** Options for {@linkcode FileHandler}. */ +export interface FileHandlerOptions extends BaseHandlerOptions { + /** + * The filename to output to. + */ + filename: string; + /** + * Log mode for the handler. Behavior of the log modes is as follows: + * + * - `'a'` - Default mode. Appends new log messages to the end of an existing log + * file, or create a new log file if none exists. + * - `'w'` - Upon creation of the handler, any existing log file will be removed + * and a new one created. + * - `'x'` - This will create a new log file and throw an error if one already + * exists. + * + * @default {"a"} + */ + mode?: LogMode; + /** + * Buffer size for writing log messages to file, in bytes. + * + * @default {4096} + */ + bufferSize?: number; +} + +/** + * A file-based log handler that writes log messages to a specified file with buffering and optional modes. + * The logs are buffered for optimized performance, writing to the file only + * when the buffer is full, on manual .flush() call, during logging of a critical message or when process ends. + * It is important to note that the file can grow indefinitely. + * + * This handler requires `--allow-write` permission on the log file. + * + * @example Usage + * ```ts no-assert + * import { FileHandler } from "@std/log/file-handler"; + * + * const handler = new FileHandler("INFO", { filename: "./_tmp/logs.txt" }); + * handler.setup(); + * handler.log('Hello, world!'); // Buffers the message, or writes it to the file depending on buffer state + * handler.flush(); // Manually flushes the buffer + * handler.destroy(); // Closes the file and removes listeners + * ``` + */ +export class FileHandler extends BaseHandler { + /** Opened file to append logs to. + * + * @private + */ + [fileSymbol]: Deno.FsFile | undefined; + /** Buffer used to write to file. + * + * @private + */ + [bufSymbol]: Uint8Array; + /** + * Current position for pointer. + * + * @private + */ + [pointerSymbol] = 0; + /** + * Filename associated with the file being logged. + * + * @private + */ + [filenameSymbol]: string; + /** + * Current log mode. + * + * @private + */ + [modeSymbol]: LogMode; + /** + * File open options. + * + * @private + */ + [openOptionsSymbol]: Deno.OpenOptions; + /** + * Text encoder. + * + * @private + */ + [encoderSymbol]: TextEncoder = new TextEncoder(); + #unloadCallback = (() => { + this.destroy(); + }).bind(this); + + /** + * Constructs a new FileHandler instance. + * + * @param levelName The level name to log messages at. + * @param options Options for the handler. + */ + constructor(levelName: LevelName, options: FileHandlerOptions) { + super(levelName, options); + this[filenameSymbol] = options.filename; + // default to append mode, write only + this[modeSymbol] = options.mode ?? "a"; + this[openOptionsSymbol] = { + createNew: this[modeSymbol] === "x", + create: this[modeSymbol] !== "x", + append: this[modeSymbol] === "a", + truncate: this[modeSymbol] !== "a", + write: true, + }; + this[bufSymbol] = new Uint8Array(options.bufferSize ?? 4096); + } + + /** + * Sets up the file handler by opening the specified file and initializing resources. + * + * @example Usage + * ```ts no-assert + * import { FileHandler } from "@std/log/file-handler"; + * + * const handler = new FileHandler("INFO", { filename: "./_tmp/logs.txt" }); + * handler.setup(); // Opens the file and prepares the handler for logging. + * handler.destroy(); + * ``` + */ + override setup() { + this[fileSymbol] = Deno.openSync( + this[filenameSymbol], + this[openOptionsSymbol], + ); + this.#resetBuffer(); + + addEventListener("unload", this.#unloadCallback); + } + + /** + * Handles a log record and flushes the buffer if the log level is higher than error. + * + * @param logRecord Log record to handle. + * + * @example Usage + * ```ts + * import { FileHandler } from "@std/log/file-handler"; + * import { assertInstanceOf } from "@std/assert/instance-of"; + * import { LogLevels } from "./levels.ts"; + * import { LogRecord } from "./logger.ts"; + * + * const handler = new FileHandler("INFO", { filename: "./_tmp/logs.txt" }); + * handler.setup(); + * + * // Flushes the buffer immediately and logs "CRITICAL This log is very critical indeed." into the file. + * handler.handle( + * new LogRecord({ + * msg: "This log is very critical indeed.", + * args: [], + * level: LogLevels.CRITICAL, + * loggerName: "INFO", + * }), + * ); + * handler.destroy(); + * + * assertInstanceOf(handler, FileHandler); + * ``` + */ + override handle(logRecord: LogRecord) { + super.handle(logRecord); + + // Immediately flush if log level is higher than ERROR + if (logRecord.level > LogLevels.ERROR) { + this.flush(); + } + } + + /** + * Logs a message by adding it to the buffer, with flushing as needed. + * + * @param msg The message to log. + * + * @example Usage + * ```ts + * import { FileHandler } from "@std/log/file-handler"; + * import { assertInstanceOf } from "@std/assert/instance-of"; + * + * const handler = new FileHandler("INFO", { filename: "./_tmp/logs.txt" }); + * handler.setup(); + * handler.log('Hello, world!'); + * handler.flush(); + * handler.destroy(); + * + * assertInstanceOf(handler, FileHandler); + * ``` + */ + log(msg: string) { + const bytes = this[encoderSymbol].encode(msg + "\n"); + if (bytes.byteLength > this[bufSymbol].byteLength - this[pointerSymbol]) { + this.flush(); + } + if (bytes.byteLength > this[bufSymbol].byteLength) { + writeAllSync(this[fileSymbol]!, bytes); + } else { + this[bufSymbol].set(bytes, this[pointerSymbol]); + this[pointerSymbol] += bytes.byteLength; + } + } + + /** + * Immediately writes the contents of the buffer to the previously opened file. + * + * @example Usage + * ```ts + * import { FileHandler } from "@std/log/file-handler"; + * import { assertInstanceOf } from "@std/assert/instance-of"; + * + * const handler = new FileHandler("INFO", { filename: "./_tmp/logs.txt" }); + * handler.setup(); + * handler.log('Hello, world!'); + * handler.flush(); // Writes buffered log messages to the file immediately. + * handler.destroy(); + * + * assertInstanceOf(handler, FileHandler); + * ``` + */ + flush() { + if (this[pointerSymbol] > 0 && this[fileSymbol]) { + let written = 0; + while (written < this[pointerSymbol]) { + written += this[fileSymbol].writeSync( + this[bufSymbol].subarray(written, this[pointerSymbol]), + ); + } + this.#resetBuffer(); + } + } + + #resetBuffer() { + this[pointerSymbol] = 0; + } + + /** + * Destroys the handler, performing any cleanup that is required and closes the file handler. + * + * @example Usage + * ```ts + * import { FileHandler } from "@std/log/file-handler"; + * import { assertInstanceOf } from "@std/assert/instance-of"; + * + * const handler = new FileHandler("INFO", { filename: "./_tmp/logs.txt" }); + * handler.setup(); + * handler.destroy(); + * + * assertInstanceOf(handler, FileHandler); + * ``` + */ + override destroy() { + this.flush(); + this[fileSymbol]?.close(); + this[fileSymbol] = undefined; + removeEventListener("unload", this.#unloadCallback); + } +} diff --git a/vendor/jsr.io/@std/log/0.224.13/formatters.ts b/vendor/jsr.io/@std/log/0.224.13/formatters.ts new file mode 100644 index 0000000..0bdaee7 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/formatters.ts @@ -0,0 +1,50 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. +import type { LogRecord } from "./logger.ts"; + +/** + * JSON log formatter. + * + * @example Usage + * ```ts + * import { LogRecord } from "@std/log/logger"; + * import { jsonFormatter } from "@std/log/formatters"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * const formatted = jsonFormatter(record); + * + * assertEquals( + * formatted, + * `{"level":"INFO","datetime":${record.datetime.getTime()},"message":"Hello, world!","args":["foo","bar"]}`, + * ); + * ``` + * + * @param logRecord Log record to format. + * @returns JSON string representation of the log record. + */ +export function jsonFormatter(logRecord: LogRecord): string { + return JSON.stringify({ + level: logRecord.levelName, + datetime: logRecord.datetime.getTime(), + message: logRecord.msg, + args: flattenArgs(logRecord.args), + }); +} + +function flattenArgs(args: unknown[]): unknown { + if (args.length === 1) { + return args[0]; + } else if (args.length > 1) { + return args; + } +} + +/** Formatters for log records. */ +export const formatters = { jsonFormatter } as const; diff --git a/vendor/jsr.io/@std/log/0.224.13/get_logger.ts b/vendor/jsr.io/@std/log/0.224.13/get_logger.ts new file mode 100644 index 0000000..0642f8b --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/get_logger.ts @@ -0,0 +1,81 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. + +import { Logger } from "./logger.ts"; +import { state } from "./_state.ts"; + +export type { Logger }; + +/** + * Get a logger instance. If not specified `name`, get the default logger. + * + * @param name The name of the logger. + * @returns The logger instance. + * + * @example Usage (without defined name and minimal setup) + * ```ts + * import { getLogger } from "@std/log/get-logger"; + * import "@std/log/setup"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = getLogger(); + * const result = logger.info("Hello world!"); // Prints "INFO Hello world!" in blue + * + * assertEquals(result, "Hello world!"); + * ``` + * + * @example Usage (without defined name and custom setup) + * ```ts + * import { getLogger } from "@std/log/get-logger"; + * import { ConsoleHandler } from "@std/log/console-handler"; + * import { setup } from "@std/log/setup"; + * import { assertEquals } from "@std/assert/equals"; + * + * setup({ + * handlers: { + * console: new ConsoleHandler("DEBUG"), + * }, + * loggers: { + * default: { + * level: "DEBUG", + * handlers: ["console"], + * }, + * }, + * }); + * + * const logger = getLogger(); + * + * const result = logger.info("Hello world!"); // Prints "INFO Hello world!" in blue + * + * assertEquals(result, "Hello world!"); + * ``` + * + * @example Usage (with defined name) + * ```ts + * import { getLogger } from "@std/log/get-logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = getLogger("my-logger"); + * const result = logger.info("Hello world!"); + * + * assertEquals(result, "Hello world!"); + * ``` + */ +export function getLogger(name?: string): Logger { + if (!name) { + const d = state.loggers.get("default"); + if (d === undefined) { + throw new Error( + `"default" logger must be set for getting logger without name`, + ); + } + return d; + } + const result = state.loggers.get(name); + if (!result) { + const logger = new Logger(name, "NOTSET", { handlers: [] }); + state.loggers.set(name, logger); + return logger; + } + return result; +} diff --git a/vendor/jsr.io/@std/log/0.224.13/info.ts b/vendor/jsr.io/@std/log/0.224.13/info.ts new file mode 100644 index 0000000..f34cd3e --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/info.ts @@ -0,0 +1,70 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. + +import { getLogger } from "./get_logger.ts"; +import type { GenericFunction } from "./logger.ts"; +import "./setup.ts"; + +/** + * Log at the info level. + * + * This function is a pass-through to the default logger's `info` method. By + * default, the default logger is configured to use {@linkcode console.log} and + * print in blue text. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { info } from "@std/log/info"; + * import { assertEquals } from "@std/assert/equals"; + * + * assertEquals(info("This is an info message."), "This is an info message."); + * // Prints: "INFO This is an info message." + * + * assertEquals(info(() => "This is an info message."), "This is an info message."); + * // Prints: "INFO This is an info message." + * ``` + */ +export function info(msg: () => T, ...args: unknown[]): T | undefined; +/** + * Log at the info level. + * + * This function is a pass-through to the default logger's `info` method. By + * default, the default logger is configured to use {@linkcode console.log} and + * print in blue text. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { info } from "@std/log/info"; + * import { assertEquals } from "@std/assert/equals"; + * + * assertEquals(info("This is an info message."), "This is an info message."); + * // Prints: "INFO This is an info message." + * + * assertEquals(info(() => "This is an info message."), "This is an info message."); + * // Prints: "INFO This is an info message." + * ``` + */ +export function info( + msg: T extends GenericFunction ? never : T, + ...args: unknown[] +): T; +export function info( + msg: (T extends GenericFunction ? never : T) | (() => T), + ...args: unknown[] +): T | undefined { + // Assist TS compiler with pass-through generic type + if (msg instanceof Function) { + return getLogger("default").info(msg, ...args); + } + return getLogger("default").info(msg, ...args); +} diff --git a/vendor/jsr.io/@std/log/0.224.13/levels.ts b/vendor/jsr.io/@std/log/0.224.13/levels.ts new file mode 100644 index 0000000..da93404 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/levels.ts @@ -0,0 +1,58 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. + +/** + * Use this to retrieve the numeric log level by it's associated name. + * Defaults to INFO. + * + * @internal + */ +export const LogLevels = { + NOTSET: 0, + DEBUG: 10, + INFO: 20, + WARN: 30, + ERROR: 40, + CRITICAL: 50, +} as const; + +/** Union of valid log levels */ +export type LogLevel = typeof LogLevels[LevelName]; + +/** Union of valid log level names */ +export type LevelName = Exclude; + +/** Permitted log level names */ +export const LogLevelNames: LevelName[] = Object.keys(LogLevels).filter((key) => + isNaN(Number(key)) +) as LevelName[]; + +const byLevel: Record = { + [LogLevels.NOTSET]: "NOTSET", + [LogLevels.DEBUG]: "DEBUG", + [LogLevels.INFO]: "INFO", + [LogLevels.WARN]: "WARN", + [LogLevels.ERROR]: "ERROR", + [LogLevels.CRITICAL]: "CRITICAL", +}; + +/** + * Returns the numeric log level associated with the passed, + * stringy log level name. + */ +export function getLevelByName(name: LevelName): LogLevel { + const level = LogLevels[name]; + if (level !== undefined) { + return level; + } + throw new Error(`Cannot get log level: no level named ${name}`); +} + +/** Returns the stringy log level name provided the numeric log level. */ +export function getLevelName(level: LogLevel): LevelName { + const levelName = byLevel[level as LogLevel]; + if (levelName) { + return levelName; + } + throw new Error(`Cannot get log level: no name for level: ${level}`); +} diff --git a/vendor/jsr.io/@std/log/0.224.13/logger.ts b/vendor/jsr.io/@std/log/0.224.13/logger.ts new file mode 100644 index 0000000..84f9387 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/logger.ts @@ -0,0 +1,778 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. +import { getLevelByName, getLevelName, LogLevels } from "./levels.ts"; +import type { LevelName, LogLevel } from "./levels.ts"; +import type { BaseHandler } from "./base_handler.ts"; + +/** Any function that can be called with any arguments and return any value. */ +// deno-lint-ignore no-explicit-any +export type GenericFunction = (...args: any[]) => any; + +/** + * Options for {@linkcode LogRecord}. + */ +export interface LogRecordOptions { + /** The message to log. */ + msg: string; + /** The arguments to log. */ + args: unknown[]; + /** The log level of the message. */ + level: LogLevel; + /** The name of the logger that created the log record. */ + loggerName: string; +} + +/** + * Configuration options for a logger instance. + * + * @example Usage + * + * ```ts + * import { ConsoleHandler, getLogger, setup, type LogConfig} from "@std/log"; + * import { assert } from "@std/assert"; + * + * const handler = new ConsoleHandler("INFO"); + * const logConfig: LogConfig = { + * handlers: { + * default: handler, + * }, + * loggers: { + * default: { + * level: "INFO", + * handlers: ["default"], + * }, + * }, + * } + * setup(logConfig); + * const logger = getLogger(); + * + * assert(logger.handlers.at(0) instanceof ConsoleHandler); + * ``` + */ +export class LoggerConfig { + /** The minimum log level for the logger. + * + * @example Usage + * + * ```ts + * import { ConsoleHandler, getLogger, setup, type LogConfig} from "@std/log"; + * import { assert } from "@std/assert"; + * + * const handler = new ConsoleHandler("INFO"); + * const logConfig: LogConfig = { + * handlers: { + * default: handler, + * }, + * loggers: { + * default: { + * level: "INFO", + * handlers: ["default"], + * }, + * }, + * } + * setup(logConfig); + * const logger = getLogger(); + * + * assert(logger.handlers.at(0) instanceof ConsoleHandler); + * ``` + */ + level?: LevelName; + /** A list of handler names attached to this logger. + * + * @example Usage + * + * ```ts + * import { ConsoleHandler, getLogger, setup, type LogConfig} from "@std/log"; + * import { assert } from "@std/assert"; + * + * const handler = new ConsoleHandler("INFO"); + * const logConfig: LogConfig = { + * handlers: { + * default: handler, + * }, + * loggers: { + * default: { + * level: "INFO", + * handlers: ["default"], + * }, + * }, + * } + * setup(logConfig); + * const logger = getLogger(); + * + * assert(logger.handlers.at(0) instanceof ConsoleHandler); + * ``` */ + handlers?: string[]; +} + +/** + * Configuration for logger setup. + */ +export interface LogConfig { + /** A dictionary of named handlers for logging. */ + handlers?: { + [name: string]: BaseHandler; + }; + /** A dictionary of named loggers and their configurations. */ + loggers?: { + [name: string]: LoggerConfig; + }; +} + +/** + * An object that encapsulates provided message and arguments as well some + * metadata that can be later used when formatting a message. + * + * @example Usage + * ```ts + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * + * assertEquals(record.msg, "Hello, world!"); + * assertEquals(record.args, ["foo", "bar"]); + * assertEquals(record.level, LogLevels.INFO); + * assertEquals(record.loggerName, "example"); + * ``` + */ +export class LogRecord { + /** The message to log. + * + * @example Usage + * ```ts + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * + * assertEquals(record.msg, "Hello, world!"); + * ``` + */ + readonly msg: string; + #args: unknown[]; + #datetime: Date; + /** + * The numeric log level of the log record. + * + * @example Usage + * ```ts + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * + * assertEquals(record.level, LogLevels.INFO); + * ``` + */ + readonly level: number; + /** + * The name of the log level of the log record. + * + * @example Usage + * ```ts + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * + * assertEquals(record.levelName, "INFO"); + * ``` + */ + readonly levelName: string; + /** + * The name of the logger that created the log record. + * + * @example Usage + * ```ts + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * + * assertEquals(record.loggerName, "example"); + * ``` + */ + readonly loggerName: string; + + /** + * Constructs a new instance. + * + * @param options The options to create a new log record. + * + * @example Usage + * ```ts + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * ``` + */ + constructor(options: LogRecordOptions) { + this.msg = options.msg; + this.#args = [...options.args]; + this.level = options.level; + this.loggerName = options.loggerName; + this.#datetime = new Date(); + this.levelName = getLevelName(options.level); + } + + /** + * Getter for the arguments to log. + * + * @example Usage + * ```ts + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * + * assertEquals(record.args, ["foo", "bar"]); + * ``` + * + * @returns A copy of the arguments to log. + */ + get args(): unknown[] { + return [...this.#args]; + } + + /** + * Getter for the date and time the log record was created. + * + * @example Usage + * ```ts + * import { LogRecord } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertAlmostEquals } from "@std/assert/almost-equals"; + * + * const record = new LogRecord({ + * msg: "Hello, world!", + * args: ["foo", "bar"], + * level: LogLevels.INFO, + * loggerName: "example", + * }); + * + * assertAlmostEquals(record.datetime.getTime(), Date.now(), 1); + * ``` + * + * @returns The date and time the log record was created. + */ + get datetime(): Date { + return new Date(this.#datetime.getTime()); + } +} + +/** Options for {@linkcode Logger}. */ +export interface LoggerOptions { + /** The handlers to use for the logger. */ + handlers?: BaseHandler[]; +} + +function asString(data: unknown, isProperty = false): string { + if (typeof data === "string") { + if (isProperty) return `"${data}"`; + return data; + } else if ( + data === null || + typeof data === "number" || + typeof data === "bigint" || + typeof data === "boolean" || + typeof data === "undefined" || + typeof data === "symbol" + ) { + return String(data); + } else if (data instanceof Error) { + return data.stack!; + } else if (typeof data === "object") { + return `{${ + Object.entries(data) + .map(([k, v]) => `"${k}":${asString(v, true)}`) + .join(",") + }}`; + } + return "undefined"; +} + +/** + * A logger that can log messages at different levels. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * const result = logger.info("Hello, world!"); + * + * assertEquals(result, "Hello, world!"); + * ``` + */ +export class Logger { + #level: LogLevel; + /** + * The handlers to use for the logger. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { ConsoleHandler } from "@std/log/console-handler"; + * import { assertEquals } from "@std/assert/equals"; + * + * const handler = new ConsoleHandler("INFO"); + * const logger = new Logger("example", "INFO", { + * handlers: [handler], + * }); + * + * assertEquals(logger.handlers, [handler]); + * ``` + */ + handlers: BaseHandler[]; + readonly #loggerName: string; + + /** + * Constructs a new instance. + * + * @param loggerName The name of the logger. + * @param levelName The name of the log level. + * @param options The options to create a new logger. + */ + constructor( + loggerName: string, + levelName: LevelName, + options: LoggerOptions = {}, + ) { + this.#loggerName = loggerName; + this.#level = getLevelByName(levelName); + this.handlers = options.handlers ?? []; + } + + /** + * Getter for the log level. + * + * @returns The log level. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * assertEquals(logger.level, LogLevels.INFO); + * ``` + */ + get level(): LogLevel { + return this.#level; + } + + /** + * Setter for the log level. + * + * @param level The log level to set. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * logger.level = LogLevels.DEBUG; + * + * assertEquals(logger.level, LogLevels.DEBUG); + * ``` + */ + set level(level: LogLevel) { + try { + this.#level = getLevelByName(getLevelName(level)); + } catch (_) { + throw new TypeError(`Invalid log level: ${level}`); + } + } + + /** + * Getter for the name of the log level. + * + * @returns The name of the log level. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * assertEquals(logger.levelName, "INFO"); + * ``` + */ + get levelName(): LevelName { + return getLevelName(this.#level); + } + + /** + * Setter for the name of the log level. + * + * @param levelName The name of the log level to set. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { LogLevels } from "@std/log/levels"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * logger.levelName = "DEBUG"; + * + * assertEquals(logger.level, LogLevels.DEBUG); + * ``` + */ + set levelName(levelName: LevelName) { + this.#level = getLevelByName(levelName); + } + + /** + * Getter for the name of the logger. + * + * @returns The name of the logger. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * + * assertEquals(logger.loggerName, "example"); + * ``` + */ + get loggerName(): string { + return this.#loggerName; + } + + /** + * If the level of the logger is greater than the level to log, then nothing + * is logged, otherwise a log record is passed to each log handler. `msg` data + * passed in is returned. If a function is passed in, it is only evaluated + * if the msg will be logged and the return value will be the result of the + * function, not the function itself, unless the function isn't called, in which + * case undefined is returned. All types are coerced to strings for logging. + */ + #log( + level: LogLevel, + msg: (T extends GenericFunction ? never : T) | (() => T), + ...args: unknown[] + ): T | undefined { + if (this.level > level) { + return msg instanceof Function ? undefined : msg; + } + + let fnResult: T | undefined; + let logMessage: string; + if (msg instanceof Function) { + fnResult = msg(); + logMessage = asString(fnResult); + } else { + logMessage = asString(msg); + } + const record: LogRecord = new LogRecord({ + msg: logMessage, + args: args, + level: level, + loggerName: this.loggerName, + }); + + this.handlers.forEach((handler) => { + handler.handle(record); + }); + + return msg instanceof Function ? fnResult : msg; + } + + /** + * Log at the debug level. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * + * assertEquals(logger.debug("Hello, world!"), "Hello, world!"); + * + * assertEquals(logger.debug(() => "Hello, world!"), undefined); + * ``` + */ + debug(msg: () => T, ...args: unknown[]): T | undefined; + /** + * Log at the debug level. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * + * assertEquals(logger.debug("Hello, world!"), "Hello, world!"); + * + * assertEquals(logger.debug(() => "Hello, world!"), undefined); + * ``` + */ + debug(msg: T extends GenericFunction ? never : T, ...args: unknown[]): T; + debug( + msg: (T extends GenericFunction ? never : T) | (() => T), + ...args: unknown[] + ): T | undefined { + return this.#log(LogLevels.DEBUG, msg, ...args); + } + + /** + * Log at the info level. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * + * assertEquals(logger.info("Hello, world!"), "Hello, world!"); + * + * assertEquals(logger.info(() => "Hello, world!"), "Hello, world!"); + * ``` + */ + info(msg: () => T, ...args: unknown[]): T | undefined; + /** + * Log at the info level. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * + * assertEquals(logger.info("Hello, world!"), "Hello, world!"); + * + * assertEquals(logger.info(() => "Hello, world!"), "Hello, world!"); + * ``` + */ + info(msg: T extends GenericFunction ? never : T, ...args: unknown[]): T; + info( + msg: (T extends GenericFunction ? never : T) | (() => T), + ...args: unknown[] + ): T | undefined { + return this.#log(LogLevels.INFO, msg, ...args); + } + + /** + * Log at the warning level. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * + * assertEquals(logger.warn("Hello, world!"), "Hello, world!"); + * + * assertEquals(logger.warn(() => "Hello, world!"), "Hello, world!"); + * ``` + */ + warn(msg: () => T, ...args: unknown[]): T | undefined; + /** + * Log at the warning level. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * + * assertEquals(logger.warn("Hello, world!"), "Hello, world!"); + * + * assertEquals(logger.warn(() => "Hello, world!"), "Hello, world!"); + * ``` + */ + warn(msg: T extends GenericFunction ? never : T, ...args: unknown[]): T; + warn( + msg: (T extends GenericFunction ? never : T) | (() => T), + ...args: unknown[] + ): T | undefined { + return this.#log(LogLevels.WARN, msg, ...args); + } + + /** + * Log at the error level. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * + * assertEquals(logger.error("Hello, world!"), "Hello, world!"); + * + * assertEquals(logger.error(() => "Hello, world!"), "Hello, world!"); + * ``` + */ + error(msg: () => T, ...args: unknown[]): T | undefined; + /** + * Log at the error level. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * + * assertEquals(logger.error("Hello, world!"), "Hello, world!"); + * + * assertEquals(logger.error(() => "Hello, world!"), "Hello, world!"); + * ``` + */ + error(msg: T extends GenericFunction ? never : T, ...args: unknown[]): T; + error( + msg: (T extends GenericFunction ? never : T) | (() => T), + ...args: unknown[] + ): T | undefined { + return this.#log(LogLevels.ERROR, msg, ...args); + } + + /** + * Log at the critical level. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * + * assertEquals(logger.critical("Hello, world!"), "Hello, world!"); + * + * assertEquals(logger.critical(() => "Hello, world!"), "Hello, world!"); + * ``` + */ + critical(msg: () => T, ...args: unknown[]): T | undefined; + /** + * Log at the critical level. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { Logger } from "@std/log/logger"; + * import { assertEquals } from "@std/assert/equals"; + * + * const logger = new Logger("example", "INFO"); + * + * assertEquals(logger.critical("Hello, world!"), "Hello, world!"); + * + * assertEquals(logger.critical(() => "Hello, world!"), "Hello, world!"); + * ``` + */ + critical( + msg: T extends GenericFunction ? never : T, + ...args: unknown[] + ): T; + critical( + msg: (T extends GenericFunction ? never : T) | (() => T), + ...args: unknown[] + ): T | undefined { + return this.#log(LogLevels.CRITICAL, msg, ...args); + } +} diff --git a/vendor/jsr.io/@std/log/0.224.13/mod.ts b/vendor/jsr.io/@std/log/0.224.13/mod.ts new file mode 100644 index 0000000..30ef952 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/mod.ts @@ -0,0 +1,392 @@ +// Copyright 2018-2025 the Deno authors. MIT license. + +/** + * Logging library with the support for terminal and file outputs. Also provides + * interfaces for building custom loggers. + * + * ## Loggers + * + * Loggers are objects that you interact with. When you use a logger method it + * constructs a `LogRecord` and passes it down to its handlers for output. To + * create custom loggers, specify them in `loggers` when calling `log.setup`. + * + * ## Custom message format + * + * If you want to override default format of message you can define `formatter` + * option for handler. It can a function that takes `LogRecord` + * as argument and outputs string. + * + * The default log format is `{levelName} {msg}`. + * + * ### Logging Structured JSON Lines + * + * To output logs in a structured JSON format you can configure most handlers + * with a formatter that produces a JSON string. Either use the premade + * `log.formatters.jsonFormatter` or write your own function that takes a + * {@linkcode LogRecord} and returns a JSON.stringify'd object. + * If you want the log to go to stdout then use {@linkcode ConsoleHandler} with + * the configuration `useColors: false` to turn off the ANSI terminal colors. + * + * ```ts + * import * as log from "@std/log"; + * + * log.setup({ + * handlers: { + * default: new log.ConsoleHandler("DEBUG", { + * formatter: log.formatters.jsonFormatter, + * useColors: false, + * }), + * }, + * }); + * ``` + * + * The first argument passed to a log function is always treated as the + * message and will be stringified differently. To have arguments JSON.stringify'd + * you must pass them after the first. + * + * ```ts + * import * as log from "@std/log"; + * + * log.info("This is the message", { thisWillBe: "JSON.stringify'd"}); + * // {"level":"INFO","datetime":1702501580505,"message":"This is the message","args":{"thisWillBe":"JSON.stringify'd"}} + * + * log.info({ thisWontBe: "JSON.stringify'd"}, "This is an argument"); + * // {"level":"INFO","datetime":1702501580505,"message":"{\"thisWontBe\":\"JSON.stringify'd\"}","args":"This is an argument"} + * ``` + * + * ## Inline Logging + * + * Log functions return the data passed in the `msg` parameter. Data is returned + * regardless if the logger actually logs it. + * + * ## Lazy Log Evaluation + * + * Some log statements are expensive to compute. In these cases, you can use + * lazy log evaluation to prevent the computation taking place if the logger + * won't log the message. + * + * > NOTE: When using lazy log evaluation, `undefined` will be returned if the + * > resolver function is not called because the logger won't log it. It is an + * > antipattern use lazy evaluation with inline logging because the return value + * > depends on the current log level. + * + * ## For module authors + * + * The authors of public modules can let the users display the internal logs of the + * module by using a custom logger: + * + * ```ts + * import { getLogger } from "@std/log"; + * + * function logger() { + * return getLogger("my-awesome-module"); + * } + * + * function sum(a: number, b: number) { + * logger().debug(`running ${a} + ${b}`); + * return a + b; + * } + * + * function mult(a: number, b: number) { + * logger().debug(`running ${a} * ${b}`); + * return a * b; + * } + * ``` + * + * The user of the module can then display the internal logs with: + * + * ```ts, ignore + * import * as log from "@std/log"; + * import { sum } from "/mod.ts"; + * + * log.setup({ + * handlers: { + * console: new log.ConsoleHandler("DEBUG"), + * }, + * + * loggers: { + * "my-awesome-module": { + * level: "DEBUG", + * handlers: ["console"], + * }, + * }, + * }); + * + * sum(1, 2); // prints "running 1 + 2" to the console + * ``` + * + * Please note that, due to the order of initialization of the loggers, the + * following won't work: + * + * ```ts + * import { getLogger } from "@std/log"; + * + * const logger = getLogger("my-awesome-module"); + * + * function sum(a: number, b: number) { + * logger.debug(`running ${a} + ${b}`); // no message will be logged, because getLogger() was called before log.setup() + * return a + b; + * } + * ``` + * + * @example + * ```ts ignore + * import * as log from "@std/log"; + * + * // Simple default logger out of the box. You can customize it + * // by overriding logger and handler named "default", or providing + * // additional logger configurations. You can log any data type. + * log.debug("Hello world"); + * log.info(123456); + * log.warn(true); + * log.error({ foo: "bar", fizz: "bazz" }); + * log.critical("500 Internal server error"); + * + * // custom configuration with 2 loggers (the default and `tasks` loggers). + * log.setup({ + * handlers: { + * console: new log.ConsoleHandler("DEBUG"), + * + * file: new log.FileHandler("WARN", { + * filename: "./log.txt", + * // you can change format of output message using any keys in `LogRecord`. + * formatter: (record) => `${record.levelName} ${record.msg}`, + * }), + * }, + * + * loggers: { + * // configure default logger available via short-hand methods above. + * default: { + * level: "DEBUG", + * handlers: ["console", "file"], + * }, + * + * tasks: { + * level: "ERROR", + * handlers: ["console"], + * }, + * }, + * }); + * + * let logger; + * + * // get default logger. + * logger = log.getLogger(); + * logger.debug("fizz"); // logs to `console`, because `file` handler requires "WARN" level. + * logger.warn(41256); // logs to both `console` and `file` handlers. + * + * // get custom logger + * logger = log.getLogger("tasks"); + * logger.debug("fizz"); // won't get output because this logger has "ERROR" level. + * logger.error({ productType: "book", value: "126.11" }); // log to `console`. + * + * // if you try to use a logger that hasn't been configured + * // you're good to go, it gets created automatically with level set to 0 + * // so no message is logged. + * const unknownLogger = log.getLogger("mystery"); + * unknownLogger.info("foobar"); // no-op + * ``` + * + * @example + * Custom message format example + * ```ts + * import * as log from "@std/log"; + * + * log.setup({ + * handlers: { + * stringFmt: new log.ConsoleHandler("DEBUG", { + * formatter: (record) => `[${record.levelName}] ${record.msg}`, + * }), + * + * functionFmt: new log.ConsoleHandler("DEBUG", { + * formatter: (logRecord) => { + * let msg = `${logRecord.level} ${logRecord.msg}`; + * + * logRecord.args.forEach((arg, index) => { + * msg += `, arg${index}: ${arg}`; + * }); + * + * return msg; + * }, + * }), + * + * anotherFmt: new log.ConsoleHandler("DEBUG", { + * formatter: (record) => `[${record.loggerName}] - ${record.levelName} ${record.msg}`, + * }), + * }, + * + * loggers: { + * default: { + * level: "DEBUG", + * handlers: ["stringFmt", "functionFmt"], + * }, + * dataLogger: { + * level: "INFO", + * handlers: ["anotherFmt"], + * }, + * }, + * }); + * + * // calling: + * log.debug("Hello, world!", 1, "two", [3, 4, 5]); + * // results in: [DEBUG] Hello, world! + * // output from "stringFmt" handler. + * // 10 Hello, world!, arg0: 1, arg1: two, arg3: [3, 4, 5] // output from "functionFmt" formatter. + * + * // calling: + * log.getLogger("dataLogger").error("oh no!"); + * // results in: + * // [dataLogger] - ERROR oh no! // output from anotherFmt handler. + * ``` + + * + * @example + * JSON to stdout with no color example + * ```ts + * import * as log from "@std/log"; + * + * log.setup({ + * handlers: { + * jsonStdout: new log.ConsoleHandler("DEBUG", { + * formatter: log.formatters.jsonFormatter, + * useColors: false, + * }), + * }, + * + * loggers: { + * default: { + * level: "DEBUG", + * handlers: ["jsonStdout"], + * }, + * }, + * }); + * + * // calling: + * log.info("Hey"); + * // results in: + * // {"level":"INFO","datetime":1702481922294,"message":"Hey"} + * + * // calling: + * log.info("Hey", { product: "nail" }); + * // results in: + * // {"level":"INFO","datetime":1702484111115,"message":"Hey","args":{"product":"nail"}} + * + * // calling: + * log.info("Hey", 1, "two", [3, 4, 5]); + * // results in: + * // {"level":"INFO","datetime":1702481922294,"message":"Hey","args":[1,"two",[3,4,5]]} + * ``` + * + * @example + * Custom JSON example + * ```ts + * import * as log from "@std/log"; + * + * log.setup({ + * handlers: { + * customJsonFmt: new log.ConsoleHandler("DEBUG", { + * formatter: (record) => JSON.stringify({ + * lvl: record.level, + * msg: record.msg, + * time: record.datetime.toISOString(), + * name: record.loggerName, + * }), + * useColors: false, + * }), + * }, + * + * loggers: { + * default: { + * level: "DEBUG", + * handlers: ["customJsonFmt"], + * }, + * }, + * }); + * + * // calling: + * log.info("complete"); + * // results in: + * // {"lvl":20,"msg":"complete","time":"2023-12-13T16:38:27.328Z","name":"default"} + * ``` + * + * @example + * Inline Logging + * ```ts + * import * as logger from "@std/log"; + * + * const stringData: string = logger.debug("hello world"); + * const booleanData: boolean = logger.debug(true, 1, "abc"); + * const fn = (): number => { + * return 123; + * }; + * const resolvedFunctionData: number = logger.debug(fn()); + * console.log(stringData); // 'hello world' + * console.log(booleanData); // true + * console.log(resolvedFunctionData); // 123 + * ``` + * + * @example + * Lazy Log Evaluation + * ```ts + * import * as log from "@std/log"; + * + * log.setup({ + * handlers: { + * console: new log.ConsoleHandler("DEBUG"), + * }, + * + * loggers: { + * tasks: { + * level: "ERROR", + * handlers: ["console"], + * }, + * }, + * }); + * + * function someExpensiveFn(num: number, bool: boolean) { + * // do some expensive computation + * } + * + * // not logged, as debug < error. + * const data = log.debug(() => someExpensiveFn(5, true)); + * console.log(data); // undefined + * ``` + * + * Handlers are responsible for actual output of log messages. When a handler is + * called by a logger, it firstly checks that {@linkcode LogRecord}'s level is + * not lower than level of the handler. If level check passes, handlers formats + * log record into string and outputs it to target. + * + * ## Custom handlers + * + * Custom handlers can be implemented by subclassing {@linkcode BaseHandler} or + * {@linkcode WriterHandler}. + * + * {@linkcode BaseHandler} is bare-bones handler that has no output logic at all, + * + * {@linkcode WriterHandler} is an abstract class that supports any target with + * `Writer` interface. + * + * During setup async hooks `setup` and `destroy` are called, you can use them + * to open and close file/HTTP connection or any other action you might need. + * + * For examples check source code of {@linkcode FileHandler}` + * and {@linkcode TestHandler}. + * + * @module + */ + +export * from "./base_handler.ts"; +export * from "./console_handler.ts"; +export * from "./file_handler.ts"; +export * from "./rotating_file_handler.ts"; +export * from "./levels.ts"; +export * from "./logger.ts"; +export * from "./formatters.ts"; +export * from "./critical.ts"; +export * from "./debug.ts"; +export * from "./error.ts"; +export * from "./get_logger.ts"; +export * from "./info.ts"; +export * from "./setup.ts"; +export * from "./warn.ts"; diff --git a/vendor/jsr.io/@std/log/0.224.13/rotating_file_handler.ts b/vendor/jsr.io/@std/log/0.224.13/rotating_file_handler.ts new file mode 100644 index 0000000..8004cfa --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/rotating_file_handler.ts @@ -0,0 +1,139 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +import type { LevelName } from "./levels.ts"; +import { existsSync } from "jsr:@std/fs@^1.0.9/exists"; +import { FileHandler, type FileHandlerOptions } from "./file_handler.ts"; +import { + encoderSymbol, + filenameSymbol, + fileSymbol, + modeSymbol, + openOptionsSymbol, +} from "./_file_handler_symbols.ts"; + +interface RotatingFileHandlerOptions extends FileHandlerOptions { + maxBytes: number; + maxBackupCount: number; +} + +/** + * This handler extends the functionality of the {@linkcode FileHandler} by + * "rotating" the log file when it reaches a certain size. `maxBytes` specifies + * the maximum size in bytes that the log file can grow to before rolling over + * to a new one. If the size of the new log message plus the current log file + * size exceeds `maxBytes` then a roll-over is triggered. When a roll-over + * occurs, before the log message is written, the log file is renamed and + * appended with `.1`. If a `.1` version already existed, it would have been + * renamed `.2` first and so on. The maximum number of log files to keep is + * specified by `maxBackupCount`. After the renames are complete the log message + * is written to the original, now blank, file. + * + * Example: Given `log.txt`, `log.txt.1`, `log.txt.2` and `log.txt.3`, a + * `maxBackupCount` of 3 and a new log message which would cause `log.txt` to + * exceed `maxBytes`, then `log.txt.2` would be renamed to `log.txt.3` (thereby + * discarding the original contents of `log.txt.3` since 3 is the maximum number + * of backups to keep), `log.txt.1` would be renamed to `log.txt.2`, `log.txt` + * would be renamed to `log.txt.1` and finally `log.txt` would be created from + * scratch where the new log message would be written. + * + * This handler uses a buffer for writing log messages to file. Logs can be + * manually flushed with `fileHandler.flush()`. Log messages with a log level + * greater than ERROR are immediately flushed. Logs are also flushed on process + * completion. + * + * Additional notes on `mode` as described above: + * + * - `'a'` Default mode. As above, this will pick up where the logs left off in + * rotation, or create a new log file if it doesn't exist. + * - `'w'` in addition to starting with a clean `filename`, this mode will also + * cause any existing backups (up to `maxBackupCount`) to be deleted on setup + * giving a fully clean slate. + * - `'x'` requires that neither `filename`, nor any backups (up to + * `maxBackupCount`), exist before setup. + * + * This handler requires both `--allow-read` and `--allow-write` permissions on + * the log files. + */ +export class RotatingFileHandler extends FileHandler { + #maxBytes: number; + #maxBackupCount: number; + #currentFileSize = 0; + + constructor(levelName: LevelName, options: RotatingFileHandlerOptions) { + super(levelName, options); + this.#maxBytes = options.maxBytes; + this.#maxBackupCount = options.maxBackupCount; + } + + override setup() { + if (this.#maxBytes < 1) { + this.destroy(); + throw new Error(`"maxBytes" must be >= 1: received ${this.#maxBytes}`); + } + if (this.#maxBackupCount < 1) { + this.destroy(); + throw new Error( + `"maxBackupCount" must be >= 1: received ${this.#maxBackupCount}`, + ); + } + super.setup(); + + if (this[modeSymbol] === "w") { + // Remove old backups too as it doesn't make sense to start with a clean + // log file, but old backups + for (let i = 1; i <= this.#maxBackupCount; i++) { + try { + Deno.removeSync(this[filenameSymbol] + "." + i); + } catch (error) { + if (!(error instanceof Deno.errors.NotFound)) { + throw error; + } + } + } + } else if (this[modeSymbol] === "x") { + // Throw if any backups also exist + for (let i = 1; i <= this.#maxBackupCount; i++) { + if (existsSync(this[filenameSymbol] + "." + i)) { + this.destroy(); + throw new Deno.errors.AlreadyExists( + "Backup log file " + this[filenameSymbol] + "." + i + + " already exists", + ); + } + } + } else { + this.#currentFileSize = (Deno.statSync(this[filenameSymbol])).size; + } + } + + override log(msg: string) { + const msgByteLength = this[encoderSymbol].encode(msg).byteLength + 1; + + if (this.#currentFileSize + msgByteLength > this.#maxBytes) { + this.rotateLogFiles(); + this.#currentFileSize = 0; + } + + super.log(msg); + + this.#currentFileSize += msgByteLength; + } + + rotateLogFiles() { + this.flush(); + this[fileSymbol]!.close(); + + for (let i = this.#maxBackupCount - 1; i >= 0; i--) { + const source = this[filenameSymbol] + (i === 0 ? "" : "." + i); + const dest = this[filenameSymbol] + "." + (i + 1); + + if (existsSync(source)) { + Deno.renameSync(source, dest); + } + } + + this[fileSymbol] = Deno.openSync( + this[filenameSymbol], + this[openOptionsSymbol], + ); + } +} diff --git a/vendor/jsr.io/@std/log/0.224.13/setup.ts b/vendor/jsr.io/@std/log/0.224.13/setup.ts new file mode 100644 index 0000000..952cf28 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/setup.ts @@ -0,0 +1,52 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. + +import type { BaseHandler } from "./base_handler.ts"; +import { DEFAULT_CONFIG, DEFAULT_LEVEL } from "./_config.ts"; +import { type LogConfig, Logger } from "./logger.ts"; +import { state } from "./_state.ts"; + +/** Setup logger config. */ +export function setup(config: LogConfig) { + state.config = { + handlers: { ...DEFAULT_CONFIG.handlers, ...config.handlers }, + loggers: { ...DEFAULT_CONFIG.loggers, ...config.loggers }, + }; + + // tear down existing handlers + state.handlers.forEach((handler) => { + handler.destroy(); + }); + state.handlers.clear(); + + // setup handlers + const handlers = state.config.handlers ?? {}; + + for (const [handlerName, handler] of Object.entries(handlers)) { + handler.setup(); + state.handlers.set(handlerName, handler); + } + + // remove existing loggers + state.loggers.clear(); + + // setup loggers + const loggers = state.config.loggers ?? {}; + for (const [loggerName, loggerConfig] of Object.entries(loggers)) { + const handlerNames = loggerConfig.handlers ?? []; + const handlers: BaseHandler[] = []; + + handlerNames.forEach((handlerName) => { + const handler = state.handlers.get(handlerName); + if (handler) { + handlers.push(handler); + } + }); + + const levelName = loggerConfig.level ?? DEFAULT_LEVEL; + const logger = new Logger(loggerName, levelName, { handlers: handlers }); + state.loggers.set(loggerName, logger); + } +} + +setup(DEFAULT_CONFIG); diff --git a/vendor/jsr.io/@std/log/0.224.13/warn.ts b/vendor/jsr.io/@std/log/0.224.13/warn.ts new file mode 100644 index 0000000..adc3f60 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13/warn.ts @@ -0,0 +1,71 @@ +// Copyright 2018-2025 the Deno authors. MIT license. +// This module is browser compatible. + +import { getLogger } from "./get_logger.ts"; +import type { GenericFunction } from "./logger.ts"; +import "./setup.ts"; + +export type { GenericFunction }; + +/** + * Log at the warning level. + * + * This function is a pass-through to the default logger's `warn` method. By + * default, the default logger is configured to use {@linkcode console.log} and + * print in yellow text. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { warn } from "@std/log/warn"; + * import { assertEquals } from "@std/assert/equals"; + * + * assertEquals(warn("This is a warning message."), "This is a warning message."); + * // Prints: "WARN This is a warning message." + * + * assertEquals(warn(() => "This is a warning message."), "This is a warning message."); + * // Prints: "WARN This is a warning message." + * ``` + */ +export function warn(msg: () => T, ...args: unknown[]): T | undefined; +/** + * Log at the warning level. + * + * This function is a pass-through to the default logger's `warn` method. By + * default, the default logger is configured to use {@linkcode console.log}. + * + * @template T The type of the message to log. + * @param msg The message to log. + * @param args Arguments to be formatted into the message. + * @returns The message that was logged. + * + * @example Usage + * ```ts + * import { warn } from "@std/log/warn"; + * import { assertEquals } from "@std/assert/equals"; + * + * assertEquals(warn("This is a warning message."), "This is a warning message."); + * // Prints: "WARN This is a warning message." + * + * assertEquals(warn(() => "This is a warning message."), "This is a warning message."); + * // Prints: "WARN This is a warning message." + * ``` + */ +export function warn( + msg: T extends GenericFunction ? never : T, + ...args: unknown[] +): T; +export function warn( + msg: (T extends GenericFunction ? never : T) | (() => T), + ...args: unknown[] +): T | undefined { + // Assist TS compiler with pass-through generic type + if (msg instanceof Function) { + return getLogger("default").warn(msg, ...args); + } + return getLogger("default").warn(msg, ...args); +} diff --git a/vendor/jsr.io/@std/log/0.224.13_meta.json b/vendor/jsr.io/@std/log/0.224.13_meta.json new file mode 100644 index 0000000..7fdb5d3 --- /dev/null +++ b/vendor/jsr.io/@std/log/0.224.13_meta.json @@ -0,0 +1,1106 @@ +{ + "manifest": { + "/rotating_file_handler.ts": { + "size": 4968, + "checksum": "sha256-5da6047574d89dd2290176b809ff7b13fadb34d13b19b9b30a0e36295337a555" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/error.ts": { + "size": 2326, + "checksum": "sha256-428a7e83492210b4385bf79a4426bbd83259249b33a020df6a7bef785f34e441" + }, + "/get_logger.ts": { + "size": 2148, + "checksum": "sha256-0a96277c6febce47622b8c04906b449cff27c26e94bed8132d9245b1e1861ac3" + }, + "/logger_test.ts": { + "size": 8446, + "checksum": "sha256-241ebad2a97fc11f4d23235e8b45d9cb69c251d7bfefeeddb2548504841bce4c" + }, + "/file_handler_test.ts": { + "size": 4946, + "checksum": "sha256-f13b0f7dc67c98d4ba0303b9392298e44c98d252a75fb6dd191b9389a068fd43" + }, + "/info_test.ts": { + "size": 664, + "checksum": "sha256-4fbb0dca18f35a25514f3e7a372491433529a8d88cd8902f830df4138523aa99" + }, + "/mod.ts": { + "size": 11265, + "checksum": "sha256-d772c391274fad2552d1611a7e0b3b9c6ba71f4cbe52e6c83ff3ec86a4961b05" + }, + "/formatters.ts": { + "size": 1349, + "checksum": "sha256-55506699c14078c6d090add244c99f84bf3878f59aad1690e0d86af081c66290" + }, + "/get_logger_test.ts": { + "size": 1768, + "checksum": "sha256-82244a4191ac9e5e90662dc898fa8cb06c9aeda084ac6d911d4ccabd1cee64a2" + }, + "/critical.ts": { + "size": 2423, + "checksum": "sha256-4e7ee7ce087168570b2f5ea79009dc27a37ab7837515dffdd6ba4513f67a1316" + }, + "/info.ts": { + "size": 2295, + "checksum": "sha256-3f7e90f25ed790e1224f3959eaf00d4c2e04b23181609c668dcd6a30348415ca" + }, + "/error_test.ts": { + "size": 685, + "checksum": "sha256-90d245d5690ba5120b2fe924d7d5a61b97e2f312dc1bd520636fed4760a3fab5" + }, + "/formatters_test.ts": { + "size": 1162, + "checksum": "sha256-7012a5bf66fb021b23e3f28db474c7dabd5d72334a5116c73aa9684b7bb0be1c" + }, + "/rotating_file_handler_test.ts": { + "size": 8642, + "checksum": "sha256-cb998874be1156b878c0e61c0a7603a8623a6f99c5353f795cc633c853641747" + }, + "/logger.ts": { + "size": 21046, + "checksum": "sha256-e901f5fade45476e32153c58ef3712f719375e642ef999ee7b74262439ebe818" + }, + "/base_handler.ts": { + "size": 9755, + "checksum": "sha256-d3fc90790b889c076236104b39f09035ea9c0263e07cf343e0b270cf41cb7768" + }, + "/base_handler_test.ts": { + "size": 2440, + "checksum": "sha256-5b43cdd44b109792bf2f27f96f1ef6c3f151ae8581729918726cae6ee7475b5d" + }, + "/debug_test.ts": { + "size": 362, + "checksum": "sha256-3b33bbfbc3b29a7638b45f66ce9d5e4988de85a945ef18c33f708ef26f56fec9" + }, + "/debug.ts": { + "size": 3440, + "checksum": "sha256-c8cc9093b8332643683930b1c9173d105f456b11d8655c9b9b382549ede322c4" + }, + "/_file_handler_symbols.ts": { + "size": 380, + "checksum": "sha256-f68a92c8cec2ac3a74bd5d725c57741470d6485cffccdb9d28ffa136dad80f4b" + }, + "/setup_test.ts": { + "size": 5748, + "checksum": "sha256-1366afde95b4c2badaa2c0e99fbebe1c60e6afbc144a660ce5921e92a41fb4ff" + }, + "/_test_handler.ts": { + "size": 244, + "checksum": "sha256-425d03502a5121d8f8044dfe59e439db3bd3855f90a2aa3b7361f1bb289f35fa" + }, + "/warn_test.ts": { + "size": 691, + "checksum": "sha256-69a4592bcc765783dbe39aaa0261be7568f69f5825e80fd62f6b79ad765b81cc" + }, + "/deno.json": { + "size": 602, + "checksum": "sha256-7d3e2a23b4c3e66e3d20d6df0b7d0beb7227961df65d529482827cabae89c833" + }, + "/warn.ts": { + "size": 2335, + "checksum": "sha256-d9227d43b5d76ce80bcb7edce3d7247b9d015834cdcd0c88f20184654893b1cd" + }, + "/levels.ts": { + "size": 1517, + "checksum": "sha256-eaa1b17ffca32a66065d50cd745ebec99c18998fe38e0d0a401f90468d5a0399" + }, + "/_state.ts": { + "size": 334, + "checksum": "sha256-527c07c9de93e65dcb8a26505be3ebaba981c0c7a6e044a82ec4a3c8b3a2eec2" + }, + "/console_handler.ts": { + "size": 3029, + "checksum": "sha256-a7a30d9474e3ff7bd7d2e07b61b7193b52bf7ede842b24063f5ac915ea85f3c8" + }, + "/_config.ts": { + "size": 406, + "checksum": "sha256-3ca0fe5b05b148e60330ab36d0b58710dba0ed7f13913cdf6b536d5bca667275" + }, + "/critical_test.ts": { + "size": 718, + "checksum": "sha256-44751301dab8c910f702b62ae8f9b8bd1a0d6fe1ef1f32ec2a98ec0e1645dfa0" + }, + "/setup.ts": { + "size": 1527, + "checksum": "sha256-a7028b07c7147edfb55c1080283eced7255038bcb53776a50a1869445bc05964" + }, + "/file_handler.ts": { + "size": 7894, + "checksum": "sha256-573d4d22cdcfd83c1193573e53060271d61524bb37d159982ace350d7bfb9e82" + } + }, + "moduleGraph2": { + "/logger.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./levels.ts", + "specifierRange": [ + [ + 2, + 56 + ], + [ + 2, + 69 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./levels.ts", + "specifierRange": [ + [ + 3, + 41 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./base_handler.ts", + "specifierRange": [ + [ + 4, + 33 + ], + [ + 4, + 52 + ] + ] + } + ] + }, + "/_state.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./base_handler.ts", + "specifierRange": [ + [ + 2, + 33 + ], + [ + 2, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_config.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 45 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 41 + ] + ] + } + ] + }, + "/get_logger.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_state.ts", + "specifierRange": [ + [ + 4, + 22 + ], + [ + 4, + 35 + ] + ] + } + ] + }, + "/file_handler.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./levels.ts", + "specifierRange": [ + [ + 1, + 42 + ], + [ + 1, + 55 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 44 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./base_handler.ts", + "specifierRange": [ + [ + 3, + 53 + ], + [ + 3, + 72 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/io@^0.225.0/write-all", + "specifierRange": [ + [ + 4, + 29 + ], + [ + 4, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_file_handler_symbols.ts", + "specifierRange": [ + [ + 13, + 7 + ], + [ + 13, + 35 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./base_handler.ts", + "specifierRange": [ + [ + 378, + 14 + ], + [ + 378, + 33 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./console_handler.ts", + "specifierRange": [ + [ + 379, + 14 + ], + [ + 379, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./file_handler.ts", + "specifierRange": [ + [ + 380, + 14 + ], + [ + 380, + 33 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./rotating_file_handler.ts", + "specifierRange": [ + [ + 381, + 14 + ], + [ + 381, + 42 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./levels.ts", + "specifierRange": [ + [ + 382, + 14 + ], + [ + 382, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 383, + 14 + ], + [ + 383, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./formatters.ts", + "specifierRange": [ + [ + 384, + 14 + ], + [ + 384, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./critical.ts", + "specifierRange": [ + [ + 385, + 14 + ], + [ + 385, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./debug.ts", + "specifierRange": [ + [ + 386, + 14 + ], + [ + 386, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./error.ts", + "specifierRange": [ + [ + 387, + 14 + ], + [ + 387, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./get_logger.ts", + "specifierRange": [ + [ + 388, + 14 + ], + [ + 388, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./info.ts", + "specifierRange": [ + [ + 389, + 14 + ], + [ + 389, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./setup.ts", + "specifierRange": [ + [ + 390, + 14 + ], + [ + 390, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./warn.ts", + "specifierRange": [ + [ + 391, + 14 + ], + [ + 391, + 25 + ] + ] + } + ] + }, + "/_config.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./console_handler.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 53 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 44 + ] + ] + } + ] + }, + "/rotating_file_handler.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./levels.ts", + "specifierRange": [ + [ + 1, + 31 + ], + [ + 1, + 44 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/fs@^1.0.9/exists", + "specifierRange": [ + [ + 2, + 27 + ], + [ + 2, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./file_handler.ts", + "specifierRange": [ + [ + 3, + 53 + ], + [ + 3, + 72 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_file_handler_symbols.ts", + "specifierRange": [ + [ + 10, + 7 + ], + [ + 10, + 35 + ] + ] + } + ] + }, + "/console_handler.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./levels.ts", + "specifierRange": [ + [ + 2, + 42 + ], + [ + 2, + 55 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 44 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/fmt@^1.0.4/colors", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 68 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./base_handler.ts", + "specifierRange": [ + [ + 5, + 53 + ], + [ + 5, + 72 + ] + ] + } + ] + }, + "/_file_handler_symbols.ts": {}, + "/setup.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./base_handler.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_config.ts", + "specifierRange": [ + [ + 4, + 46 + ], + [ + 4, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 5, + 39 + ], + [ + 5, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_state.ts", + "specifierRange": [ + [ + 6, + 22 + ], + [ + 6, + 35 + ] + ] + } + ] + }, + "/info.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./get_logger.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 43 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 4, + 37 + ], + [ + 4, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./setup.ts", + "specifierRange": [ + [ + 5, + 7 + ], + [ + 5, + 19 + ] + ] + } + ] + }, + "/base_handler.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./levels.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 20 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 8, + 31 + ], + [ + 8, + 44 + ] + ] + } + ] + }, + "/warn.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./get_logger.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 43 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 4, + 37 + ], + [ + 4, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./setup.ts", + "specifierRange": [ + [ + 5, + 7 + ], + [ + 5, + 19 + ] + ] + } + ] + }, + "/critical.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./get_logger.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 43 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 4, + 37 + ], + [ + 4, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./setup.ts", + "specifierRange": [ + [ + 5, + 7 + ], + [ + 5, + 19 + ] + ] + } + ] + }, + "/error.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./get_logger.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 43 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 4, + 37 + ], + [ + 4, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./setup.ts", + "specifierRange": [ + [ + 5, + 7 + ], + [ + 5, + 19 + ] + ] + } + ] + }, + "/levels.ts": {}, + "/formatters.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 44 + ] + ] + } + ] + }, + "/debug.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./get_logger.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 43 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./logger.ts", + "specifierRange": [ + [ + 4, + 37 + ], + [ + 4, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./setup.ts", + "specifierRange": [ + [ + 5, + 7 + ], + [ + 5, + 19 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./base-handler": "./base_handler.ts", + "./console-handler": "./console_handler.ts", + "./critical": "./critical.ts", + "./debug": "./debug.ts", + "./error": "./error.ts", + "./file-handler": "./file_handler.ts", + "./formatters": "./formatters.ts", + "./get-logger": "./get_logger.ts", + "./info": "./info.ts", + "./levels": "./levels.ts", + "./logger": "./logger.ts", + "./rotating-file-handler": "./rotating_file_handler.ts", + "./setup": "./setup.ts", + "./warn": "./warn.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/log/meta.json b/vendor/jsr.io/@std/log/meta.json new file mode 100644 index 0000000..2e1ef42 --- /dev/null +++ b/vendor/jsr.io/@std/log/meta.json @@ -0,0 +1,53 @@ +{ + "scope": "std", + "name": "log", + "latest": "0.224.13", + "versions": { + "0.213.0": {}, + "0.215.0": {}, + "0.218.1": {}, + "0.198.0": {}, + "0.224.7": {}, + "0.219.1": {}, + "0.209.0": {}, + "0.206.0": {}, + "0.224.10": {}, + "0.199.0": {}, + "0.196.0": {}, + "0.211.0": {}, + "0.221.0": {}, + "0.202.0": {}, + "0.214.0": {}, + "0.222.1": {}, + "0.218.0": {}, + "0.207.0": {}, + "0.217.0": {}, + "0.203.0": {}, + "0.224.8": {}, + "0.224.5": {}, + "0.223.0": {}, + "0.212.0": {}, + "0.224.11": {}, + "0.222.0": {}, + "0.224.0": {}, + "0.197.0": {}, + "0.205.0": {}, + "0.224.1": {}, + "0.208.0": {}, + "0.210.0": {}, + "0.224.12": {}, + "0.224.3": {}, + "0.224.2": {}, + "0.220.1": {}, + "0.224.13": {}, + "0.201.0": {}, + "0.200.0": {}, + "0.213.1": {}, + "0.224.4": {}, + "0.224.9": {}, + "0.218.2": {}, + "0.216.0": {}, + "0.224.6": {}, + "0.204.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/media-types/1.1.0/_db.ts b/vendor/jsr.io/@std/media-types/1.1.0/_db.ts new file mode 100644 index 0000000..88f0378 --- /dev/null +++ b/vendor/jsr.io/@std/media-types/1.1.0/_db.ts @@ -0,0 +1,48 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +import db from "./vendor/db.ts"; +import type { DBEntry } from "./_util.ts"; + +export type KeyOfDb = keyof typeof db; + +/** A map of the media type for a given extension */ +export const types = new Map(); + +/** A map of extensions for a given media type. */ +const extensions: Map = new Map(); + +/** Internal function to populate the maps based on the Mime DB. */ +const preference = ["nginx", "apache", undefined, "iana"]; + +for (const type of Object.keys(db) as KeyOfDb[]) { + const mime = db[type] as DBEntry; + const exts = mime.extensions; + + if (!exts || !exts.length) { + continue; + } + + // @ts-ignore Work around https://github.com/denoland/dnt/issues/148 + extensions.set(type, exts); + + for (const ext of exts) { + const current = types.get(ext); + if (current) { + const from = preference.indexOf((db[current] as DBEntry).source); + const to = preference.indexOf(mime.source); + + if ( + current !== "application/octet-stream" && + current !== "application/mp4" && + (from > to || + // @ts-ignore work around https://github.com/denoland/dnt/issues/148 + (from === to && current.startsWith("application/"))) + ) { + continue; + } + } + + types.set(ext, type); + } +} + +export { db, extensions }; diff --git a/vendor/jsr.io/@std/media-types/1.1.0/_util.ts b/vendor/jsr.io/@std/media-types/1.1.0/_util.ts new file mode 100644 index 0000000..d53e1c3 --- /dev/null +++ b/vendor/jsr.io/@std/media-types/1.1.0/_util.ts @@ -0,0 +1,145 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. + +export interface DBEntry { + source: string; + compressible?: boolean; + charset?: string; + extensions?: string[]; +} + +export function consumeToken(v: string): [token: string, rest: string] { + const notPos = indexOf(v, isNotTokenChar); + if (notPos === -1) { + return [v, ""]; + } + if (notPos === 0) { + return ["", v]; + } + return [v.slice(0, notPos), v.slice(notPos)]; +} + +export function consumeValue(v: string): [value: string, rest: string] { + if (!v) { + return ["", v]; + } + if (v[0] !== `"`) { + return consumeToken(v); + } + let value = ""; + for (let i = 1; i < v.length; i++) { + const r = v[i]; + if (r === `"`) { + return [value, v.slice(i + 1)]; + } + const next = v[i + 1]; + if (r === "\\" && typeof next === "string" && isTSpecial(next)) { + value += next; + i++; + continue; + } + if (r === "\r" || r === "\n") { + return ["", v]; + } + value += v[i]; + } + return ["", v]; +} + +export function consumeMediaParam( + v: string, +): [key: string, value: string, rest: string] { + let rest = v.trimStart(); + if (!rest.startsWith(";")) { + return ["", "", v]; + } + rest = rest.slice(1); + rest = rest.trimStart(); + let param: string; + [param, rest] = consumeToken(rest); + param = param.toLowerCase(); + if (!param) { + return ["", "", v]; + } + rest = rest.slice(1); + rest = rest.trimStart(); + const [value, rest2] = consumeValue(rest); + if (value === "" && rest2 === rest) { + return ["", "", v]; + } + rest = rest2; + return [param, value, rest]; +} + +export function decode2331Encoding(v: string): string | undefined { + const sv = v.split(`'`, 3); + if (sv.length !== 3) { + return undefined; + } + const [sv0, , sv2] = sv as [string, string, string]; + const charset = sv0.toLowerCase(); + if (!charset) { + return undefined; + } + if (charset !== "us-ascii" && charset !== "utf-8") { + return undefined; + } + const encv = decodeURI(sv2); + if (!encv) { + return undefined; + } + return encv; +} + +function indexOf(s: Iterable, fn: (s: T) => boolean): number { + let i = -1; + for (const v of s) { + i++; + if (fn(v)) { + return i; + } + } + return -1; +} + +export function isIterator(obj: unknown): obj is Iterable { + if (obj === null || obj === undefined) { + return false; + } + // deno-lint-ignore no-explicit-any + return typeof (obj as any)[Symbol.iterator] === "function"; +} + +export function isToken(s: string): boolean { + if (!s) { + return false; + } + return indexOf(s, isNotTokenChar) < 0; +} + +function isNotTokenChar(r: string): boolean { + return !isTokenChar(r); +} + +function isTokenChar(r: string): boolean { + const code = r.charCodeAt(0); + return code > 0x20 && code < 0x7f && !isTSpecial(r); +} + +export function isTSpecial(r: string): boolean { + return r[0] ? `()<>@,;:\\"/[]?=`.includes(r[0]) : false; +} + +const CHAR_CODE_SPACE = " ".charCodeAt(0); +const CHAR_CODE_TILDE = "~".charCodeAt(0); + +export function needsEncoding(s: string): boolean { + for (const b of s) { + const charCode = b.charCodeAt(0); + if ( + (charCode < CHAR_CODE_SPACE || charCode > CHAR_CODE_TILDE) && b !== "\t" + ) { + return true; + } + } + return false; +} diff --git a/vendor/jsr.io/@std/media-types/1.1.0/content_type.ts b/vendor/jsr.io/@std/media-types/1.1.0/content_type.ts new file mode 100644 index 0000000..65be07c --- /dev/null +++ b/vendor/jsr.io/@std/media-types/1.1.0/content_type.ts @@ -0,0 +1,85 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { parseMediaType } from "./parse_media_type.ts"; +import { getCharset } from "./get_charset.ts"; +import { formatMediaType } from "./format_media_type.ts"; +import type { db } from "./_db.ts"; +import { typeByExtension } from "./type_by_extension.ts"; + +/** MIME-types database. */ +export type DB = typeof db; +/** Maps content types to their corresponding file extensions. */ +export type ContentTypeToExtension = { + /** + * Maps each content type key to its corresponding file extension. + */ + [K in keyof DB]: DB[K] extends { "extensions": readonly string[] } + ? DB[K]["extensions"][number] + : never; +}; + +/** Known extension or type. Used in {@linkcode contentType}. */ +export type KnownExtensionOrType = + | keyof ContentTypeToExtension + | ContentTypeToExtension[keyof ContentTypeToExtension] + | `.${ContentTypeToExtension[keyof ContentTypeToExtension]}`; + +/** + * Returns the full `Content-Type` or `Content-Disposition` header value for the + * given extension or media type. + * + * The function will treat the `extensionOrType` as a media type when it + * contains a `/`, otherwise it will process it as an extension, with or without + * the leading `.`. + * + * Returns `undefined` if unable to resolve the media type. + * + * @typeParam T Type of the extension or media type to resolve. + * + * @param extensionOrType The extension or media type to resolve. + * + * @returns The full `Content-Type` or `Content-Disposition` header value, or + * `undefined` if unable to resolve the media type. + * + * @example Usage + * ```ts + * import { contentType } from "@std/media-types/content-type"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(contentType(".json"), "application/json; charset=UTF-8"); + * assertEquals(contentType("text/html"), "text/html; charset=UTF-8"); + * assertEquals(contentType("text/html; charset=UTF-8"), "text/html; charset=UTF-8"); + * assertEquals(contentType("txt"), "text/plain; charset=UTF-8"); + * assertEquals(contentType("foo"), undefined); + * assertEquals(contentType("file.json"), undefined); + * ``` + */ +export function contentType< + // Workaround to autocomplete for parameters: https://github.com/microsoft/TypeScript/issues/29729#issuecomment-567871939 + // deno-lint-ignore ban-types + T extends (string & {}) | KnownExtensionOrType, +>( + extensionOrType: T, +): Lowercase extends KnownExtensionOrType ? string : string | undefined { + try { + const [mediaType, params = {}] = extensionOrType.includes("/") + ? parseMediaType(extensionOrType) + : [typeByExtension(extensionOrType), undefined]; + if (!mediaType) { + return undefined as Lowercase extends KnownExtensionOrType ? string + : string | undefined; + } + if (!("charset" in params)) { + const charset = getCharset(mediaType); + if (charset) { + params.charset = charset; + } + } + return formatMediaType(mediaType, params); + } catch { + // just swallow returning undefined + } + return undefined as Lowercase extends KnownExtensionOrType ? string + : string | undefined; +} diff --git a/vendor/jsr.io/@std/media-types/1.1.0/format_media_type.ts b/vendor/jsr.io/@std/media-types/1.1.0/format_media_type.ts new file mode 100644 index 0000000..8167e72 --- /dev/null +++ b/vendor/jsr.io/@std/media-types/1.1.0/format_media_type.ts @@ -0,0 +1,86 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isIterator, isToken, needsEncoding } from "./_util.ts"; + +/** + * Serializes the media type and the optional parameters as a media type + * conforming to {@link https://www.rfc-editor.org/rfc/rfc2045.html | RFC 2045} and + * {@link https://www.rfc-editor.org/rfc/rfc2616.html | RFC 2616}. + * + * The type and parameter names are written in lower-case. + * + * When any of the arguments results in a standard violation then the return + * value will be an empty string (`""`). + * + * @param type The media type to serialize. + * @param param Optional parameters to serialize. + * + * @returns The serialized media type. + * + * @example Basic usage + * ```ts + * import { formatMediaType } from "@std/media-types/format-media-type"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(formatMediaType("text/plain"), "text/plain"); + * ``` + * + * @example With parameters + * ```ts + * import { formatMediaType } from "@std/media-types/format-media-type"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(formatMediaType("text/plain", { charset: "UTF-8" }), "text/plain; charset=UTF-8"); + * ``` + */ +export function formatMediaType( + type: string, + param?: Record | Iterable<[string, string]>, +): string { + let serializedMediaType = ""; + const [major = "", sub] = type.split("/"); + if (!sub) { + if (!isToken(type)) { + return ""; + } + serializedMediaType += type.toLowerCase(); + } else { + if (!isToken(major) || !isToken(sub)) { + return ""; + } + serializedMediaType += `${major.toLowerCase()}/${sub.toLowerCase()}`; + } + + if (param) { + param = isIterator(param) ? Object.fromEntries(param) : param; + const attrs = Object.keys(param); + attrs.sort(); + + for (const attribute of attrs) { + if (!isToken(attribute)) { + return ""; + } + const value = param[attribute]!; + serializedMediaType += `; ${attribute.toLowerCase()}`; + + const needEnc = needsEncoding(value); + if (needEnc) { + serializedMediaType += "*"; + } + serializedMediaType += "="; + + if (needEnc) { + serializedMediaType += `utf-8''${encodeURIComponent(value)}`; + continue; + } + + if (isToken(value)) { + serializedMediaType += value; + continue; + } + serializedMediaType += `"${value.replace(/["\\]/gi, (m) => `\\${m}`)}"`; + } + } + return serializedMediaType; +} diff --git a/vendor/jsr.io/@std/media-types/1.1.0/get_charset.ts b/vendor/jsr.io/@std/media-types/1.1.0/get_charset.ts new file mode 100644 index 0000000..4fd6e3e --- /dev/null +++ b/vendor/jsr.io/@std/media-types/1.1.0/get_charset.ts @@ -0,0 +1,45 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { parseMediaType } from "./parse_media_type.ts"; +import type { DBEntry } from "./_util.ts"; +import { db, type KeyOfDb } from "./_db.ts"; + +/** + * Given a media type or header value, identify the encoding charset. If the + * charset cannot be determined, the function returns `undefined`. + * + * @param type The media type or header value to get the charset for. + * + * @returns The charset for the given media type or header value, or `undefined` + * if the charset cannot be determined. + * + * @example Usage + * ```ts + * import { getCharset } from "@std/media-types/get-charset"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(getCharset("text/plain"), "UTF-8"); + * assertEquals(getCharset("application/foo"), undefined); + * assertEquals(getCharset("application/news-checkgroups"), "US-ASCII"); + * assertEquals(getCharset("application/news-checkgroups; charset=UTF-8"), "UTF-8"); + * ``` + */ +export function getCharset(type: string): string | undefined { + try { + const [mediaType, params] = parseMediaType(type); + if (params?.charset) { + return params.charset; + } + const entry = db[mediaType as KeyOfDb] as DBEntry; + if (entry?.charset) { + return entry.charset; + } + if (mediaType.startsWith("text/")) { + return "UTF-8"; + } + } catch { + // just swallow errors, returning undefined + } + return undefined; +} diff --git a/vendor/jsr.io/@std/media-types/1.1.0/parse_media_type.ts b/vendor/jsr.io/@std/media-types/1.1.0/parse_media_type.ts new file mode 100644 index 0000000..0a205ab --- /dev/null +++ b/vendor/jsr.io/@std/media-types/1.1.0/parse_media_type.ts @@ -0,0 +1,125 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { consumeMediaParam, decode2331Encoding } from "./_util.ts"; + +const SEMICOLON_REGEXP = /^\s*;\s*$/; +/** + * Parses the media type and any optional parameters, per + * {@link https://www.rfc-editor.org/rfc/rfc1521.html | RFC 1521}. + * + * Media types are the values in `Content-Type` and `Content-Disposition` + * headers. On success the function returns a tuple where the first element is + * the media type and the second element is the optional parameters or + * `undefined` if there are none. + * + * The function will throw if the parsed value is invalid. + * + * The returned media type will be normalized to be lower case, and returned + * params keys will be normalized to lower case, but preserves the casing of + * the value. + * + * @param type The media type to parse. + * + * @returns A tuple where the first element is the media type and the second + * element is the optional parameters or `undefined` if there are none. + * + * @example Usage + * ```ts + * import { parseMediaType } from "@std/media-types/parse-media-type"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(parseMediaType("application/JSON"), ["application/json", undefined]); + * assertEquals(parseMediaType("text/html; charset=UTF-8"), ["text/html", { charset: "UTF-8" }]); + * ``` + */ +export function parseMediaType( + type: string, +): [mediaType: string, params: Record | undefined] { + const [base] = type.split(";") as [string]; + const mediaType = base.toLowerCase().trim(); + + const params: Record = {}; + // Map of base parameter name -> parameter name -> value + // for parameters containing a '*' character. + const continuation = new Map>(); + + type = type.slice(base.length); + while (type.length) { + type = type.trimStart(); + if (type.length === 0) { + break; + } + const [key, value, rest] = consumeMediaParam(type); + if (!key) { + if (SEMICOLON_REGEXP.test(rest)) { + // ignore trailing semicolons + break; + } + throw new TypeError( + `Cannot parse media type: invalid parameter "${type}"`, + ); + } + + let pmap = params; + const [baseName, rest2] = key.split("*"); + if (baseName && rest2 !== undefined) { + if (!continuation.has(baseName)) { + continuation.set(baseName, {}); + } + pmap = continuation.get(baseName)!; + } + if (key in pmap) { + throw new TypeError("Cannot parse media type: duplicate key"); + } + pmap[key] = value; + type = rest; + } + + // Stitch together any continuations or things with stars + // (i.e. RFC 2231 things with stars: "foo*0" or "foo*") + let str = ""; + for (const [key, pieceMap] of continuation) { + const singlePartKey = `${key}*`; + const type = pieceMap[singlePartKey]; + if (type) { + const decv = decode2331Encoding(type); + if (decv) { + params[key] = decv; + } + continue; + } + + str = ""; + let valid = false; + for (let n = 0;; n++) { + const simplePart = `${key}*${n}`; + let type = pieceMap[simplePart]; + if (type) { + valid = true; + str += type; + continue; + } + const encodedPart = `${simplePart}*`; + type = pieceMap[encodedPart]; + if (!type) { + break; + } + valid = true; + if (n === 0) { + const decv = decode2331Encoding(type); + if (decv) { + str += decv; + } + } else { + const decv = decodeURI(type); + str += decv; + } + } + if (valid) { + params[key] = str; + } + } + + return [mediaType, Object.keys(params).length ? params : undefined]; +} diff --git a/vendor/jsr.io/@std/media-types/1.1.0/type_by_extension.ts b/vendor/jsr.io/@std/media-types/1.1.0/type_by_extension.ts new file mode 100644 index 0000000..0d53c5b --- /dev/null +++ b/vendor/jsr.io/@std/media-types/1.1.0/type_by_extension.ts @@ -0,0 +1,33 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { types } from "./_db.ts"; + +/** + * Returns the media type associated with the file extension, or `undefined` if + * no media type is found. + * + * Values are normalized to lower case and matched irrespective of a leading + * `.`. + * + * @param extension The file extension to get the media type for. + * + * @returns The media type associated with the file extension, or `undefined` if + * no media type is found. + * + * @example Usage + * ```ts + * import { typeByExtension } from "@std/media-types/type-by-extension"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(typeByExtension("js"), "text/javascript"); + * assertEquals(typeByExtension(".HTML"), "text/html"); + * assertEquals(typeByExtension("foo"), undefined); + * assertEquals(typeByExtension("file.json"), undefined); + * ``` + */ +export function typeByExtension(extension: string): string | undefined { + extension = extension.startsWith(".") ? extension.slice(1) : extension; + // @ts-ignore Work around https://github.com/denoland/dnt/issues/148 + return types.get(extension.toLowerCase()); +} diff --git a/vendor/jsr.io/@std/media-types/1.1.0/vendor/db.ts b/vendor/jsr.io/@std/media-types/1.1.0/vendor/db.ts new file mode 100644 index 0000000..8fc5a1d --- /dev/null +++ b/vendor/jsr.io/@std/media-types/1.1.0/vendor/db.ts @@ -0,0 +1,9178 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export default { + "application/1d-interleaved-parityfec": { + "source": "iana", + }, + "application/3gpdash-qoe-report+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/3gpp-ims+xml": { + "source": "iana", + "compressible": true, + }, + "application/3gpphal+json": { + "source": "iana", + "compressible": true, + }, + "application/3gpphalforms+json": { + "source": "iana", + "compressible": true, + }, + "application/a2l": { + "source": "iana", + }, + "application/ace+cbor": { + "source": "iana", + }, + "application/ace+json": { + "source": "iana", + "compressible": true, + }, + "application/ace-groupcomm+cbor": { + "source": "iana", + }, + "application/activemessage": { + "source": "iana", + }, + "application/activity+json": { + "source": "iana", + "compressible": true, + }, + "application/aif+cbor": { + "source": "iana", + }, + "application/aif+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-cdni+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-cdnifilter+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-costmap+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-costmapfilter+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-directory+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-endpointcost+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-endpointcostparams+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-endpointprop+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-endpointpropparams+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-error+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-networkmap+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-networkmapfilter+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-propmap+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-propmapparams+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-tips+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-tipsparams+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-updatestreamcontrol+json": { + "source": "iana", + "compressible": true, + }, + "application/alto-updatestreamparams+json": { + "source": "iana", + "compressible": true, + }, + "application/aml": { + "source": "iana", + }, + "application/andrew-inset": { + "source": "iana", + "extensions": ["ez"], + }, + "application/appinstaller": { + "compressible": false, + "extensions": ["appinstaller"], + }, + "application/applefile": { + "source": "iana", + }, + "application/applixware": { + "source": "apache", + "extensions": ["aw"], + }, + "application/appx": { + "compressible": false, + "extensions": ["appx"], + }, + "application/appxbundle": { + "compressible": false, + "extensions": ["appxbundle"], + }, + "application/at+jwt": { + "source": "iana", + }, + "application/atf": { + "source": "iana", + }, + "application/atfx": { + "source": "iana", + }, + "application/atom+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atom"], + }, + "application/atomcat+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atomcat"], + }, + "application/atomdeleted+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atomdeleted"], + }, + "application/atomicmail": { + "source": "iana", + }, + "application/atomsvc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["atomsvc"], + }, + "application/atsc-dwd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["dwd"], + }, + "application/atsc-dynamic-event-message": { + "source": "iana", + }, + "application/atsc-held+xml": { + "source": "iana", + "compressible": true, + "extensions": ["held"], + }, + "application/atsc-rdt+json": { + "source": "iana", + "compressible": true, + }, + "application/atsc-rsat+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rsat"], + }, + "application/atxml": { + "source": "iana", + }, + "application/auth-policy+xml": { + "source": "iana", + "compressible": true, + }, + "application/automationml-aml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["aml"], + }, + "application/automationml-amlx+zip": { + "source": "iana", + "compressible": false, + "extensions": ["amlx"], + }, + "application/bacnet-xdd+zip": { + "source": "iana", + "compressible": false, + }, + "application/batch-smtp": { + "source": "iana", + }, + "application/bdoc": { + "compressible": false, + "extensions": ["bdoc"], + }, + "application/beep+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/bufr": { + "source": "iana", + }, + "application/c2pa": { + "source": "iana", + }, + "application/calendar+json": { + "source": "iana", + "compressible": true, + }, + "application/calendar+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xcs"], + }, + "application/call-completion": { + "source": "iana", + }, + "application/cals-1840": { + "source": "iana", + }, + "application/captive+json": { + "source": "iana", + "compressible": true, + }, + "application/cbor": { + "source": "iana", + }, + "application/cbor-seq": { + "source": "iana", + }, + "application/cccex": { + "source": "iana", + }, + "application/ccmp+xml": { + "source": "iana", + "compressible": true, + }, + "application/ccxml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ccxml"], + }, + "application/cda+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/cdfx+xml": { + "source": "iana", + "compressible": true, + "extensions": ["cdfx"], + }, + "application/cdmi-capability": { + "source": "iana", + "extensions": ["cdmia"], + }, + "application/cdmi-container": { + "source": "iana", + "extensions": ["cdmic"], + }, + "application/cdmi-domain": { + "source": "iana", + "extensions": ["cdmid"], + }, + "application/cdmi-object": { + "source": "iana", + "extensions": ["cdmio"], + }, + "application/cdmi-queue": { + "source": "iana", + "extensions": ["cdmiq"], + }, + "application/cdni": { + "source": "iana", + }, + "application/cea": { + "source": "iana", + }, + "application/cea-2018+xml": { + "source": "iana", + "compressible": true, + }, + "application/cellml+xml": { + "source": "iana", + "compressible": true, + }, + "application/cfw": { + "source": "iana", + }, + "application/cid-edhoc+cbor-seq": { + "source": "iana", + }, + "application/city+json": { + "source": "iana", + "compressible": true, + }, + "application/clr": { + "source": "iana", + }, + "application/clue+xml": { + "source": "iana", + "compressible": true, + }, + "application/clue_info+xml": { + "source": "iana", + "compressible": true, + }, + "application/cms": { + "source": "iana", + }, + "application/cnrp+xml": { + "source": "iana", + "compressible": true, + }, + "application/coap-group+json": { + "source": "iana", + "compressible": true, + }, + "application/coap-payload": { + "source": "iana", + }, + "application/commonground": { + "source": "iana", + }, + "application/concise-problem-details+cbor": { + "source": "iana", + }, + "application/conference-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/cose": { + "source": "iana", + }, + "application/cose-key": { + "source": "iana", + }, + "application/cose-key-set": { + "source": "iana", + }, + "application/cose-x509": { + "source": "iana", + }, + "application/cpl+xml": { + "source": "iana", + "compressible": true, + "extensions": ["cpl"], + }, + "application/csrattrs": { + "source": "iana", + }, + "application/csta+xml": { + "source": "iana", + "compressible": true, + }, + "application/cstadata+xml": { + "source": "iana", + "compressible": true, + }, + "application/csvm+json": { + "source": "iana", + "compressible": true, + }, + "application/cu-seeme": { + "source": "apache", + "extensions": ["cu"], + }, + "application/cwl": { + "source": "iana", + "extensions": ["cwl"], + }, + "application/cwl+json": { + "source": "iana", + "compressible": true, + }, + "application/cwl+yaml": { + "source": "iana", + }, + "application/cwt": { + "source": "iana", + }, + "application/cybercash": { + "source": "iana", + }, + "application/dart": { + "compressible": true, + }, + "application/dash+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpd"], + }, + "application/dash-patch+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpp"], + }, + "application/dashdelta": { + "source": "iana", + }, + "application/davmount+xml": { + "source": "iana", + "compressible": true, + "extensions": ["davmount"], + }, + "application/dca-rft": { + "source": "iana", + }, + "application/dcd": { + "source": "iana", + }, + "application/dec-dx": { + "source": "iana", + }, + "application/dialog-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/dicom": { + "source": "iana", + }, + "application/dicom+json": { + "source": "iana", + "compressible": true, + }, + "application/dicom+xml": { + "source": "iana", + "compressible": true, + }, + "application/dii": { + "source": "iana", + }, + "application/dit": { + "source": "iana", + }, + "application/dns": { + "source": "iana", + }, + "application/dns+json": { + "source": "iana", + "compressible": true, + }, + "application/dns-message": { + "source": "iana", + }, + "application/docbook+xml": { + "source": "apache", + "compressible": true, + "extensions": ["dbk"], + }, + "application/dots+cbor": { + "source": "iana", + }, + "application/dpop+jwt": { + "source": "iana", + }, + "application/dskpp+xml": { + "source": "iana", + "compressible": true, + }, + "application/dssc+der": { + "source": "iana", + "extensions": ["dssc"], + }, + "application/dssc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xdssc"], + }, + "application/dvcs": { + "source": "iana", + }, + "application/ecmascript": { + "source": "apache", + "compressible": true, + "extensions": ["ecma"], + }, + "application/edhoc+cbor-seq": { + "source": "iana", + }, + "application/edi-consent": { + "source": "iana", + }, + "application/edi-x12": { + "source": "iana", + "compressible": false, + }, + "application/edifact": { + "source": "iana", + "compressible": false, + }, + "application/efi": { + "source": "iana", + }, + "application/elm+json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/elm+xml": { + "source": "iana", + "compressible": true, + }, + "application/emergencycalldata.cap+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/emergencycalldata.comment+xml": { + "source": "iana", + "compressible": true, + }, + "application/emergencycalldata.control+xml": { + "source": "iana", + "compressible": true, + }, + "application/emergencycalldata.deviceinfo+xml": { + "source": "iana", + "compressible": true, + }, + "application/emergencycalldata.ecall.msd": { + "source": "iana", + }, + "application/emergencycalldata.legacyesn+json": { + "source": "iana", + "compressible": true, + }, + "application/emergencycalldata.providerinfo+xml": { + "source": "iana", + "compressible": true, + }, + "application/emergencycalldata.serviceinfo+xml": { + "source": "iana", + "compressible": true, + }, + "application/emergencycalldata.subscriberinfo+xml": { + "source": "iana", + "compressible": true, + }, + "application/emergencycalldata.veds+xml": { + "source": "iana", + "compressible": true, + }, + "application/emma+xml": { + "source": "iana", + "compressible": true, + "extensions": ["emma"], + }, + "application/emotionml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["emotionml"], + }, + "application/encaprtp": { + "source": "iana", + }, + "application/epp+xml": { + "source": "iana", + "compressible": true, + }, + "application/epub+zip": { + "source": "iana", + "compressible": false, + "extensions": ["epub"], + }, + "application/eshop": { + "source": "iana", + }, + "application/exi": { + "source": "iana", + "extensions": ["exi"], + }, + "application/expect-ct-report+json": { + "source": "iana", + "compressible": true, + }, + "application/express": { + "source": "iana", + "extensions": ["exp"], + }, + "application/fastinfoset": { + "source": "iana", + }, + "application/fastsoap": { + "source": "iana", + }, + "application/fdf": { + "source": "iana", + "extensions": ["fdf"], + }, + "application/fdt+xml": { + "source": "iana", + "compressible": true, + "extensions": ["fdt"], + }, + "application/fhir+json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/fhir+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/fido.trusted-apps+json": { + "compressible": true, + }, + "application/fits": { + "source": "iana", + }, + "application/flexfec": { + "source": "iana", + }, + "application/font-sfnt": { + "source": "iana", + }, + "application/font-tdpfr": { + "source": "iana", + "extensions": ["pfr"], + }, + "application/font-woff": { + "source": "iana", + "compressible": false, + }, + "application/framework-attributes+xml": { + "source": "iana", + "compressible": true, + }, + "application/geo+json": { + "source": "iana", + "compressible": true, + "extensions": ["geojson"], + }, + "application/geo+json-seq": { + "source": "iana", + }, + "application/geopackage+sqlite3": { + "source": "iana", + }, + "application/geoxacml+json": { + "source": "iana", + "compressible": true, + }, + "application/geoxacml+xml": { + "source": "iana", + "compressible": true, + }, + "application/gltf-buffer": { + "source": "iana", + }, + "application/gml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["gml"], + }, + "application/gnap-binding-jws": { + "source": "iana", + }, + "application/gnap-binding-jwsd": { + "source": "iana", + }, + "application/gnap-binding-rotation-jws": { + "source": "iana", + }, + "application/gnap-binding-rotation-jwsd": { + "source": "iana", + }, + "application/gpx+xml": { + "source": "apache", + "compressible": true, + "extensions": ["gpx"], + }, + "application/grib": { + "source": "iana", + }, + "application/gxf": { + "source": "apache", + "extensions": ["gxf"], + }, + "application/gzip": { + "source": "iana", + "compressible": false, + "extensions": ["gz"], + }, + "application/h224": { + "source": "iana", + }, + "application/held+xml": { + "source": "iana", + "compressible": true, + }, + "application/hjson": { + "extensions": ["hjson"], + }, + "application/hl7v2+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/http": { + "source": "iana", + }, + "application/hyperstudio": { + "source": "iana", + "extensions": ["stk"], + }, + "application/ibe-key-request+xml": { + "source": "iana", + "compressible": true, + }, + "application/ibe-pkg-reply+xml": { + "source": "iana", + "compressible": true, + }, + "application/ibe-pp-data": { + "source": "iana", + }, + "application/iges": { + "source": "iana", + }, + "application/im-iscomposing+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/index": { + "source": "iana", + }, + "application/index.cmd": { + "source": "iana", + }, + "application/index.obj": { + "source": "iana", + }, + "application/index.response": { + "source": "iana", + }, + "application/index.vnd": { + "source": "iana", + }, + "application/inkml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ink", "inkml"], + }, + "application/iotp": { + "source": "iana", + }, + "application/ipfix": { + "source": "iana", + "extensions": ["ipfix"], + }, + "application/ipp": { + "source": "iana", + }, + "application/isup": { + "source": "iana", + }, + "application/its+xml": { + "source": "iana", + "compressible": true, + "extensions": ["its"], + }, + "application/java-archive": { + "source": "iana", + "compressible": false, + "extensions": ["jar", "war", "ear"], + }, + "application/java-serialized-object": { + "source": "apache", + "compressible": false, + "extensions": ["ser"], + }, + "application/java-vm": { + "source": "apache", + "compressible": false, + "extensions": ["class"], + }, + "application/javascript": { + "source": "apache", + "charset": "UTF-8", + "compressible": true, + "extensions": ["js"], + }, + "application/jf2feed+json": { + "source": "iana", + "compressible": true, + }, + "application/jose": { + "source": "iana", + }, + "application/jose+json": { + "source": "iana", + "compressible": true, + }, + "application/jrd+json": { + "source": "iana", + "compressible": true, + }, + "application/jscalendar+json": { + "source": "iana", + "compressible": true, + }, + "application/jscontact+json": { + "source": "iana", + "compressible": true, + }, + "application/json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["json", "map"], + }, + "application/json-patch+json": { + "source": "iana", + "compressible": true, + }, + "application/json-seq": { + "source": "iana", + }, + "application/json5": { + "extensions": ["json5"], + }, + "application/jsonml+json": { + "source": "apache", + "compressible": true, + "extensions": ["jsonml"], + }, + "application/jsonpath": { + "source": "iana", + }, + "application/jwk+json": { + "source": "iana", + "compressible": true, + }, + "application/jwk-set+json": { + "source": "iana", + "compressible": true, + }, + "application/jwt": { + "source": "iana", + }, + "application/kpml-request+xml": { + "source": "iana", + "compressible": true, + }, + "application/kpml-response+xml": { + "source": "iana", + "compressible": true, + }, + "application/ld+json": { + "source": "iana", + "compressible": true, + "extensions": ["jsonld"], + }, + "application/lgr+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lgr"], + }, + "application/link-format": { + "source": "iana", + }, + "application/linkset": { + "source": "iana", + }, + "application/linkset+json": { + "source": "iana", + "compressible": true, + }, + "application/load-control+xml": { + "source": "iana", + "compressible": true, + }, + "application/logout+jwt": { + "source": "iana", + }, + "application/lost+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lostxml"], + }, + "application/lostsync+xml": { + "source": "iana", + "compressible": true, + }, + "application/lpf+zip": { + "source": "iana", + "compressible": false, + }, + "application/lxf": { + "source": "iana", + }, + "application/mac-binhex40": { + "source": "iana", + "extensions": ["hqx"], + }, + "application/mac-compactpro": { + "source": "apache", + "extensions": ["cpt"], + }, + "application/macwriteii": { + "source": "iana", + }, + "application/mads+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mads"], + }, + "application/manifest+json": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["webmanifest"], + }, + "application/marc": { + "source": "iana", + "extensions": ["mrc"], + }, + "application/marcxml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mrcx"], + }, + "application/mathematica": { + "source": "iana", + "extensions": ["ma", "nb", "mb"], + }, + "application/mathml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mathml"], + }, + "application/mathml-content+xml": { + "source": "iana", + "compressible": true, + }, + "application/mathml-presentation+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbms-associated-procedure-description+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbms-deregister+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbms-envelope+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbms-msk+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbms-msk-response+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbms-protection-description+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbms-reception-report+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbms-register+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbms-register-response+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbms-schedule+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbms-user-service-description+xml": { + "source": "iana", + "compressible": true, + }, + "application/mbox": { + "source": "iana", + "extensions": ["mbox"], + }, + "application/media-policy-dataset+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpf"], + }, + "application/media_control+xml": { + "source": "iana", + "compressible": true, + }, + "application/mediaservercontrol+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mscml"], + }, + "application/merge-patch+json": { + "source": "iana", + "compressible": true, + }, + "application/metalink+xml": { + "source": "apache", + "compressible": true, + "extensions": ["metalink"], + }, + "application/metalink4+xml": { + "source": "iana", + "compressible": true, + "extensions": ["meta4"], + }, + "application/mets+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mets"], + }, + "application/mf4": { + "source": "iana", + }, + "application/mikey": { + "source": "iana", + }, + "application/mipc": { + "source": "iana", + }, + "application/missing-blocks+cbor-seq": { + "source": "iana", + }, + "application/mmt-aei+xml": { + "source": "iana", + "compressible": true, + "extensions": ["maei"], + }, + "application/mmt-usd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["musd"], + }, + "application/mods+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mods"], + }, + "application/moss-keys": { + "source": "iana", + }, + "application/moss-signature": { + "source": "iana", + }, + "application/mosskey-data": { + "source": "iana", + }, + "application/mosskey-request": { + "source": "iana", + }, + "application/mp21": { + "source": "iana", + "extensions": ["m21", "mp21"], + }, + "application/mp4": { + "source": "iana", + "extensions": ["mp4", "mpg4", "mp4s", "m4p"], + }, + "application/mpeg4-generic": { + "source": "iana", + }, + "application/mpeg4-iod": { + "source": "iana", + }, + "application/mpeg4-iod-xmt": { + "source": "iana", + }, + "application/mrb-consumer+xml": { + "source": "iana", + "compressible": true, + }, + "application/mrb-publish+xml": { + "source": "iana", + "compressible": true, + }, + "application/msc-ivr+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/msc-mixer+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/msix": { + "compressible": false, + "extensions": ["msix"], + }, + "application/msixbundle": { + "compressible": false, + "extensions": ["msixbundle"], + }, + "application/msword": { + "source": "iana", + "compressible": false, + "extensions": ["doc", "dot"], + }, + "application/mud+json": { + "source": "iana", + "compressible": true, + }, + "application/multipart-core": { + "source": "iana", + }, + "application/mxf": { + "source": "iana", + "extensions": ["mxf"], + }, + "application/n-quads": { + "source": "iana", + "extensions": ["nq"], + }, + "application/n-triples": { + "source": "iana", + "extensions": ["nt"], + }, + "application/nasdata": { + "source": "iana", + }, + "application/news-checkgroups": { + "source": "iana", + "charset": "US-ASCII", + }, + "application/news-groupinfo": { + "source": "iana", + "charset": "US-ASCII", + }, + "application/news-transmission": { + "source": "iana", + }, + "application/nlsml+xml": { + "source": "iana", + "compressible": true, + }, + "application/node": { + "source": "iana", + "extensions": ["cjs"], + }, + "application/nss": { + "source": "iana", + }, + "application/oauth-authz-req+jwt": { + "source": "iana", + }, + "application/oblivious-dns-message": { + "source": "iana", + }, + "application/ocsp-request": { + "source": "iana", + }, + "application/ocsp-response": { + "source": "iana", + }, + "application/octet-stream": { + "source": "iana", + "compressible": false, + "extensions": [ + "bin", + "dms", + "lrf", + "mar", + "so", + "dist", + "distz", + "pkg", + "bpk", + "dump", + "elc", + "deploy", + "exe", + "dll", + "deb", + "dmg", + "iso", + "img", + "msi", + "msp", + "msm", + "buffer", + ], + }, + "application/oda": { + "source": "iana", + "extensions": ["oda"], + }, + "application/odm+xml": { + "source": "iana", + "compressible": true, + }, + "application/odx": { + "source": "iana", + }, + "application/oebps-package+xml": { + "source": "iana", + "compressible": true, + "extensions": ["opf"], + }, + "application/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["ogx"], + }, + "application/ohttp-keys": { + "source": "iana", + }, + "application/omdoc+xml": { + "source": "apache", + "compressible": true, + "extensions": ["omdoc"], + }, + "application/onenote": { + "source": "apache", + "extensions": ["onetoc", "onetoc2", "onetmp", "onepkg"], + }, + "application/opc-nodeset+xml": { + "source": "iana", + "compressible": true, + }, + "application/oscore": { + "source": "iana", + }, + "application/oxps": { + "source": "iana", + "extensions": ["oxps"], + }, + "application/p21": { + "source": "iana", + }, + "application/p21+zip": { + "source": "iana", + "compressible": false, + }, + "application/p2p-overlay+xml": { + "source": "iana", + "compressible": true, + "extensions": ["relo"], + }, + "application/parityfec": { + "source": "iana", + }, + "application/passport": { + "source": "iana", + }, + "application/patch-ops-error+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xer"], + }, + "application/pdf": { + "source": "iana", + "compressible": false, + "extensions": ["pdf"], + }, + "application/pdx": { + "source": "iana", + }, + "application/pem-certificate-chain": { + "source": "iana", + }, + "application/pgp-encrypted": { + "source": "iana", + "compressible": false, + "extensions": ["pgp"], + }, + "application/pgp-keys": { + "source": "iana", + "extensions": ["asc"], + }, + "application/pgp-signature": { + "source": "iana", + "extensions": ["sig", "asc"], + }, + "application/pics-rules": { + "source": "apache", + "extensions": ["prf"], + }, + "application/pidf+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/pidf-diff+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/pkcs10": { + "source": "iana", + "extensions": ["p10"], + }, + "application/pkcs12": { + "source": "iana", + }, + "application/pkcs7-mime": { + "source": "iana", + "extensions": ["p7m", "p7c"], + }, + "application/pkcs7-signature": { + "source": "iana", + "extensions": ["p7s"], + }, + "application/pkcs8": { + "source": "iana", + "extensions": ["p8"], + }, + "application/pkcs8-encrypted": { + "source": "iana", + }, + "application/pkix-attr-cert": { + "source": "iana", + "extensions": ["ac"], + }, + "application/pkix-cert": { + "source": "iana", + "extensions": ["cer"], + }, + "application/pkix-crl": { + "source": "iana", + "extensions": ["crl"], + }, + "application/pkix-pkipath": { + "source": "iana", + "extensions": ["pkipath"], + }, + "application/pkixcmp": { + "source": "iana", + "extensions": ["pki"], + }, + "application/pls+xml": { + "source": "iana", + "compressible": true, + "extensions": ["pls"], + }, + "application/poc-settings+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/postscript": { + "source": "iana", + "compressible": true, + "extensions": ["ai", "eps", "ps"], + }, + "application/ppsp-tracker+json": { + "source": "iana", + "compressible": true, + }, + "application/private-token-issuer-directory": { + "source": "iana", + }, + "application/private-token-request": { + "source": "iana", + }, + "application/private-token-response": { + "source": "iana", + }, + "application/problem+json": { + "source": "iana", + "compressible": true, + }, + "application/problem+xml": { + "source": "iana", + "compressible": true, + }, + "application/provenance+xml": { + "source": "iana", + "compressible": true, + "extensions": ["provx"], + }, + "application/prs.alvestrand.titrax-sheet": { + "source": "iana", + }, + "application/prs.cww": { + "source": "iana", + "extensions": ["cww"], + }, + "application/prs.cyn": { + "source": "iana", + "charset": "7-BIT", + }, + "application/prs.hpub+zip": { + "source": "iana", + "compressible": false, + }, + "application/prs.implied-document+xml": { + "source": "iana", + "compressible": true, + }, + "application/prs.implied-executable": { + "source": "iana", + }, + "application/prs.implied-object+json": { + "source": "iana", + "compressible": true, + }, + "application/prs.implied-object+json-seq": { + "source": "iana", + }, + "application/prs.implied-object+yaml": { + "source": "iana", + }, + "application/prs.implied-structure": { + "source": "iana", + }, + "application/prs.nprend": { + "source": "iana", + }, + "application/prs.plucker": { + "source": "iana", + }, + "application/prs.rdf-xml-crypt": { + "source": "iana", + }, + "application/prs.vcfbzip2": { + "source": "iana", + }, + "application/prs.xsf+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xsf"], + }, + "application/pskc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["pskcxml"], + }, + "application/pvd+json": { + "source": "iana", + "compressible": true, + }, + "application/qsig": { + "source": "iana", + }, + "application/raml+yaml": { + "compressible": true, + "extensions": ["raml"], + }, + "application/raptorfec": { + "source": "iana", + }, + "application/rdap+json": { + "source": "iana", + "compressible": true, + }, + "application/rdf+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rdf", "owl"], + }, + "application/reginfo+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rif"], + }, + "application/relax-ng-compact-syntax": { + "source": "iana", + "extensions": ["rnc"], + }, + "application/remote-printing": { + "source": "apache", + }, + "application/reputon+json": { + "source": "iana", + "compressible": true, + }, + "application/resource-lists+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rl"], + }, + "application/resource-lists-diff+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rld"], + }, + "application/rfc+xml": { + "source": "iana", + "compressible": true, + }, + "application/riscos": { + "source": "iana", + }, + "application/rlmi+xml": { + "source": "iana", + "compressible": true, + }, + "application/rls-services+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rs"], + }, + "application/route-apd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rapd"], + }, + "application/route-s-tsid+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sls"], + }, + "application/route-usd+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rusd"], + }, + "application/rpki-checklist": { + "source": "iana", + }, + "application/rpki-ghostbusters": { + "source": "iana", + "extensions": ["gbr"], + }, + "application/rpki-manifest": { + "source": "iana", + "extensions": ["mft"], + }, + "application/rpki-publication": { + "source": "iana", + }, + "application/rpki-roa": { + "source": "iana", + "extensions": ["roa"], + }, + "application/rpki-signed-tal": { + "source": "iana", + }, + "application/rpki-updown": { + "source": "iana", + }, + "application/rsd+xml": { + "source": "apache", + "compressible": true, + "extensions": ["rsd"], + }, + "application/rss+xml": { + "source": "apache", + "compressible": true, + "extensions": ["rss"], + }, + "application/rtf": { + "source": "iana", + "compressible": true, + "extensions": ["rtf"], + }, + "application/rtploopback": { + "source": "iana", + }, + "application/rtx": { + "source": "iana", + }, + "application/samlassertion+xml": { + "source": "iana", + "compressible": true, + }, + "application/samlmetadata+xml": { + "source": "iana", + "compressible": true, + }, + "application/sarif+json": { + "source": "iana", + "compressible": true, + }, + "application/sarif-external-properties+json": { + "source": "iana", + "compressible": true, + }, + "application/sbe": { + "source": "iana", + }, + "application/sbml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sbml"], + }, + "application/scaip+xml": { + "source": "iana", + "compressible": true, + }, + "application/scim+json": { + "source": "iana", + "compressible": true, + }, + "application/scvp-cv-request": { + "source": "iana", + "extensions": ["scq"], + }, + "application/scvp-cv-response": { + "source": "iana", + "extensions": ["scs"], + }, + "application/scvp-vp-request": { + "source": "iana", + "extensions": ["spq"], + }, + "application/scvp-vp-response": { + "source": "iana", + "extensions": ["spp"], + }, + "application/sdp": { + "source": "iana", + "extensions": ["sdp"], + }, + "application/secevent+jwt": { + "source": "iana", + }, + "application/senml+cbor": { + "source": "iana", + }, + "application/senml+json": { + "source": "iana", + "compressible": true, + }, + "application/senml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["senmlx"], + }, + "application/senml-etch+cbor": { + "source": "iana", + }, + "application/senml-etch+json": { + "source": "iana", + "compressible": true, + }, + "application/senml-exi": { + "source": "iana", + }, + "application/sensml+cbor": { + "source": "iana", + }, + "application/sensml+json": { + "source": "iana", + "compressible": true, + }, + "application/sensml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sensmlx"], + }, + "application/sensml-exi": { + "source": "iana", + }, + "application/sep+xml": { + "source": "iana", + "compressible": true, + }, + "application/sep-exi": { + "source": "iana", + }, + "application/session-info": { + "source": "iana", + }, + "application/set-payment": { + "source": "iana", + }, + "application/set-payment-initiation": { + "source": "iana", + "extensions": ["setpay"], + }, + "application/set-registration": { + "source": "iana", + }, + "application/set-registration-initiation": { + "source": "iana", + "extensions": ["setreg"], + }, + "application/sgml": { + "source": "iana", + }, + "application/sgml-open-catalog": { + "source": "iana", + }, + "application/shf+xml": { + "source": "iana", + "compressible": true, + "extensions": ["shf"], + }, + "application/sieve": { + "source": "iana", + "extensions": ["siv", "sieve"], + }, + "application/simple-filter+xml": { + "source": "iana", + "compressible": true, + }, + "application/simple-message-summary": { + "source": "iana", + }, + "application/simplesymbolcontainer": { + "source": "iana", + }, + "application/sipc": { + "source": "iana", + }, + "application/slate": { + "source": "iana", + }, + "application/smil": { + "source": "apache", + }, + "application/smil+xml": { + "source": "iana", + "compressible": true, + "extensions": ["smi", "smil"], + }, + "application/smpte336m": { + "source": "iana", + }, + "application/soap+fastinfoset": { + "source": "iana", + }, + "application/soap+xml": { + "source": "iana", + "compressible": true, + }, + "application/sparql-query": { + "source": "iana", + "extensions": ["rq"], + }, + "application/sparql-results+xml": { + "source": "iana", + "compressible": true, + "extensions": ["srx"], + }, + "application/spdx+json": { + "source": "iana", + "compressible": true, + }, + "application/spirits-event+xml": { + "source": "iana", + "compressible": true, + }, + "application/sql": { + "source": "iana", + "extensions": ["sql"], + }, + "application/srgs": { + "source": "iana", + "extensions": ["gram"], + }, + "application/srgs+xml": { + "source": "iana", + "compressible": true, + "extensions": ["grxml"], + }, + "application/sru+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sru"], + }, + "application/ssdl+xml": { + "source": "apache", + "compressible": true, + "extensions": ["ssdl"], + }, + "application/ssml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ssml"], + }, + "application/st2110-41": { + "source": "iana", + }, + "application/stix+json": { + "source": "iana", + "compressible": true, + }, + "application/stratum": { + "source": "iana", + }, + "application/swid+cbor": { + "source": "iana", + }, + "application/swid+xml": { + "source": "iana", + "compressible": true, + "extensions": ["swidtag"], + }, + "application/tamp-apex-update": { + "source": "iana", + }, + "application/tamp-apex-update-confirm": { + "source": "iana", + }, + "application/tamp-community-update": { + "source": "iana", + }, + "application/tamp-community-update-confirm": { + "source": "iana", + }, + "application/tamp-error": { + "source": "iana", + }, + "application/tamp-sequence-adjust": { + "source": "iana", + }, + "application/tamp-sequence-adjust-confirm": { + "source": "iana", + }, + "application/tamp-status-query": { + "source": "iana", + }, + "application/tamp-status-response": { + "source": "iana", + }, + "application/tamp-update": { + "source": "iana", + }, + "application/tamp-update-confirm": { + "source": "iana", + }, + "application/tar": { + "compressible": true, + }, + "application/taxii+json": { + "source": "iana", + "compressible": true, + }, + "application/td+json": { + "source": "iana", + "compressible": true, + }, + "application/tei+xml": { + "source": "iana", + "compressible": true, + "extensions": ["tei", "teicorpus"], + }, + "application/tetra_isi": { + "source": "iana", + }, + "application/thraud+xml": { + "source": "iana", + "compressible": true, + "extensions": ["tfi"], + }, + "application/timestamp-query": { + "source": "iana", + }, + "application/timestamp-reply": { + "source": "iana", + }, + "application/timestamped-data": { + "source": "iana", + "extensions": ["tsd"], + }, + "application/tlsrpt+gzip": { + "source": "iana", + }, + "application/tlsrpt+json": { + "source": "iana", + "compressible": true, + }, + "application/tm+json": { + "source": "iana", + "compressible": true, + }, + "application/tnauthlist": { + "source": "iana", + }, + "application/token-introspection+jwt": { + "source": "iana", + }, + "application/toml": { + "compressible": true, + "extensions": ["toml"], + }, + "application/trickle-ice-sdpfrag": { + "source": "iana", + }, + "application/trig": { + "source": "iana", + "extensions": ["trig"], + }, + "application/ttml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ttml"], + }, + "application/tve-trigger": { + "source": "iana", + }, + "application/tzif": { + "source": "iana", + }, + "application/tzif-leap": { + "source": "iana", + }, + "application/ubjson": { + "compressible": false, + "extensions": ["ubj"], + }, + "application/ulpfec": { + "source": "iana", + }, + "application/urc-grpsheet+xml": { + "source": "iana", + "compressible": true, + }, + "application/urc-ressheet+xml": { + "source": "iana", + "compressible": true, + "extensions": ["rsheet"], + }, + "application/urc-targetdesc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["td"], + }, + "application/urc-uisocketdesc+xml": { + "source": "iana", + "compressible": true, + }, + "application/vc": { + "source": "iana", + }, + "application/vcard+json": { + "source": "iana", + "compressible": true, + }, + "application/vcard+xml": { + "source": "iana", + "compressible": true, + }, + "application/vemmi": { + "source": "iana", + }, + "application/vividence.scriptfile": { + "source": "apache", + }, + "application/vnd.1000minds.decision-model+xml": { + "source": "iana", + "compressible": true, + "extensions": ["1km"], + }, + "application/vnd.1ob": { + "source": "iana", + }, + "application/vnd.3gpp-prose+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp-prose-pc3a+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp-prose-pc3ach+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp-prose-pc3ch+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp-prose-pc8+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp-v2x-local-service-information": { + "source": "iana", + }, + "application/vnd.3gpp.5gnas": { + "source": "iana", + }, + "application/vnd.3gpp.5gsa2x": { + "source": "iana", + }, + "application/vnd.3gpp.5gsa2x-local-service-information": { + "source": "iana", + }, + "application/vnd.3gpp.access-transfer-events+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.bsf+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.crs+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.current-location-discovery+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.gmop+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.gtpc": { + "source": "iana", + }, + "application/vnd.3gpp.interworking-data": { + "source": "iana", + }, + "application/vnd.3gpp.lpp": { + "source": "iana", + }, + "application/vnd.3gpp.mc-signalling-ear": { + "source": "iana", + }, + "application/vnd.3gpp.mcdata-affiliation-command+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcdata-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcdata-msgstore-ctrl-request+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcdata-payload": { + "source": "iana", + }, + "application/vnd.3gpp.mcdata-regroup+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcdata-service-config+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcdata-signalling": { + "source": "iana", + }, + "application/vnd.3gpp.mcdata-ue-config+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcdata-user-profile+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcptt-affiliation-command+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcptt-floor-request+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcptt-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcptt-location-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcptt-mbms-usage-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcptt-regroup+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcptt-service-config+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcptt-signed+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcptt-ue-config+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcptt-ue-init-config+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcptt-user-profile+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcvideo-affiliation-command+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcvideo-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcvideo-location-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcvideo-mbms-usage-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcvideo-regroup+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcvideo-service-config+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcvideo-transmission-request+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcvideo-ue-config+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mcvideo-user-profile+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.mid-call+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.ngap": { + "source": "iana", + }, + "application/vnd.3gpp.pfcp": { + "source": "iana", + }, + "application/vnd.3gpp.pic-bw-large": { + "source": "iana", + "extensions": ["plb"], + }, + "application/vnd.3gpp.pic-bw-small": { + "source": "iana", + "extensions": ["psb"], + }, + "application/vnd.3gpp.pic-bw-var": { + "source": "iana", + "extensions": ["pvb"], + }, + "application/vnd.3gpp.pinapp-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.s1ap": { + "source": "iana", + }, + "application/vnd.3gpp.seal-group-doc+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.seal-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.seal-location-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.seal-mbms-usage-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.seal-network-qos-management-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.seal-ue-config-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.seal-unicast-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.seal-user-profile-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.sms": { + "source": "iana", + }, + "application/vnd.3gpp.sms+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.srvcc-ext+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.srvcc-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.state-and-event-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.ussd+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp.v2x": { + "source": "iana", + }, + "application/vnd.3gpp.vae-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp2.bcmcsinfo+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.3gpp2.sms": { + "source": "iana", + }, + "application/vnd.3gpp2.tcap": { + "source": "iana", + "extensions": ["tcap"], + }, + "application/vnd.3lightssoftware.imagescal": { + "source": "iana", + }, + "application/vnd.3m.post-it-notes": { + "source": "iana", + "extensions": ["pwn"], + }, + "application/vnd.accpac.simply.aso": { + "source": "iana", + "extensions": ["aso"], + }, + "application/vnd.accpac.simply.imp": { + "source": "iana", + "extensions": ["imp"], + }, + "application/vnd.acm.addressxfer+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.acm.chatbot+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.acucobol": { + "source": "iana", + "extensions": ["acu"], + }, + "application/vnd.acucorp": { + "source": "iana", + "extensions": ["atc", "acutc"], + }, + "application/vnd.adobe.air-application-installer-package+zip": { + "source": "apache", + "compressible": false, + "extensions": ["air"], + }, + "application/vnd.adobe.flash.movie": { + "source": "iana", + }, + "application/vnd.adobe.formscentral.fcdt": { + "source": "iana", + "extensions": ["fcdt"], + }, + "application/vnd.adobe.fxp": { + "source": "iana", + "extensions": ["fxp", "fxpl"], + }, + "application/vnd.adobe.partial-upload": { + "source": "iana", + }, + "application/vnd.adobe.xdp+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xdp"], + }, + "application/vnd.adobe.xfdf": { + "source": "apache", + "extensions": ["xfdf"], + }, + "application/vnd.aether.imp": { + "source": "iana", + }, + "application/vnd.afpc.afplinedata": { + "source": "iana", + }, + "application/vnd.afpc.afplinedata-pagedef": { + "source": "iana", + }, + "application/vnd.afpc.cmoca-cmresource": { + "source": "iana", + }, + "application/vnd.afpc.foca-charset": { + "source": "iana", + }, + "application/vnd.afpc.foca-codedfont": { + "source": "iana", + }, + "application/vnd.afpc.foca-codepage": { + "source": "iana", + }, + "application/vnd.afpc.modca": { + "source": "iana", + }, + "application/vnd.afpc.modca-cmtable": { + "source": "iana", + }, + "application/vnd.afpc.modca-formdef": { + "source": "iana", + }, + "application/vnd.afpc.modca-mediummap": { + "source": "iana", + }, + "application/vnd.afpc.modca-objectcontainer": { + "source": "iana", + }, + "application/vnd.afpc.modca-overlay": { + "source": "iana", + }, + "application/vnd.afpc.modca-pagesegment": { + "source": "iana", + }, + "application/vnd.age": { + "source": "iana", + "extensions": ["age"], + }, + "application/vnd.ah-barcode": { + "source": "apache", + }, + "application/vnd.ahead.space": { + "source": "iana", + "extensions": ["ahead"], + }, + "application/vnd.airzip.filesecure.azf": { + "source": "iana", + "extensions": ["azf"], + }, + "application/vnd.airzip.filesecure.azs": { + "source": "iana", + "extensions": ["azs"], + }, + "application/vnd.amadeus+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.amazon.ebook": { + "source": "apache", + "extensions": ["azw"], + }, + "application/vnd.amazon.mobi8-ebook": { + "source": "iana", + }, + "application/vnd.americandynamics.acc": { + "source": "iana", + "extensions": ["acc"], + }, + "application/vnd.amiga.ami": { + "source": "iana", + "extensions": ["ami"], + }, + "application/vnd.amundsen.maze+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.android.ota": { + "source": "iana", + }, + "application/vnd.android.package-archive": { + "source": "apache", + "compressible": false, + "extensions": ["apk"], + }, + "application/vnd.anki": { + "source": "iana", + }, + "application/vnd.anser-web-certificate-issue-initiation": { + "source": "iana", + "extensions": ["cii"], + }, + "application/vnd.anser-web-funds-transfer-initiation": { + "source": "apache", + "extensions": ["fti"], + }, + "application/vnd.antix.game-component": { + "source": "iana", + "extensions": ["atx"], + }, + "application/vnd.apache.arrow.file": { + "source": "iana", + }, + "application/vnd.apache.arrow.stream": { + "source": "iana", + }, + "application/vnd.apache.parquet": { + "source": "iana", + }, + "application/vnd.apache.thrift.binary": { + "source": "iana", + }, + "application/vnd.apache.thrift.compact": { + "source": "iana", + }, + "application/vnd.apache.thrift.json": { + "source": "iana", + }, + "application/vnd.apexlang": { + "source": "iana", + }, + "application/vnd.api+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.aplextor.warrp+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.apothekende.reservation+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.apple.installer+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpkg"], + }, + "application/vnd.apple.keynote": { + "source": "iana", + "extensions": ["key"], + }, + "application/vnd.apple.mpegurl": { + "source": "iana", + "extensions": ["m3u8"], + }, + "application/vnd.apple.numbers": { + "source": "iana", + "extensions": ["numbers"], + }, + "application/vnd.apple.pages": { + "source": "iana", + "extensions": ["pages"], + }, + "application/vnd.apple.pkpass": { + "compressible": false, + "extensions": ["pkpass"], + }, + "application/vnd.arastra.swi": { + "source": "apache", + }, + "application/vnd.aristanetworks.swi": { + "source": "iana", + "extensions": ["swi"], + }, + "application/vnd.artisan+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.artsquare": { + "source": "iana", + }, + "application/vnd.astraea-software.iota": { + "source": "iana", + "extensions": ["iota"], + }, + "application/vnd.audiograph": { + "source": "iana", + "extensions": ["aep"], + }, + "application/vnd.autopackage": { + "source": "iana", + }, + "application/vnd.avalon+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.avistar+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.balsamiq.bmml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["bmml"], + }, + "application/vnd.balsamiq.bmpr": { + "source": "iana", + }, + "application/vnd.banana-accounting": { + "source": "iana", + }, + "application/vnd.bbf.usp.error": { + "source": "iana", + }, + "application/vnd.bbf.usp.msg": { + "source": "iana", + }, + "application/vnd.bbf.usp.msg+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.bekitzur-stech+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.belightsoft.lhzd+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.belightsoft.lhzl+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.bint.med-content": { + "source": "iana", + }, + "application/vnd.biopax.rdf+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.blink-idb-value-wrapper": { + "source": "iana", + }, + "application/vnd.blueice.multipass": { + "source": "iana", + "extensions": ["mpm"], + }, + "application/vnd.bluetooth.ep.oob": { + "source": "iana", + }, + "application/vnd.bluetooth.le.oob": { + "source": "iana", + }, + "application/vnd.bmi": { + "source": "iana", + "extensions": ["bmi"], + }, + "application/vnd.bpf": { + "source": "iana", + }, + "application/vnd.bpf3": { + "source": "iana", + }, + "application/vnd.businessobjects": { + "source": "iana", + "extensions": ["rep"], + }, + "application/vnd.byu.uapi+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.bzip3": { + "source": "iana", + }, + "application/vnd.c3voc.schedule+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.cab-jscript": { + "source": "iana", + }, + "application/vnd.canon-cpdl": { + "source": "iana", + }, + "application/vnd.canon-lips": { + "source": "iana", + }, + "application/vnd.capasystems-pg+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.cendio.thinlinc.clientconf": { + "source": "iana", + }, + "application/vnd.century-systems.tcp_stream": { + "source": "iana", + }, + "application/vnd.chemdraw+xml": { + "source": "iana", + "compressible": true, + "extensions": ["cdxml"], + }, + "application/vnd.chess-pgn": { + "source": "iana", + }, + "application/vnd.chipnuts.karaoke-mmd": { + "source": "iana", + "extensions": ["mmd"], + }, + "application/vnd.ciedi": { + "source": "iana", + }, + "application/vnd.cinderella": { + "source": "iana", + "extensions": ["cdy"], + }, + "application/vnd.cirpack.isdn-ext": { + "source": "iana", + }, + "application/vnd.citationstyles.style+xml": { + "source": "iana", + "compressible": true, + "extensions": ["csl"], + }, + "application/vnd.claymore": { + "source": "iana", + "extensions": ["cla"], + }, + "application/vnd.cloanto.rp9": { + "source": "iana", + "extensions": ["rp9"], + }, + "application/vnd.clonk.c4group": { + "source": "iana", + "extensions": ["c4g", "c4d", "c4f", "c4p", "c4u"], + }, + "application/vnd.cluetrust.cartomobile-config": { + "source": "iana", + "extensions": ["c11amc"], + }, + "application/vnd.cluetrust.cartomobile-config-pkg": { + "source": "iana", + "extensions": ["c11amz"], + }, + "application/vnd.cncf.helm.chart.content.v1.tar+gzip": { + "source": "iana", + }, + "application/vnd.cncf.helm.chart.provenance.v1.prov": { + "source": "iana", + }, + "application/vnd.cncf.helm.config.v1+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.coffeescript": { + "source": "iana", + }, + "application/vnd.collabio.xodocuments.document": { + "source": "iana", + }, + "application/vnd.collabio.xodocuments.document-template": { + "source": "iana", + }, + "application/vnd.collabio.xodocuments.presentation": { + "source": "iana", + }, + "application/vnd.collabio.xodocuments.presentation-template": { + "source": "iana", + }, + "application/vnd.collabio.xodocuments.spreadsheet": { + "source": "iana", + }, + "application/vnd.collabio.xodocuments.spreadsheet-template": { + "source": "iana", + }, + "application/vnd.collection+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.collection.doc+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.collection.next+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.comicbook+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.comicbook-rar": { + "source": "iana", + }, + "application/vnd.commerce-battelle": { + "source": "iana", + }, + "application/vnd.commonspace": { + "source": "iana", + "extensions": ["csp"], + }, + "application/vnd.contact.cmsg": { + "source": "iana", + "extensions": ["cdbcmsg"], + }, + "application/vnd.coreos.ignition+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.cosmocaller": { + "source": "iana", + "extensions": ["cmc"], + }, + "application/vnd.crick.clicker": { + "source": "iana", + "extensions": ["clkx"], + }, + "application/vnd.crick.clicker.keyboard": { + "source": "iana", + "extensions": ["clkk"], + }, + "application/vnd.crick.clicker.palette": { + "source": "iana", + "extensions": ["clkp"], + }, + "application/vnd.crick.clicker.template": { + "source": "iana", + "extensions": ["clkt"], + }, + "application/vnd.crick.clicker.wordbank": { + "source": "iana", + "extensions": ["clkw"], + }, + "application/vnd.criticaltools.wbs+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wbs"], + }, + "application/vnd.cryptii.pipe+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.crypto-shade-file": { + "source": "iana", + }, + "application/vnd.cryptomator.encrypted": { + "source": "iana", + }, + "application/vnd.cryptomator.vault": { + "source": "iana", + }, + "application/vnd.ctc-posml": { + "source": "iana", + "extensions": ["pml"], + }, + "application/vnd.ctct.ws+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.cups-pdf": { + "source": "iana", + }, + "application/vnd.cups-postscript": { + "source": "iana", + }, + "application/vnd.cups-ppd": { + "source": "iana", + "extensions": ["ppd"], + }, + "application/vnd.cups-raster": { + "source": "iana", + }, + "application/vnd.cups-raw": { + "source": "iana", + }, + "application/vnd.curl": { + "source": "iana", + }, + "application/vnd.curl.car": { + "source": "apache", + "extensions": ["car"], + }, + "application/vnd.curl.pcurl": { + "source": "apache", + "extensions": ["pcurl"], + }, + "application/vnd.cyan.dean.root+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.cybank": { + "source": "iana", + }, + "application/vnd.cyclonedx+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.cyclonedx+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.d2l.coursepackage1p0+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.d3m-dataset": { + "source": "iana", + }, + "application/vnd.d3m-problem": { + "source": "iana", + }, + "application/vnd.dart": { + "source": "iana", + "compressible": true, + "extensions": ["dart"], + }, + "application/vnd.data-vision.rdz": { + "source": "iana", + "extensions": ["rdz"], + }, + "application/vnd.datalog": { + "source": "iana", + }, + "application/vnd.datapackage+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dataresource+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dbf": { + "source": "iana", + "extensions": ["dbf"], + }, + "application/vnd.debian.binary-package": { + "source": "iana", + }, + "application/vnd.dece.data": { + "source": "iana", + "extensions": ["uvf", "uvvf", "uvd", "uvvd"], + }, + "application/vnd.dece.ttml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["uvt", "uvvt"], + }, + "application/vnd.dece.unspecified": { + "source": "iana", + "extensions": ["uvx", "uvvx"], + }, + "application/vnd.dece.zip": { + "source": "iana", + "extensions": ["uvz", "uvvz"], + }, + "application/vnd.denovo.fcselayout-link": { + "source": "iana", + "extensions": ["fe_launch"], + }, + "application/vnd.desmume.movie": { + "source": "iana", + }, + "application/vnd.dir-bi.plate-dl-nosuffix": { + "source": "iana", + }, + "application/vnd.dm.delegation+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dna": { + "source": "iana", + "extensions": ["dna"], + }, + "application/vnd.document+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dolby.mlp": { + "source": "apache", + "extensions": ["mlp"], + }, + "application/vnd.dolby.mobile.1": { + "source": "iana", + }, + "application/vnd.dolby.mobile.2": { + "source": "iana", + }, + "application/vnd.doremir.scorecloud-binary-document": { + "source": "iana", + }, + "application/vnd.dpgraph": { + "source": "iana", + "extensions": ["dpg"], + }, + "application/vnd.dreamfactory": { + "source": "iana", + "extensions": ["dfac"], + }, + "application/vnd.drive+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ds-keypoint": { + "source": "apache", + "extensions": ["kpxx"], + }, + "application/vnd.dtg.local": { + "source": "iana", + }, + "application/vnd.dtg.local.flash": { + "source": "iana", + }, + "application/vnd.dtg.local.html": { + "source": "iana", + }, + "application/vnd.dvb.ait": { + "source": "iana", + "extensions": ["ait"], + }, + "application/vnd.dvb.dvbisl+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dvb.dvbj": { + "source": "iana", + }, + "application/vnd.dvb.esgcontainer": { + "source": "iana", + }, + "application/vnd.dvb.ipdcdftnotifaccess": { + "source": "iana", + }, + "application/vnd.dvb.ipdcesgaccess": { + "source": "iana", + }, + "application/vnd.dvb.ipdcesgaccess2": { + "source": "iana", + }, + "application/vnd.dvb.ipdcesgpdd": { + "source": "iana", + }, + "application/vnd.dvb.ipdcroaming": { + "source": "iana", + }, + "application/vnd.dvb.iptv.alfec-base": { + "source": "iana", + }, + "application/vnd.dvb.iptv.alfec-enhancement": { + "source": "iana", + }, + "application/vnd.dvb.notif-aggregate-root+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dvb.notif-container+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dvb.notif-generic+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dvb.notif-ia-msglist+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dvb.notif-ia-registration-request+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dvb.notif-ia-registration-response+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dvb.notif-init+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.dvb.pfr": { + "source": "iana", + }, + "application/vnd.dvb.service": { + "source": "iana", + "extensions": ["svc"], + }, + "application/vnd.dxr": { + "source": "iana", + }, + "application/vnd.dynageo": { + "source": "iana", + "extensions": ["geo"], + }, + "application/vnd.dzr": { + "source": "iana", + }, + "application/vnd.easykaraoke.cdgdownload": { + "source": "iana", + }, + "application/vnd.ecdis-update": { + "source": "iana", + }, + "application/vnd.ecip.rlp": { + "source": "iana", + }, + "application/vnd.eclipse.ditto+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ecowin.chart": { + "source": "iana", + "extensions": ["mag"], + }, + "application/vnd.ecowin.filerequest": { + "source": "iana", + }, + "application/vnd.ecowin.fileupdate": { + "source": "iana", + }, + "application/vnd.ecowin.series": { + "source": "iana", + }, + "application/vnd.ecowin.seriesrequest": { + "source": "iana", + }, + "application/vnd.ecowin.seriesupdate": { + "source": "iana", + }, + "application/vnd.efi.img": { + "source": "iana", + }, + "application/vnd.efi.iso": { + "source": "iana", + }, + "application/vnd.eln+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.emclient.accessrequest+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.enliven": { + "source": "iana", + "extensions": ["nml"], + }, + "application/vnd.enphase.envoy": { + "source": "iana", + }, + "application/vnd.eprints.data+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.epson.esf": { + "source": "iana", + "extensions": ["esf"], + }, + "application/vnd.epson.msf": { + "source": "iana", + "extensions": ["msf"], + }, + "application/vnd.epson.quickanime": { + "source": "iana", + "extensions": ["qam"], + }, + "application/vnd.epson.salt": { + "source": "iana", + "extensions": ["slt"], + }, + "application/vnd.epson.ssf": { + "source": "iana", + "extensions": ["ssf"], + }, + "application/vnd.ericsson.quickcall": { + "source": "iana", + }, + "application/vnd.erofs": { + "source": "iana", + }, + "application/vnd.espass-espass+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.eszigno3+xml": { + "source": "iana", + "compressible": true, + "extensions": ["es3", "et3"], + }, + "application/vnd.etsi.aoc+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.asic-e+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.etsi.asic-s+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.etsi.cug+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.iptvcommand+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.iptvdiscovery+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.iptvprofile+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.iptvsad-bc+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.iptvsad-cod+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.iptvsad-npvr+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.iptvservice+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.iptvsync+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.iptvueprofile+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.mcid+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.mheg5": { + "source": "iana", + }, + "application/vnd.etsi.overload-control-policy-dataset+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.pstn+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.sci+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.simservs+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.timestamp-token": { + "source": "iana", + }, + "application/vnd.etsi.tsl+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.etsi.tsl.der": { + "source": "iana", + }, + "application/vnd.eu.kasparian.car+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.eudora.data": { + "source": "iana", + }, + "application/vnd.evolv.ecig.profile": { + "source": "iana", + }, + "application/vnd.evolv.ecig.settings": { + "source": "iana", + }, + "application/vnd.evolv.ecig.theme": { + "source": "iana", + }, + "application/vnd.exstream-empower+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.exstream-package": { + "source": "iana", + }, + "application/vnd.ezpix-album": { + "source": "iana", + "extensions": ["ez2"], + }, + "application/vnd.ezpix-package": { + "source": "iana", + "extensions": ["ez3"], + }, + "application/vnd.f-secure.mobile": { + "source": "iana", + }, + "application/vnd.familysearch.gedcom+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.fastcopy-disk-image": { + "source": "iana", + }, + "application/vnd.fdf": { + "source": "apache", + "extensions": ["fdf"], + }, + "application/vnd.fdsn.mseed": { + "source": "iana", + "extensions": ["mseed"], + }, + "application/vnd.fdsn.seed": { + "source": "iana", + "extensions": ["seed", "dataless"], + }, + "application/vnd.ffsns": { + "source": "iana", + }, + "application/vnd.ficlab.flb+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.filmit.zfc": { + "source": "iana", + }, + "application/vnd.fints": { + "source": "iana", + }, + "application/vnd.firemonkeys.cloudcell": { + "source": "iana", + }, + "application/vnd.flographit": { + "source": "iana", + "extensions": ["gph"], + }, + "application/vnd.fluxtime.clip": { + "source": "iana", + "extensions": ["ftc"], + }, + "application/vnd.font-fontforge-sfd": { + "source": "iana", + }, + "application/vnd.framemaker": { + "source": "iana", + "extensions": ["fm", "frame", "maker", "book"], + }, + "application/vnd.freelog.comic": { + "source": "iana", + }, + "application/vnd.frogans.fnc": { + "source": "apache", + "extensions": ["fnc"], + }, + "application/vnd.frogans.ltf": { + "source": "apache", + "extensions": ["ltf"], + }, + "application/vnd.fsc.weblaunch": { + "source": "iana", + "extensions": ["fsc"], + }, + "application/vnd.fujifilm.fb.docuworks": { + "source": "iana", + }, + "application/vnd.fujifilm.fb.docuworks.binder": { + "source": "iana", + }, + "application/vnd.fujifilm.fb.docuworks.container": { + "source": "iana", + }, + "application/vnd.fujifilm.fb.jfi+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.fujitsu.oasys": { + "source": "iana", + "extensions": ["oas"], + }, + "application/vnd.fujitsu.oasys2": { + "source": "iana", + "extensions": ["oa2"], + }, + "application/vnd.fujitsu.oasys3": { + "source": "iana", + "extensions": ["oa3"], + }, + "application/vnd.fujitsu.oasysgp": { + "source": "iana", + "extensions": ["fg5"], + }, + "application/vnd.fujitsu.oasysprs": { + "source": "iana", + "extensions": ["bh2"], + }, + "application/vnd.fujixerox.art-ex": { + "source": "iana", + }, + "application/vnd.fujixerox.art4": { + "source": "iana", + }, + "application/vnd.fujixerox.ddd": { + "source": "iana", + "extensions": ["ddd"], + }, + "application/vnd.fujixerox.docuworks": { + "source": "iana", + "extensions": ["xdw"], + }, + "application/vnd.fujixerox.docuworks.binder": { + "source": "iana", + "extensions": ["xbd"], + }, + "application/vnd.fujixerox.docuworks.container": { + "source": "iana", + }, + "application/vnd.fujixerox.hbpl": { + "source": "iana", + }, + "application/vnd.fut-misnet": { + "source": "iana", + }, + "application/vnd.futoin+cbor": { + "source": "iana", + }, + "application/vnd.futoin+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.fuzzysheet": { + "source": "iana", + "extensions": ["fzs"], + }, + "application/vnd.ga4gh.passport+jwt": { + "source": "iana", + }, + "application/vnd.genomatix.tuxedo": { + "source": "iana", + "extensions": ["txd"], + }, + "application/vnd.genozip": { + "source": "iana", + }, + "application/vnd.gentics.grd+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.gentoo.catmetadata+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.gentoo.ebuild": { + "source": "iana", + }, + "application/vnd.gentoo.eclass": { + "source": "iana", + }, + "application/vnd.gentoo.gpkg": { + "source": "iana", + }, + "application/vnd.gentoo.manifest": { + "source": "iana", + }, + "application/vnd.gentoo.pkgmetadata+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.gentoo.xpak": { + "source": "iana", + }, + "application/vnd.geo+json": { + "source": "apache", + "compressible": true, + }, + "application/vnd.geocube+xml": { + "source": "apache", + "compressible": true, + }, + "application/vnd.geogebra.file": { + "source": "iana", + "extensions": ["ggb"], + }, + "application/vnd.geogebra.slides": { + "source": "iana", + "extensions": ["ggs"], + }, + "application/vnd.geogebra.tool": { + "source": "iana", + "extensions": ["ggt"], + }, + "application/vnd.geometry-explorer": { + "source": "iana", + "extensions": ["gex", "gre"], + }, + "application/vnd.geonext": { + "source": "iana", + "extensions": ["gxt"], + }, + "application/vnd.geoplan": { + "source": "iana", + "extensions": ["g2w"], + }, + "application/vnd.geospace": { + "source": "iana", + "extensions": ["g3w"], + }, + "application/vnd.gerber": { + "source": "iana", + }, + "application/vnd.globalplatform.card-content-mgt": { + "source": "iana", + }, + "application/vnd.globalplatform.card-content-mgt-response": { + "source": "iana", + }, + "application/vnd.gmx": { + "source": "iana", + "extensions": ["gmx"], + }, + "application/vnd.gnu.taler.exchange+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.gnu.taler.merchant+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.google-apps.document": { + "compressible": false, + "extensions": ["gdoc"], + }, + "application/vnd.google-apps.presentation": { + "compressible": false, + "extensions": ["gslides"], + }, + "application/vnd.google-apps.spreadsheet": { + "compressible": false, + "extensions": ["gsheet"], + }, + "application/vnd.google-earth.kml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["kml"], + }, + "application/vnd.google-earth.kmz": { + "source": "iana", + "compressible": false, + "extensions": ["kmz"], + }, + "application/vnd.gov.sk.e-form+xml": { + "source": "apache", + "compressible": true, + }, + "application/vnd.gov.sk.e-form+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.gov.sk.xmldatacontainer+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xdcf"], + }, + "application/vnd.gpxsee.map+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.grafeq": { + "source": "iana", + "extensions": ["gqf", "gqs"], + }, + "application/vnd.gridmp": { + "source": "iana", + }, + "application/vnd.groove-account": { + "source": "iana", + "extensions": ["gac"], + }, + "application/vnd.groove-help": { + "source": "iana", + "extensions": ["ghf"], + }, + "application/vnd.groove-identity-message": { + "source": "iana", + "extensions": ["gim"], + }, + "application/vnd.groove-injector": { + "source": "iana", + "extensions": ["grv"], + }, + "application/vnd.groove-tool-message": { + "source": "iana", + "extensions": ["gtm"], + }, + "application/vnd.groove-tool-template": { + "source": "iana", + "extensions": ["tpl"], + }, + "application/vnd.groove-vcard": { + "source": "iana", + "extensions": ["vcg"], + }, + "application/vnd.hal+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.hal+xml": { + "source": "iana", + "compressible": true, + "extensions": ["hal"], + }, + "application/vnd.handheld-entertainment+xml": { + "source": "iana", + "compressible": true, + "extensions": ["zmm"], + }, + "application/vnd.hbci": { + "source": "iana", + "extensions": ["hbci"], + }, + "application/vnd.hc+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.hcl-bireports": { + "source": "iana", + }, + "application/vnd.hdt": { + "source": "iana", + }, + "application/vnd.heroku+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.hhe.lesson-player": { + "source": "iana", + "extensions": ["les"], + }, + "application/vnd.hp-hpgl": { + "source": "iana", + "extensions": ["hpgl"], + }, + "application/vnd.hp-hpid": { + "source": "iana", + "extensions": ["hpid"], + }, + "application/vnd.hp-hps": { + "source": "iana", + "extensions": ["hps"], + }, + "application/vnd.hp-jlyt": { + "source": "iana", + "extensions": ["jlt"], + }, + "application/vnd.hp-pcl": { + "source": "iana", + "extensions": ["pcl"], + }, + "application/vnd.hp-pclxl": { + "source": "iana", + "extensions": ["pclxl"], + }, + "application/vnd.hsl": { + "source": "iana", + }, + "application/vnd.httphone": { + "source": "iana", + }, + "application/vnd.hydrostatix.sof-data": { + "source": "iana", + "extensions": ["sfd-hdstx"], + }, + "application/vnd.hyper+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.hyper-item+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.hyperdrive+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.hzn-3d-crossword": { + "source": "iana", + }, + "application/vnd.ibm.afplinedata": { + "source": "apache", + }, + "application/vnd.ibm.electronic-media": { + "source": "iana", + }, + "application/vnd.ibm.minipay": { + "source": "iana", + "extensions": ["mpy"], + }, + "application/vnd.ibm.modcap": { + "source": "apache", + "extensions": ["afp", "listafp", "list3820"], + }, + "application/vnd.ibm.rights-management": { + "source": "iana", + "extensions": ["irm"], + }, + "application/vnd.ibm.secure-container": { + "source": "iana", + "extensions": ["sc"], + }, + "application/vnd.iccprofile": { + "source": "iana", + "extensions": ["icc", "icm"], + }, + "application/vnd.ieee.1905": { + "source": "iana", + }, + "application/vnd.igloader": { + "source": "iana", + "extensions": ["igl"], + }, + "application/vnd.imagemeter.folder+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.imagemeter.image+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.immervision-ivp": { + "source": "iana", + "extensions": ["ivp"], + }, + "application/vnd.immervision-ivu": { + "source": "iana", + "extensions": ["ivu"], + }, + "application/vnd.ims.imsccv1p1": { + "source": "iana", + }, + "application/vnd.ims.imsccv1p2": { + "source": "iana", + }, + "application/vnd.ims.imsccv1p3": { + "source": "iana", + }, + "application/vnd.ims.lis.v2.result+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ims.lti.v2.toolconsumerprofile+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ims.lti.v2.toolproxy+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ims.lti.v2.toolproxy.id+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ims.lti.v2.toolsettings+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ims.lti.v2.toolsettings.simple+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.informedcontrol.rms+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.informix-visionary": { + "source": "apache", + }, + "application/vnd.infotech.project": { + "source": "iana", + }, + "application/vnd.infotech.project+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.innopath.wamp.notification": { + "source": "iana", + }, + "application/vnd.insors.igm": { + "source": "iana", + "extensions": ["igm"], + }, + "application/vnd.intercon.formnet": { + "source": "iana", + "extensions": ["xpw", "xpx"], + }, + "application/vnd.intergeo": { + "source": "iana", + "extensions": ["i2g"], + }, + "application/vnd.intertrust.digibox": { + "source": "iana", + }, + "application/vnd.intertrust.nncp": { + "source": "iana", + }, + "application/vnd.intu.qbo": { + "source": "iana", + "extensions": ["qbo"], + }, + "application/vnd.intu.qfx": { + "source": "iana", + "extensions": ["qfx"], + }, + "application/vnd.ipfs.ipns-record": { + "source": "iana", + }, + "application/vnd.ipld.car": { + "source": "iana", + }, + "application/vnd.ipld.dag-cbor": { + "source": "iana", + }, + "application/vnd.ipld.dag-json": { + "source": "iana", + }, + "application/vnd.ipld.raw": { + "source": "iana", + }, + "application/vnd.iptc.g2.catalogitem+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.iptc.g2.conceptitem+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.iptc.g2.knowledgeitem+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.iptc.g2.newsitem+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.iptc.g2.newsmessage+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.iptc.g2.packageitem+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.iptc.g2.planningitem+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ipunplugged.rcprofile": { + "source": "iana", + "extensions": ["rcprofile"], + }, + "application/vnd.irepository.package+xml": { + "source": "iana", + "compressible": true, + "extensions": ["irp"], + }, + "application/vnd.is-xpr": { + "source": "iana", + "extensions": ["xpr"], + }, + "application/vnd.isac.fcs": { + "source": "iana", + "extensions": ["fcs"], + }, + "application/vnd.iso11783-10+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.jam": { + "source": "iana", + "extensions": ["jam"], + }, + "application/vnd.japannet-directory-service": { + "source": "iana", + }, + "application/vnd.japannet-jpnstore-wakeup": { + "source": "iana", + }, + "application/vnd.japannet-payment-wakeup": { + "source": "iana", + }, + "application/vnd.japannet-registration": { + "source": "iana", + }, + "application/vnd.japannet-registration-wakeup": { + "source": "iana", + }, + "application/vnd.japannet-setstore-wakeup": { + "source": "iana", + }, + "application/vnd.japannet-verification": { + "source": "iana", + }, + "application/vnd.japannet-verification-wakeup": { + "source": "iana", + }, + "application/vnd.jcp.javame.midlet-rms": { + "source": "iana", + "extensions": ["rms"], + }, + "application/vnd.jisp": { + "source": "iana", + "extensions": ["jisp"], + }, + "application/vnd.joost.joda-archive": { + "source": "iana", + "extensions": ["joda"], + }, + "application/vnd.jsk.isdn-ngn": { + "source": "iana", + }, + "application/vnd.kahootz": { + "source": "iana", + "extensions": ["ktz", "ktr"], + }, + "application/vnd.kde.karbon": { + "source": "iana", + "extensions": ["karbon"], + }, + "application/vnd.kde.kchart": { + "source": "iana", + "extensions": ["chrt"], + }, + "application/vnd.kde.kformula": { + "source": "iana", + "extensions": ["kfo"], + }, + "application/vnd.kde.kivio": { + "source": "iana", + "extensions": ["flw"], + }, + "application/vnd.kde.kontour": { + "source": "iana", + "extensions": ["kon"], + }, + "application/vnd.kde.kpresenter": { + "source": "iana", + "extensions": ["kpr", "kpt"], + }, + "application/vnd.kde.kspread": { + "source": "iana", + "extensions": ["ksp"], + }, + "application/vnd.kde.kword": { + "source": "iana", + "extensions": ["kwd", "kwt"], + }, + "application/vnd.kenameaapp": { + "source": "iana", + "extensions": ["htke"], + }, + "application/vnd.kidspiration": { + "source": "iana", + "extensions": ["kia"], + }, + "application/vnd.kinar": { + "source": "iana", + "extensions": ["kne", "knp"], + }, + "application/vnd.koan": { + "source": "iana", + "extensions": ["skp", "skd", "skt", "skm"], + }, + "application/vnd.kodak-descriptor": { + "source": "iana", + "extensions": ["sse"], + }, + "application/vnd.las": { + "source": "iana", + }, + "application/vnd.las.las+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.las.las+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lasxml"], + }, + "application/vnd.laszip": { + "source": "iana", + }, + "application/vnd.ldev.productlicensing": { + "source": "iana", + }, + "application/vnd.leap+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.liberty-request+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.llamagraphics.life-balance.desktop": { + "source": "iana", + "extensions": ["lbd"], + }, + "application/vnd.llamagraphics.life-balance.exchange+xml": { + "source": "iana", + "compressible": true, + "extensions": ["lbe"], + }, + "application/vnd.logipipe.circuit+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.loom": { + "source": "iana", + }, + "application/vnd.lotus-1-2-3": { + "source": "iana", + "extensions": ["123"], + }, + "application/vnd.lotus-approach": { + "source": "iana", + "extensions": ["apr"], + }, + "application/vnd.lotus-freelance": { + "source": "iana", + "extensions": ["pre"], + }, + "application/vnd.lotus-notes": { + "source": "iana", + "extensions": ["nsf"], + }, + "application/vnd.lotus-organizer": { + "source": "iana", + "extensions": ["org"], + }, + "application/vnd.lotus-screencam": { + "source": "iana", + "extensions": ["scm"], + }, + "application/vnd.lotus-wordpro": { + "source": "iana", + "extensions": ["lwp"], + }, + "application/vnd.macports.portpkg": { + "source": "iana", + "extensions": ["portpkg"], + }, + "application/vnd.mapbox-vector-tile": { + "source": "iana", + "extensions": ["mvt"], + }, + "application/vnd.marlin.drm.actiontoken+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.marlin.drm.conftoken+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.marlin.drm.license+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.marlin.drm.mdcf": { + "source": "iana", + }, + "application/vnd.mason+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.maxar.archive.3tz+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.maxmind.maxmind-db": { + "source": "iana", + }, + "application/vnd.mcd": { + "source": "iana", + "extensions": ["mcd"], + }, + "application/vnd.mdl": { + "source": "iana", + }, + "application/vnd.mdl-mbsdf": { + "source": "iana", + }, + "application/vnd.medcalcdata": { + "source": "iana", + "extensions": ["mc1"], + }, + "application/vnd.mediastation.cdkey": { + "source": "iana", + "extensions": ["cdkey"], + }, + "application/vnd.medicalholodeck.recordxr": { + "source": "iana", + }, + "application/vnd.meridian-slingshot": { + "source": "iana", + }, + "application/vnd.mermaid": { + "source": "iana", + }, + "application/vnd.mfer": { + "source": "iana", + "extensions": ["mwf"], + }, + "application/vnd.mfmp": { + "source": "iana", + "extensions": ["mfm"], + }, + "application/vnd.micro+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.micrografx.flo": { + "source": "iana", + "extensions": ["flo"], + }, + "application/vnd.micrografx.igx": { + "source": "iana", + "extensions": ["igx"], + }, + "application/vnd.microsoft.portable-executable": { + "source": "iana", + }, + "application/vnd.microsoft.windows.thumbnail-cache": { + "source": "iana", + }, + "application/vnd.miele+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.mif": { + "source": "iana", + "extensions": ["mif"], + }, + "application/vnd.minisoft-hp3000-save": { + "source": "iana", + }, + "application/vnd.mitsubishi.misty-guard.trustweb": { + "source": "iana", + }, + "application/vnd.mobius.daf": { + "source": "iana", + "extensions": ["daf"], + }, + "application/vnd.mobius.dis": { + "source": "iana", + "extensions": ["dis"], + }, + "application/vnd.mobius.mbk": { + "source": "iana", + "extensions": ["mbk"], + }, + "application/vnd.mobius.mqy": { + "source": "iana", + "extensions": ["mqy"], + }, + "application/vnd.mobius.msl": { + "source": "iana", + "extensions": ["msl"], + }, + "application/vnd.mobius.plc": { + "source": "iana", + "extensions": ["plc"], + }, + "application/vnd.mobius.txf": { + "source": "iana", + "extensions": ["txf"], + }, + "application/vnd.modl": { + "source": "iana", + }, + "application/vnd.mophun.application": { + "source": "iana", + "extensions": ["mpn"], + }, + "application/vnd.mophun.certificate": { + "source": "iana", + "extensions": ["mpc"], + }, + "application/vnd.motorola.flexsuite": { + "source": "iana", + }, + "application/vnd.motorola.flexsuite.adsi": { + "source": "iana", + }, + "application/vnd.motorola.flexsuite.fis": { + "source": "iana", + }, + "application/vnd.motorola.flexsuite.gotap": { + "source": "iana", + }, + "application/vnd.motorola.flexsuite.kmr": { + "source": "iana", + }, + "application/vnd.motorola.flexsuite.ttc": { + "source": "iana", + }, + "application/vnd.motorola.flexsuite.wem": { + "source": "iana", + }, + "application/vnd.motorola.iprm": { + "source": "iana", + }, + "application/vnd.mozilla.xul+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xul"], + }, + "application/vnd.ms-3mfdocument": { + "source": "iana", + }, + "application/vnd.ms-artgalry": { + "source": "iana", + "extensions": ["cil"], + }, + "application/vnd.ms-asf": { + "source": "iana", + }, + "application/vnd.ms-cab-compressed": { + "source": "iana", + "extensions": ["cab"], + }, + "application/vnd.ms-color.iccprofile": { + "source": "apache", + }, + "application/vnd.ms-excel": { + "source": "iana", + "compressible": false, + "extensions": ["xls", "xlm", "xla", "xlc", "xlt", "xlw"], + }, + "application/vnd.ms-excel.addin.macroenabled.12": { + "source": "iana", + "extensions": ["xlam"], + }, + "application/vnd.ms-excel.sheet.binary.macroenabled.12": { + "source": "iana", + "extensions": ["xlsb"], + }, + "application/vnd.ms-excel.sheet.macroenabled.12": { + "source": "iana", + "extensions": ["xlsm"], + }, + "application/vnd.ms-excel.template.macroenabled.12": { + "source": "iana", + "extensions": ["xltm"], + }, + "application/vnd.ms-fontobject": { + "source": "iana", + "compressible": true, + "extensions": ["eot"], + }, + "application/vnd.ms-htmlhelp": { + "source": "iana", + "extensions": ["chm"], + }, + "application/vnd.ms-ims": { + "source": "iana", + "extensions": ["ims"], + }, + "application/vnd.ms-lrm": { + "source": "iana", + "extensions": ["lrm"], + }, + "application/vnd.ms-office.activex+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ms-officetheme": { + "source": "iana", + "extensions": ["thmx"], + }, + "application/vnd.ms-opentype": { + "source": "apache", + "compressible": true, + }, + "application/vnd.ms-outlook": { + "compressible": false, + "extensions": ["msg"], + }, + "application/vnd.ms-package.obfuscated-opentype": { + "source": "apache", + }, + "application/vnd.ms-pki.seccat": { + "source": "apache", + "extensions": ["cat"], + }, + "application/vnd.ms-pki.stl": { + "source": "apache", + "extensions": ["stl"], + }, + "application/vnd.ms-playready.initiator+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ms-powerpoint": { + "source": "iana", + "compressible": false, + "extensions": ["ppt", "pps", "pot"], + }, + "application/vnd.ms-powerpoint.addin.macroenabled.12": { + "source": "iana", + "extensions": ["ppam"], + }, + "application/vnd.ms-powerpoint.presentation.macroenabled.12": { + "source": "iana", + "extensions": ["pptm"], + }, + "application/vnd.ms-powerpoint.slide.macroenabled.12": { + "source": "iana", + "extensions": ["sldm"], + }, + "application/vnd.ms-powerpoint.slideshow.macroenabled.12": { + "source": "iana", + "extensions": ["ppsm"], + }, + "application/vnd.ms-powerpoint.template.macroenabled.12": { + "source": "iana", + "extensions": ["potm"], + }, + "application/vnd.ms-printdevicecapabilities+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ms-printing.printticket+xml": { + "source": "apache", + "compressible": true, + }, + "application/vnd.ms-printschematicket+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.ms-project": { + "source": "iana", + "extensions": ["mpp", "mpt"], + }, + "application/vnd.ms-tnef": { + "source": "iana", + }, + "application/vnd.ms-windows.devicepairing": { + "source": "iana", + }, + "application/vnd.ms-windows.nwprinting.oob": { + "source": "iana", + }, + "application/vnd.ms-windows.printerpairing": { + "source": "iana", + }, + "application/vnd.ms-windows.wsd.oob": { + "source": "iana", + }, + "application/vnd.ms-wmdrm.lic-chlg-req": { + "source": "iana", + }, + "application/vnd.ms-wmdrm.lic-resp": { + "source": "iana", + }, + "application/vnd.ms-wmdrm.meter-chlg-req": { + "source": "iana", + }, + "application/vnd.ms-wmdrm.meter-resp": { + "source": "iana", + }, + "application/vnd.ms-word.document.macroenabled.12": { + "source": "iana", + "extensions": ["docm"], + }, + "application/vnd.ms-word.template.macroenabled.12": { + "source": "iana", + "extensions": ["dotm"], + }, + "application/vnd.ms-works": { + "source": "iana", + "extensions": ["wps", "wks", "wcm", "wdb"], + }, + "application/vnd.ms-wpl": { + "source": "iana", + "extensions": ["wpl"], + }, + "application/vnd.ms-xpsdocument": { + "source": "iana", + "compressible": false, + "extensions": ["xps"], + }, + "application/vnd.msa-disk-image": { + "source": "iana", + }, + "application/vnd.mseq": { + "source": "iana", + "extensions": ["mseq"], + }, + "application/vnd.msgpack": { + "source": "iana", + }, + "application/vnd.msign": { + "source": "iana", + }, + "application/vnd.multiad.creator": { + "source": "iana", + }, + "application/vnd.multiad.creator.cif": { + "source": "iana", + }, + "application/vnd.music-niff": { + "source": "iana", + }, + "application/vnd.musician": { + "source": "iana", + "extensions": ["mus"], + }, + "application/vnd.muvee.style": { + "source": "iana", + "extensions": ["msty"], + }, + "application/vnd.mynfc": { + "source": "iana", + "extensions": ["taglet"], + }, + "application/vnd.nacamar.ybrid+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.nato.bindingdataobject+cbor": { + "source": "iana", + }, + "application/vnd.nato.bindingdataobject+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.nato.bindingdataobject+xml": { + "source": "iana", + "compressible": true, + "extensions": ["bdo"], + }, + "application/vnd.nato.openxmlformats-package.iepd+zip": { + "source": "iana", + "compressible": false, + }, + "application/vnd.ncd.control": { + "source": "iana", + }, + "application/vnd.ncd.reference": { + "source": "iana", + }, + "application/vnd.nearst.inv+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.nebumind.line": { + "source": "iana", + }, + "application/vnd.nervana": { + "source": "iana", + }, + "application/vnd.netfpx": { + "source": "iana", + }, + "application/vnd.neurolanguage.nlu": { + "source": "iana", + "extensions": ["nlu"], + }, + "application/vnd.nimn": { + "source": "iana", + }, + "application/vnd.nintendo.nitro.rom": { + "source": "iana", + }, + "application/vnd.nintendo.snes.rom": { + "source": "iana", + }, + "application/vnd.nitf": { + "source": "iana", + "extensions": ["ntf", "nitf"], + }, + "application/vnd.noblenet-directory": { + "source": "iana", + "extensions": ["nnd"], + }, + "application/vnd.noblenet-sealer": { + "source": "iana", + "extensions": ["nns"], + }, + "application/vnd.noblenet-web": { + "source": "iana", + "extensions": ["nnw"], + }, + "application/vnd.nokia.catalogs": { + "source": "iana", + }, + "application/vnd.nokia.conml+wbxml": { + "source": "iana", + }, + "application/vnd.nokia.conml+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.nokia.iptv.config+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.nokia.isds-radio-presets": { + "source": "iana", + }, + "application/vnd.nokia.landmark+wbxml": { + "source": "iana", + }, + "application/vnd.nokia.landmark+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.nokia.landmarkcollection+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.nokia.n-gage.ac+xml": { + "source": "iana", + "compressible": true, + "extensions": ["ac"], + }, + "application/vnd.nokia.n-gage.data": { + "source": "iana", + "extensions": ["ngdat"], + }, + "application/vnd.nokia.n-gage.symbian.install": { + "source": "apache", + "extensions": ["n-gage"], + }, + "application/vnd.nokia.ncd": { + "source": "iana", + }, + "application/vnd.nokia.pcd+wbxml": { + "source": "iana", + }, + "application/vnd.nokia.pcd+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.nokia.radio-preset": { + "source": "iana", + "extensions": ["rpst"], + }, + "application/vnd.nokia.radio-presets": { + "source": "iana", + "extensions": ["rpss"], + }, + "application/vnd.novadigm.edm": { + "source": "iana", + "extensions": ["edm"], + }, + "application/vnd.novadigm.edx": { + "source": "iana", + "extensions": ["edx"], + }, + "application/vnd.novadigm.ext": { + "source": "iana", + "extensions": ["ext"], + }, + "application/vnd.ntt-local.content-share": { + "source": "iana", + }, + "application/vnd.ntt-local.file-transfer": { + "source": "iana", + }, + "application/vnd.ntt-local.ogw_remote-access": { + "source": "iana", + }, + "application/vnd.ntt-local.sip-ta_remote": { + "source": "iana", + }, + "application/vnd.ntt-local.sip-ta_tcp_stream": { + "source": "iana", + }, + "application/vnd.oai.workflows": { + "source": "iana", + }, + "application/vnd.oai.workflows+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oai.workflows+yaml": { + "source": "iana", + }, + "application/vnd.oasis.opendocument.base": { + "source": "iana", + }, + "application/vnd.oasis.opendocument.chart": { + "source": "iana", + "extensions": ["odc"], + }, + "application/vnd.oasis.opendocument.chart-template": { + "source": "iana", + "extensions": ["otc"], + }, + "application/vnd.oasis.opendocument.database": { + "source": "apache", + "extensions": ["odb"], + }, + "application/vnd.oasis.opendocument.formula": { + "source": "iana", + "extensions": ["odf"], + }, + "application/vnd.oasis.opendocument.formula-template": { + "source": "iana", + "extensions": ["odft"], + }, + "application/vnd.oasis.opendocument.graphics": { + "source": "iana", + "compressible": false, + "extensions": ["odg"], + }, + "application/vnd.oasis.opendocument.graphics-template": { + "source": "iana", + "extensions": ["otg"], + }, + "application/vnd.oasis.opendocument.image": { + "source": "iana", + "extensions": ["odi"], + }, + "application/vnd.oasis.opendocument.image-template": { + "source": "iana", + "extensions": ["oti"], + }, + "application/vnd.oasis.opendocument.presentation": { + "source": "iana", + "compressible": false, + "extensions": ["odp"], + }, + "application/vnd.oasis.opendocument.presentation-template": { + "source": "iana", + "extensions": ["otp"], + }, + "application/vnd.oasis.opendocument.spreadsheet": { + "source": "iana", + "compressible": false, + "extensions": ["ods"], + }, + "application/vnd.oasis.opendocument.spreadsheet-template": { + "source": "iana", + "extensions": ["ots"], + }, + "application/vnd.oasis.opendocument.text": { + "source": "iana", + "compressible": false, + "extensions": ["odt"], + }, + "application/vnd.oasis.opendocument.text-master": { + "source": "iana", + "extensions": ["odm"], + }, + "application/vnd.oasis.opendocument.text-master-template": { + "source": "iana", + }, + "application/vnd.oasis.opendocument.text-template": { + "source": "iana", + "extensions": ["ott"], + }, + "application/vnd.oasis.opendocument.text-web": { + "source": "iana", + "extensions": ["oth"], + }, + "application/vnd.obn": { + "source": "iana", + }, + "application/vnd.ocf+cbor": { + "source": "iana", + }, + "application/vnd.oci.image.manifest.v1+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oftn.l10n+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oipf.contentaccessdownload+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oipf.contentaccessstreaming+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oipf.cspg-hexbinary": { + "source": "iana", + }, + "application/vnd.oipf.dae.svg+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oipf.dae.xhtml+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oipf.mippvcontrolmessage+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oipf.pae.gem": { + "source": "iana", + }, + "application/vnd.oipf.spdiscovery+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oipf.spdlist+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oipf.ueprofile+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oipf.userprofile+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.olpc-sugar": { + "source": "iana", + "extensions": ["xo"], + }, + "application/vnd.oma-scws-config": { + "source": "iana", + }, + "application/vnd.oma-scws-http-request": { + "source": "iana", + }, + "application/vnd.oma-scws-http-response": { + "source": "iana", + }, + "application/vnd.oma.bcast.associated-procedure-parameter+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.bcast.drm-trigger+xml": { + "source": "apache", + "compressible": true, + }, + "application/vnd.oma.bcast.imd+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.bcast.ltkm": { + "source": "iana", + }, + "application/vnd.oma.bcast.notification+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.bcast.provisioningtrigger": { + "source": "iana", + }, + "application/vnd.oma.bcast.sgboot": { + "source": "iana", + }, + "application/vnd.oma.bcast.sgdd+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.bcast.sgdu": { + "source": "iana", + }, + "application/vnd.oma.bcast.simple-symbol-container": { + "source": "iana", + }, + "application/vnd.oma.bcast.smartcard-trigger+xml": { + "source": "apache", + "compressible": true, + }, + "application/vnd.oma.bcast.sprov+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.bcast.stkm": { + "source": "iana", + }, + "application/vnd.oma.cab-address-book+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.cab-feature-handler+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.cab-pcc+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.cab-subs-invite+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.cab-user-prefs+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.dcd": { + "source": "iana", + }, + "application/vnd.oma.dcdc": { + "source": "iana", + }, + "application/vnd.oma.dd2+xml": { + "source": "iana", + "compressible": true, + "extensions": ["dd2"], + }, + "application/vnd.oma.drm.risd+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.group-usage-list+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.lwm2m+cbor": { + "source": "iana", + }, + "application/vnd.oma.lwm2m+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.lwm2m+tlv": { + "source": "iana", + }, + "application/vnd.oma.pal+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.poc.detailed-progress-report+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.poc.final-report+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.poc.groups+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.poc.invocation-descriptor+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.poc.optimized-progress-report+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.push": { + "source": "iana", + }, + "application/vnd.oma.scidm.messages+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oma.xcap-directory+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.omads-email+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/vnd.omads-file+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/vnd.omads-folder+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/vnd.omaloc-supl-init": { + "source": "iana", + }, + "application/vnd.onepager": { + "source": "iana", + }, + "application/vnd.onepagertamp": { + "source": "iana", + }, + "application/vnd.onepagertamx": { + "source": "iana", + }, + "application/vnd.onepagertat": { + "source": "iana", + }, + "application/vnd.onepagertatp": { + "source": "iana", + }, + "application/vnd.onepagertatx": { + "source": "iana", + }, + "application/vnd.onvif.metadata": { + "source": "iana", + }, + "application/vnd.openblox.game+xml": { + "source": "iana", + "compressible": true, + "extensions": ["obgx"], + }, + "application/vnd.openblox.game-binary": { + "source": "iana", + }, + "application/vnd.openeye.oeb": { + "source": "iana", + }, + "application/vnd.openofficeorg.extension": { + "source": "apache", + "extensions": ["oxt"], + }, + "application/vnd.openstreetmap.data+xml": { + "source": "iana", + "compressible": true, + "extensions": ["osm"], + }, + "application/vnd.opentimestamps.ots": { + "source": "iana", + }, + "application/vnd.openxmlformats-officedocument.custom-properties+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.customxmlproperties+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.drawing+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.drawingml.chart+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.extended-properties+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.comments+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation": { + "source": "iana", + "compressible": false, + "extensions": ["pptx"], + }, + "application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.presprops+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide": { + "source": "iana", + "extensions": ["sldx"], + }, + "application/vnd.openxmlformats-officedocument.presentationml.slide+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow": { + "source": "iana", + "extensions": ["ppsx"], + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.tags+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.template": { + "source": "iana", + "extensions": ["potx"], + }, + "application/vnd.openxmlformats-officedocument.presentationml.template.main+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { + "source": "iana", + "compressible": false, + "extensions": ["xlsx"], + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template": { + "source": "iana", + "extensions": ["xltx"], + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.theme+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.themeoverride+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.vmldrawing": { + "source": "iana", + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document": { + "source": "iana", + "compressible": false, + "extensions": ["docx"], + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template": { + "source": "iana", + "extensions": ["dotx"], + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml": + { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-package.core-properties+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.openxmlformats-package.relationships+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oracle.resource+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.orange.indata": { + "source": "iana", + }, + "application/vnd.osa.netdeploy": { + "source": "iana", + }, + "application/vnd.osgeo.mapguide.package": { + "source": "iana", + "extensions": ["mgp"], + }, + "application/vnd.osgi.bundle": { + "source": "iana", + }, + "application/vnd.osgi.dp": { + "source": "iana", + "extensions": ["dp"], + }, + "application/vnd.osgi.subsystem": { + "source": "iana", + "extensions": ["esa"], + }, + "application/vnd.otps.ct-kip+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.oxli.countgraph": { + "source": "iana", + }, + "application/vnd.pagerduty+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.palm": { + "source": "iana", + "extensions": ["pdb", "pqa", "oprc"], + }, + "application/vnd.panoply": { + "source": "iana", + }, + "application/vnd.paos.xml": { + "source": "iana", + }, + "application/vnd.patentdive": { + "source": "iana", + }, + "application/vnd.patientecommsdoc": { + "source": "iana", + }, + "application/vnd.pawaafile": { + "source": "iana", + "extensions": ["paw"], + }, + "application/vnd.pcos": { + "source": "iana", + }, + "application/vnd.pg.format": { + "source": "iana", + "extensions": ["str"], + }, + "application/vnd.pg.osasli": { + "source": "iana", + "extensions": ["ei6"], + }, + "application/vnd.piaccess.application-licence": { + "source": "iana", + }, + "application/vnd.picsel": { + "source": "iana", + "extensions": ["efif"], + }, + "application/vnd.pmi.widget": { + "source": "iana", + "extensions": ["wg"], + }, + "application/vnd.poc.group-advertisement+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.pocketlearn": { + "source": "iana", + "extensions": ["plf"], + }, + "application/vnd.powerbuilder6": { + "source": "iana", + "extensions": ["pbd"], + }, + "application/vnd.powerbuilder6-s": { + "source": "iana", + }, + "application/vnd.powerbuilder7": { + "source": "iana", + }, + "application/vnd.powerbuilder7-s": { + "source": "iana", + }, + "application/vnd.powerbuilder75": { + "source": "iana", + }, + "application/vnd.powerbuilder75-s": { + "source": "iana", + }, + "application/vnd.preminet": { + "source": "iana", + }, + "application/vnd.previewsystems.box": { + "source": "iana", + "extensions": ["box"], + }, + "application/vnd.proteus.magazine": { + "source": "iana", + "extensions": ["mgz"], + }, + "application/vnd.psfs": { + "source": "iana", + }, + "application/vnd.pt.mundusmundi": { + "source": "iana", + }, + "application/vnd.publishare-delta-tree": { + "source": "iana", + "extensions": ["qps"], + }, + "application/vnd.pvi.ptid1": { + "source": "iana", + "extensions": ["ptid"], + }, + "application/vnd.pwg-multiplexed": { + "source": "iana", + }, + "application/vnd.pwg-xhtml-print+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xhtm"], + }, + "application/vnd.qualcomm.brew-app-res": { + "source": "iana", + }, + "application/vnd.quarantainenet": { + "source": "iana", + }, + "application/vnd.quark.quarkxpress": { + "source": "iana", + "extensions": ["qxd", "qxt", "qwd", "qwt", "qxl", "qxb"], + }, + "application/vnd.quobject-quoxdocument": { + "source": "iana", + }, + "application/vnd.radisys.moml+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-audit+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-audit-conf+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-audit-conn+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-audit-dialog+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-audit-stream+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-conf+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-dialog+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-dialog-base+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-dialog-fax-detect+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-dialog-fax-sendrecv+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-dialog-group+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-dialog-speech+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.radisys.msml-dialog-transform+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.rainstor.data": { + "source": "iana", + }, + "application/vnd.rapid": { + "source": "iana", + }, + "application/vnd.rar": { + "source": "iana", + "extensions": ["rar"], + }, + "application/vnd.realvnc.bed": { + "source": "iana", + "extensions": ["bed"], + }, + "application/vnd.recordare.musicxml": { + "source": "iana", + "extensions": ["mxl"], + }, + "application/vnd.recordare.musicxml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["musicxml"], + }, + "application/vnd.relpipe": { + "source": "iana", + }, + "application/vnd.renlearn.rlprint": { + "source": "iana", + }, + "application/vnd.resilient.logic": { + "source": "iana", + }, + "application/vnd.restful+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.rig.cryptonote": { + "source": "iana", + "extensions": ["cryptonote"], + }, + "application/vnd.rim.cod": { + "source": "apache", + "extensions": ["cod"], + }, + "application/vnd.rn-realmedia": { + "source": "apache", + "extensions": ["rm"], + }, + "application/vnd.rn-realmedia-vbr": { + "source": "apache", + "extensions": ["rmvb"], + }, + "application/vnd.route66.link66+xml": { + "source": "iana", + "compressible": true, + "extensions": ["link66"], + }, + "application/vnd.rs-274x": { + "source": "iana", + }, + "application/vnd.ruckus.download": { + "source": "iana", + }, + "application/vnd.s3sms": { + "source": "iana", + }, + "application/vnd.sailingtracker.track": { + "source": "iana", + "extensions": ["st"], + }, + "application/vnd.sar": { + "source": "iana", + }, + "application/vnd.sbm.cid": { + "source": "iana", + }, + "application/vnd.sbm.mid2": { + "source": "iana", + }, + "application/vnd.scribus": { + "source": "iana", + }, + "application/vnd.sealed.3df": { + "source": "iana", + }, + "application/vnd.sealed.csf": { + "source": "iana", + }, + "application/vnd.sealed.doc": { + "source": "iana", + }, + "application/vnd.sealed.eml": { + "source": "iana", + }, + "application/vnd.sealed.mht": { + "source": "iana", + }, + "application/vnd.sealed.net": { + "source": "iana", + }, + "application/vnd.sealed.ppt": { + "source": "iana", + }, + "application/vnd.sealed.tiff": { + "source": "iana", + }, + "application/vnd.sealed.xls": { + "source": "iana", + }, + "application/vnd.sealedmedia.softseal.html": { + "source": "iana", + }, + "application/vnd.sealedmedia.softseal.pdf": { + "source": "iana", + }, + "application/vnd.seemail": { + "source": "iana", + "extensions": ["see"], + }, + "application/vnd.seis+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.sema": { + "source": "iana", + "extensions": ["sema"], + }, + "application/vnd.semd": { + "source": "iana", + "extensions": ["semd"], + }, + "application/vnd.semf": { + "source": "iana", + "extensions": ["semf"], + }, + "application/vnd.shade-save-file": { + "source": "iana", + }, + "application/vnd.shana.informed.formdata": { + "source": "iana", + "extensions": ["ifm"], + }, + "application/vnd.shana.informed.formtemplate": { + "source": "iana", + "extensions": ["itp"], + }, + "application/vnd.shana.informed.interchange": { + "source": "iana", + "extensions": ["iif"], + }, + "application/vnd.shana.informed.package": { + "source": "iana", + "extensions": ["ipk"], + }, + "application/vnd.shootproof+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.shopkick+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.shp": { + "source": "iana", + }, + "application/vnd.shx": { + "source": "iana", + }, + "application/vnd.sigrok.session": { + "source": "iana", + }, + "application/vnd.simtech-mindmapper": { + "source": "iana", + "extensions": ["twd", "twds"], + }, + "application/vnd.siren+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.smaf": { + "source": "iana", + "extensions": ["mmf"], + }, + "application/vnd.smart.notebook": { + "source": "iana", + }, + "application/vnd.smart.teacher": { + "source": "iana", + "extensions": ["teacher"], + }, + "application/vnd.smintio.portals.archive": { + "source": "iana", + }, + "application/vnd.snesdev-page-table": { + "source": "iana", + }, + "application/vnd.software602.filler.form+xml": { + "source": "iana", + "compressible": true, + "extensions": ["fo"], + }, + "application/vnd.software602.filler.form-xml-zip": { + "source": "iana", + }, + "application/vnd.solent.sdkm+xml": { + "source": "iana", + "compressible": true, + "extensions": ["sdkm", "sdkd"], + }, + "application/vnd.spotfire.dxp": { + "source": "iana", + "extensions": ["dxp"], + }, + "application/vnd.spotfire.sfs": { + "source": "iana", + "extensions": ["sfs"], + }, + "application/vnd.sqlite3": { + "source": "iana", + }, + "application/vnd.sss-cod": { + "source": "iana", + }, + "application/vnd.sss-dtf": { + "source": "iana", + }, + "application/vnd.sss-ntf": { + "source": "iana", + }, + "application/vnd.stardivision.calc": { + "source": "apache", + "extensions": ["sdc"], + }, + "application/vnd.stardivision.draw": { + "source": "apache", + "extensions": ["sda"], + }, + "application/vnd.stardivision.impress": { + "source": "apache", + "extensions": ["sdd"], + }, + "application/vnd.stardivision.math": { + "source": "apache", + "extensions": ["smf"], + }, + "application/vnd.stardivision.writer": { + "source": "apache", + "extensions": ["sdw", "vor"], + }, + "application/vnd.stardivision.writer-global": { + "source": "apache", + "extensions": ["sgl"], + }, + "application/vnd.stepmania.package": { + "source": "iana", + "extensions": ["smzip"], + }, + "application/vnd.stepmania.stepchart": { + "source": "iana", + "extensions": ["sm"], + }, + "application/vnd.street-stream": { + "source": "iana", + }, + "application/vnd.sun.wadl+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wadl"], + }, + "application/vnd.sun.xml.calc": { + "source": "apache", + "extensions": ["sxc"], + }, + "application/vnd.sun.xml.calc.template": { + "source": "apache", + "extensions": ["stc"], + }, + "application/vnd.sun.xml.draw": { + "source": "apache", + "extensions": ["sxd"], + }, + "application/vnd.sun.xml.draw.template": { + "source": "apache", + "extensions": ["std"], + }, + "application/vnd.sun.xml.impress": { + "source": "apache", + "extensions": ["sxi"], + }, + "application/vnd.sun.xml.impress.template": { + "source": "apache", + "extensions": ["sti"], + }, + "application/vnd.sun.xml.math": { + "source": "apache", + "extensions": ["sxm"], + }, + "application/vnd.sun.xml.writer": { + "source": "apache", + "extensions": ["sxw"], + }, + "application/vnd.sun.xml.writer.global": { + "source": "apache", + "extensions": ["sxg"], + }, + "application/vnd.sun.xml.writer.template": { + "source": "apache", + "extensions": ["stw"], + }, + "application/vnd.sus-calendar": { + "source": "iana", + "extensions": ["sus", "susp"], + }, + "application/vnd.svd": { + "source": "iana", + "extensions": ["svd"], + }, + "application/vnd.swiftview-ics": { + "source": "iana", + }, + "application/vnd.sybyl.mol2": { + "source": "iana", + }, + "application/vnd.sycle+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.syft+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.symbian.install": { + "source": "apache", + "extensions": ["sis", "sisx"], + }, + "application/vnd.syncml+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["xsm"], + }, + "application/vnd.syncml.dm+wbxml": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["bdm"], + }, + "application/vnd.syncml.dm+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["xdm"], + }, + "application/vnd.syncml.dm.notification": { + "source": "iana", + }, + "application/vnd.syncml.dmddf+wbxml": { + "source": "iana", + }, + "application/vnd.syncml.dmddf+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["ddf"], + }, + "application/vnd.syncml.dmtnds+wbxml": { + "source": "iana", + }, + "application/vnd.syncml.dmtnds+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + }, + "application/vnd.syncml.ds.notification": { + "source": "iana", + }, + "application/vnd.tableschema+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.tao.intent-module-archive": { + "source": "iana", + "extensions": ["tao"], + }, + "application/vnd.tcpdump.pcap": { + "source": "iana", + "extensions": ["pcap", "cap", "dmp"], + }, + "application/vnd.think-cell.ppttc+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.tmd.mediaflex.api+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.tml": { + "source": "iana", + }, + "application/vnd.tmobile-livetv": { + "source": "iana", + "extensions": ["tmo"], + }, + "application/vnd.tri.onesource": { + "source": "iana", + }, + "application/vnd.trid.tpt": { + "source": "iana", + "extensions": ["tpt"], + }, + "application/vnd.triscape.mxs": { + "source": "iana", + "extensions": ["mxs"], + }, + "application/vnd.trueapp": { + "source": "iana", + "extensions": ["tra"], + }, + "application/vnd.truedoc": { + "source": "iana", + }, + "application/vnd.ubisoft.webplayer": { + "source": "iana", + }, + "application/vnd.ufdl": { + "source": "iana", + "extensions": ["ufd", "ufdl"], + }, + "application/vnd.uiq.theme": { + "source": "iana", + "extensions": ["utz"], + }, + "application/vnd.umajin": { + "source": "iana", + "extensions": ["umj"], + }, + "application/vnd.unity": { + "source": "iana", + "extensions": ["unityweb"], + }, + "application/vnd.uoml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["uoml", "uo"], + }, + "application/vnd.uplanet.alert": { + "source": "iana", + }, + "application/vnd.uplanet.alert-wbxml": { + "source": "iana", + }, + "application/vnd.uplanet.bearer-choice": { + "source": "iana", + }, + "application/vnd.uplanet.bearer-choice-wbxml": { + "source": "iana", + }, + "application/vnd.uplanet.cacheop": { + "source": "iana", + }, + "application/vnd.uplanet.cacheop-wbxml": { + "source": "iana", + }, + "application/vnd.uplanet.channel": { + "source": "iana", + }, + "application/vnd.uplanet.channel-wbxml": { + "source": "iana", + }, + "application/vnd.uplanet.list": { + "source": "iana", + }, + "application/vnd.uplanet.list-wbxml": { + "source": "iana", + }, + "application/vnd.uplanet.listcmd": { + "source": "iana", + }, + "application/vnd.uplanet.listcmd-wbxml": { + "source": "iana", + }, + "application/vnd.uplanet.signal": { + "source": "iana", + }, + "application/vnd.uri-map": { + "source": "iana", + }, + "application/vnd.valve.source.material": { + "source": "iana", + }, + "application/vnd.vcx": { + "source": "iana", + "extensions": ["vcx"], + }, + "application/vnd.vd-study": { + "source": "iana", + }, + "application/vnd.vectorworks": { + "source": "iana", + }, + "application/vnd.vel+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.verimatrix.vcas": { + "source": "iana", + }, + "application/vnd.veritone.aion+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.veryant.thin": { + "source": "iana", + }, + "application/vnd.ves.encrypted": { + "source": "iana", + }, + "application/vnd.vidsoft.vidconference": { + "source": "iana", + }, + "application/vnd.visio": { + "source": "iana", + "extensions": ["vsd", "vst", "vss", "vsw"], + }, + "application/vnd.visionary": { + "source": "iana", + "extensions": ["vis"], + }, + "application/vnd.vividence.scriptfile": { + "source": "iana", + }, + "application/vnd.vsf": { + "source": "iana", + "extensions": ["vsf"], + }, + "application/vnd.wap.sic": { + "source": "iana", + }, + "application/vnd.wap.slc": { + "source": "iana", + }, + "application/vnd.wap.wbxml": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["wbxml"], + }, + "application/vnd.wap.wmlc": { + "source": "iana", + "extensions": ["wmlc"], + }, + "application/vnd.wap.wmlscriptc": { + "source": "iana", + "extensions": ["wmlsc"], + }, + "application/vnd.wasmflow.wafl": { + "source": "iana", + }, + "application/vnd.webturbo": { + "source": "iana", + "extensions": ["wtb"], + }, + "application/vnd.wfa.dpp": { + "source": "iana", + }, + "application/vnd.wfa.p2p": { + "source": "iana", + }, + "application/vnd.wfa.wsc": { + "source": "iana", + }, + "application/vnd.windows.devicepairing": { + "source": "iana", + }, + "application/vnd.wmc": { + "source": "iana", + }, + "application/vnd.wmf.bootstrap": { + "source": "iana", + }, + "application/vnd.wolfram.mathematica": { + "source": "iana", + }, + "application/vnd.wolfram.mathematica.package": { + "source": "iana", + }, + "application/vnd.wolfram.player": { + "source": "iana", + "extensions": ["nbp"], + }, + "application/vnd.wordlift": { + "source": "iana", + }, + "application/vnd.wordperfect": { + "source": "iana", + "extensions": ["wpd"], + }, + "application/vnd.wqd": { + "source": "iana", + "extensions": ["wqd"], + }, + "application/vnd.wrq-hp3000-labelled": { + "source": "iana", + }, + "application/vnd.wt.stf": { + "source": "iana", + "extensions": ["stf"], + }, + "application/vnd.wv.csp+wbxml": { + "source": "iana", + }, + "application/vnd.wv.csp+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.wv.ssp+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.xacml+json": { + "source": "iana", + "compressible": true, + }, + "application/vnd.xara": { + "source": "iana", + "extensions": ["xar"], + }, + "application/vnd.xecrets-encrypted": { + "source": "iana", + }, + "application/vnd.xfdl": { + "source": "iana", + "extensions": ["xfdl"], + }, + "application/vnd.xfdl.webform": { + "source": "iana", + }, + "application/vnd.xmi+xml": { + "source": "iana", + "compressible": true, + }, + "application/vnd.xmpie.cpkg": { + "source": "iana", + }, + "application/vnd.xmpie.dpkg": { + "source": "iana", + }, + "application/vnd.xmpie.plan": { + "source": "iana", + }, + "application/vnd.xmpie.ppkg": { + "source": "iana", + }, + "application/vnd.xmpie.xlim": { + "source": "iana", + }, + "application/vnd.yamaha.hv-dic": { + "source": "iana", + "extensions": ["hvd"], + }, + "application/vnd.yamaha.hv-script": { + "source": "iana", + "extensions": ["hvs"], + }, + "application/vnd.yamaha.hv-voice": { + "source": "iana", + "extensions": ["hvp"], + }, + "application/vnd.yamaha.openscoreformat": { + "source": "iana", + "extensions": ["osf"], + }, + "application/vnd.yamaha.openscoreformat.osfpvg+xml": { + "source": "iana", + "compressible": true, + "extensions": ["osfpvg"], + }, + "application/vnd.yamaha.remote-setup": { + "source": "iana", + }, + "application/vnd.yamaha.smaf-audio": { + "source": "iana", + "extensions": ["saf"], + }, + "application/vnd.yamaha.smaf-phrase": { + "source": "iana", + "extensions": ["spf"], + }, + "application/vnd.yamaha.through-ngn": { + "source": "iana", + }, + "application/vnd.yamaha.tunnel-udpencap": { + "source": "iana", + }, + "application/vnd.yaoweme": { + "source": "iana", + }, + "application/vnd.yellowriver-custom-menu": { + "source": "iana", + "extensions": ["cmp"], + }, + "application/vnd.zul": { + "source": "iana", + "extensions": ["zir", "zirz"], + }, + "application/vnd.zzazz.deck+xml": { + "source": "iana", + "compressible": true, + "extensions": ["zaz"], + }, + "application/voicexml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["vxml"], + }, + "application/voucher-cms+json": { + "source": "iana", + "compressible": true, + }, + "application/vp": { + "source": "iana", + }, + "application/vq-rtcpxr": { + "source": "iana", + }, + "application/wasm": { + "source": "iana", + "compressible": true, + "extensions": ["wasm"], + }, + "application/watcherinfo+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wif"], + }, + "application/webpush-options+json": { + "source": "iana", + "compressible": true, + }, + "application/whoispp-query": { + "source": "iana", + }, + "application/whoispp-response": { + "source": "iana", + }, + "application/widget": { + "source": "iana", + "extensions": ["wgt"], + }, + "application/winhlp": { + "source": "apache", + "extensions": ["hlp"], + }, + "application/wita": { + "source": "iana", + }, + "application/wordperfect5.1": { + "source": "iana", + }, + "application/wsdl+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wsdl"], + }, + "application/wspolicy+xml": { + "source": "iana", + "compressible": true, + "extensions": ["wspolicy"], + }, + "application/x-7z-compressed": { + "source": "apache", + "compressible": false, + "extensions": ["7z"], + }, + "application/x-abiword": { + "source": "apache", + "extensions": ["abw"], + }, + "application/x-ace-compressed": { + "source": "apache", + "extensions": ["ace"], + }, + "application/x-amf": { + "source": "apache", + }, + "application/x-apple-diskimage": { + "source": "apache", + "extensions": ["dmg"], + }, + "application/x-arj": { + "compressible": false, + "extensions": ["arj"], + }, + "application/x-authorware-bin": { + "source": "apache", + "extensions": ["aab", "x32", "u32", "vox"], + }, + "application/x-authorware-map": { + "source": "apache", + "extensions": ["aam"], + }, + "application/x-authorware-seg": { + "source": "apache", + "extensions": ["aas"], + }, + "application/x-bcpio": { + "source": "apache", + "extensions": ["bcpio"], + }, + "application/x-bdoc": { + "compressible": false, + "extensions": ["bdoc"], + }, + "application/x-bittorrent": { + "source": "apache", + "extensions": ["torrent"], + }, + "application/x-blorb": { + "source": "apache", + "extensions": ["blb", "blorb"], + }, + "application/x-bzip": { + "source": "apache", + "compressible": false, + "extensions": ["bz"], + }, + "application/x-bzip2": { + "source": "apache", + "compressible": false, + "extensions": ["bz2", "boz"], + }, + "application/x-cbr": { + "source": "apache", + "extensions": ["cbr", "cba", "cbt", "cbz", "cb7"], + }, + "application/x-cdlink": { + "source": "apache", + "extensions": ["vcd"], + }, + "application/x-cfs-compressed": { + "source": "apache", + "extensions": ["cfs"], + }, + "application/x-chat": { + "source": "apache", + "extensions": ["chat"], + }, + "application/x-chess-pgn": { + "source": "apache", + "extensions": ["pgn"], + }, + "application/x-chrome-extension": { + "extensions": ["crx"], + }, + "application/x-cocoa": { + "source": "nginx", + "extensions": ["cco"], + }, + "application/x-compress": { + "source": "apache", + }, + "application/x-conference": { + "source": "apache", + "extensions": ["nsc"], + }, + "application/x-cpio": { + "source": "apache", + "extensions": ["cpio"], + }, + "application/x-csh": { + "source": "apache", + "extensions": ["csh"], + }, + "application/x-deb": { + "compressible": false, + }, + "application/x-debian-package": { + "source": "apache", + "extensions": ["deb", "udeb"], + }, + "application/x-dgc-compressed": { + "source": "apache", + "extensions": ["dgc"], + }, + "application/x-director": { + "source": "apache", + "extensions": [ + "dir", + "dcr", + "dxr", + "cst", + "cct", + "cxt", + "w3d", + "fgd", + "swa", + ], + }, + "application/x-doom": { + "source": "apache", + "extensions": ["wad"], + }, + "application/x-dtbncx+xml": { + "source": "apache", + "compressible": true, + "extensions": ["ncx"], + }, + "application/x-dtbook+xml": { + "source": "apache", + "compressible": true, + "extensions": ["dtb"], + }, + "application/x-dtbresource+xml": { + "source": "apache", + "compressible": true, + "extensions": ["res"], + }, + "application/x-dvi": { + "source": "apache", + "compressible": false, + "extensions": ["dvi"], + }, + "application/x-envoy": { + "source": "apache", + "extensions": ["evy"], + }, + "application/x-eva": { + "source": "apache", + "extensions": ["eva"], + }, + "application/x-font-bdf": { + "source": "apache", + "extensions": ["bdf"], + }, + "application/x-font-dos": { + "source": "apache", + }, + "application/x-font-framemaker": { + "source": "apache", + }, + "application/x-font-ghostscript": { + "source": "apache", + "extensions": ["gsf"], + }, + "application/x-font-libgrx": { + "source": "apache", + }, + "application/x-font-linux-psf": { + "source": "apache", + "extensions": ["psf"], + }, + "application/x-font-pcf": { + "source": "apache", + "extensions": ["pcf"], + }, + "application/x-font-snf": { + "source": "apache", + "extensions": ["snf"], + }, + "application/x-font-speedo": { + "source": "apache", + }, + "application/x-font-sunos-news": { + "source": "apache", + }, + "application/x-font-type1": { + "source": "apache", + "extensions": ["pfa", "pfb", "pfm", "afm"], + }, + "application/x-font-vfont": { + "source": "apache", + }, + "application/x-freearc": { + "source": "apache", + "extensions": ["arc"], + }, + "application/x-futuresplash": { + "source": "apache", + "extensions": ["spl"], + }, + "application/x-gca-compressed": { + "source": "apache", + "extensions": ["gca"], + }, + "application/x-glulx": { + "source": "apache", + "extensions": ["ulx"], + }, + "application/x-gnumeric": { + "source": "apache", + "extensions": ["gnumeric"], + }, + "application/x-gramps-xml": { + "source": "apache", + "extensions": ["gramps"], + }, + "application/x-gtar": { + "source": "apache", + "extensions": ["gtar"], + }, + "application/x-gzip": { + "source": "apache", + }, + "application/x-hdf": { + "source": "apache", + "extensions": ["hdf"], + }, + "application/x-httpd-php": { + "compressible": true, + "extensions": ["php"], + }, + "application/x-install-instructions": { + "source": "apache", + "extensions": ["install"], + }, + "application/x-iso9660-image": { + "source": "apache", + "extensions": ["iso"], + }, + "application/x-iwork-keynote-sffkey": { + "extensions": ["key"], + }, + "application/x-iwork-numbers-sffnumbers": { + "extensions": ["numbers"], + }, + "application/x-iwork-pages-sffpages": { + "extensions": ["pages"], + }, + "application/x-java-archive-diff": { + "source": "nginx", + "extensions": ["jardiff"], + }, + "application/x-java-jnlp-file": { + "source": "apache", + "compressible": false, + "extensions": ["jnlp"], + }, + "application/x-javascript": { + "compressible": true, + }, + "application/x-keepass2": { + "extensions": ["kdbx"], + }, + "application/x-latex": { + "source": "apache", + "compressible": false, + "extensions": ["latex"], + }, + "application/x-lua-bytecode": { + "extensions": ["luac"], + }, + "application/x-lzh-compressed": { + "source": "apache", + "extensions": ["lzh", "lha"], + }, + "application/x-makeself": { + "source": "nginx", + "extensions": ["run"], + }, + "application/x-mie": { + "source": "apache", + "extensions": ["mie"], + }, + "application/x-mobipocket-ebook": { + "source": "apache", + "extensions": ["prc", "mobi"], + }, + "application/x-mpegurl": { + "compressible": false, + }, + "application/x-ms-application": { + "source": "apache", + "extensions": ["application"], + }, + "application/x-ms-shortcut": { + "source": "apache", + "extensions": ["lnk"], + }, + "application/x-ms-wmd": { + "source": "apache", + "extensions": ["wmd"], + }, + "application/x-ms-wmz": { + "source": "apache", + "extensions": ["wmz"], + }, + "application/x-ms-xbap": { + "source": "apache", + "extensions": ["xbap"], + }, + "application/x-msaccess": { + "source": "apache", + "extensions": ["mdb"], + }, + "application/x-msbinder": { + "source": "apache", + "extensions": ["obd"], + }, + "application/x-mscardfile": { + "source": "apache", + "extensions": ["crd"], + }, + "application/x-msclip": { + "source": "apache", + "extensions": ["clp"], + }, + "application/x-msdos-program": { + "extensions": ["exe"], + }, + "application/x-msdownload": { + "source": "apache", + "extensions": ["exe", "dll", "com", "bat", "msi"], + }, + "application/x-msmediaview": { + "source": "apache", + "extensions": ["mvb", "m13", "m14"], + }, + "application/x-msmetafile": { + "source": "apache", + "extensions": ["wmf", "wmz", "emf", "emz"], + }, + "application/x-msmoney": { + "source": "apache", + "extensions": ["mny"], + }, + "application/x-mspublisher": { + "source": "apache", + "extensions": ["pub"], + }, + "application/x-msschedule": { + "source": "apache", + "extensions": ["scd"], + }, + "application/x-msterminal": { + "source": "apache", + "extensions": ["trm"], + }, + "application/x-mswrite": { + "source": "apache", + "extensions": ["wri"], + }, + "application/x-netcdf": { + "source": "apache", + "extensions": ["nc", "cdf"], + }, + "application/x-ns-proxy-autoconfig": { + "compressible": true, + "extensions": ["pac"], + }, + "application/x-nzb": { + "source": "apache", + "extensions": ["nzb"], + }, + "application/x-perl": { + "source": "nginx", + "extensions": ["pl", "pm"], + }, + "application/x-pilot": { + "source": "nginx", + "extensions": ["prc", "pdb"], + }, + "application/x-pkcs12": { + "source": "apache", + "compressible": false, + "extensions": ["p12", "pfx"], + }, + "application/x-pkcs7-certificates": { + "source": "apache", + "extensions": ["p7b", "spc"], + }, + "application/x-pkcs7-certreqresp": { + "source": "apache", + "extensions": ["p7r"], + }, + "application/x-pki-message": { + "source": "iana", + }, + "application/x-rar-compressed": { + "source": "apache", + "compressible": false, + "extensions": ["rar"], + }, + "application/x-redhat-package-manager": { + "source": "nginx", + "extensions": ["rpm"], + }, + "application/x-research-info-systems": { + "source": "apache", + "extensions": ["ris"], + }, + "application/x-sea": { + "source": "nginx", + "extensions": ["sea"], + }, + "application/x-sh": { + "source": "apache", + "compressible": true, + "extensions": ["sh"], + }, + "application/x-shar": { + "source": "apache", + "extensions": ["shar"], + }, + "application/x-shockwave-flash": { + "source": "apache", + "compressible": false, + "extensions": ["swf"], + }, + "application/x-silverlight-app": { + "source": "apache", + "extensions": ["xap"], + }, + "application/x-sql": { + "source": "apache", + "extensions": ["sql"], + }, + "application/x-stuffit": { + "source": "apache", + "compressible": false, + "extensions": ["sit"], + }, + "application/x-stuffitx": { + "source": "apache", + "extensions": ["sitx"], + }, + "application/x-subrip": { + "source": "apache", + "extensions": ["srt"], + }, + "application/x-sv4cpio": { + "source": "apache", + "extensions": ["sv4cpio"], + }, + "application/x-sv4crc": { + "source": "apache", + "extensions": ["sv4crc"], + }, + "application/x-t3vm-image": { + "source": "apache", + "extensions": ["t3"], + }, + "application/x-tads": { + "source": "apache", + "extensions": ["gam"], + }, + "application/x-tar": { + "source": "apache", + "compressible": true, + "extensions": ["tar"], + }, + "application/x-tcl": { + "source": "apache", + "extensions": ["tcl", "tk"], + }, + "application/x-tex": { + "source": "apache", + "extensions": ["tex"], + }, + "application/x-tex-tfm": { + "source": "apache", + "extensions": ["tfm"], + }, + "application/x-texinfo": { + "source": "apache", + "extensions": ["texinfo", "texi"], + }, + "application/x-tgif": { + "source": "apache", + "extensions": ["obj"], + }, + "application/x-ustar": { + "source": "apache", + "extensions": ["ustar"], + }, + "application/x-virtualbox-hdd": { + "compressible": true, + "extensions": ["hdd"], + }, + "application/x-virtualbox-ova": { + "compressible": true, + "extensions": ["ova"], + }, + "application/x-virtualbox-ovf": { + "compressible": true, + "extensions": ["ovf"], + }, + "application/x-virtualbox-vbox": { + "compressible": true, + "extensions": ["vbox"], + }, + "application/x-virtualbox-vbox-extpack": { + "compressible": false, + "extensions": ["vbox-extpack"], + }, + "application/x-virtualbox-vdi": { + "compressible": true, + "extensions": ["vdi"], + }, + "application/x-virtualbox-vhd": { + "compressible": true, + "extensions": ["vhd"], + }, + "application/x-virtualbox-vmdk": { + "compressible": true, + "extensions": ["vmdk"], + }, + "application/x-wais-source": { + "source": "apache", + "extensions": ["src"], + }, + "application/x-web-app-manifest+json": { + "compressible": true, + "extensions": ["webapp"], + }, + "application/x-www-form-urlencoded": { + "source": "iana", + "compressible": true, + }, + "application/x-x509-ca-cert": { + "source": "iana", + "extensions": ["der", "crt", "pem"], + }, + "application/x-x509-ca-ra-cert": { + "source": "iana", + }, + "application/x-x509-next-ca-cert": { + "source": "iana", + }, + "application/x-xfig": { + "source": "apache", + "extensions": ["fig"], + }, + "application/x-xliff+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xlf"], + }, + "application/x-xpinstall": { + "source": "apache", + "compressible": false, + "extensions": ["xpi"], + }, + "application/x-xz": { + "source": "apache", + "extensions": ["xz"], + }, + "application/x-zmachine": { + "source": "apache", + "extensions": ["z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8"], + }, + "application/x400-bp": { + "source": "iana", + }, + "application/xacml+xml": { + "source": "iana", + "compressible": true, + }, + "application/xaml+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xaml"], + }, + "application/xcap-att+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xav"], + }, + "application/xcap-caps+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xca"], + }, + "application/xcap-diff+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xdf"], + }, + "application/xcap-el+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xel"], + }, + "application/xcap-error+xml": { + "source": "iana", + "compressible": true, + }, + "application/xcap-ns+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xns"], + }, + "application/xcon-conference-info+xml": { + "source": "iana", + "compressible": true, + }, + "application/xcon-conference-info-diff+xml": { + "source": "iana", + "compressible": true, + }, + "application/xenc+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xenc"], + }, + "application/xfdf": { + "source": "iana", + "extensions": ["xfdf"], + }, + "application/xhtml+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xhtml", "xht"], + }, + "application/xhtml-voice+xml": { + "source": "apache", + "compressible": true, + }, + "application/xliff+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xlf"], + }, + "application/xml": { + "source": "iana", + "compressible": true, + "extensions": ["xml", "xsl", "xsd", "rng"], + }, + "application/xml-dtd": { + "source": "iana", + "compressible": true, + "extensions": ["dtd"], + }, + "application/xml-external-parsed-entity": { + "source": "iana", + }, + "application/xml-patch+xml": { + "source": "iana", + "compressible": true, + }, + "application/xmpp+xml": { + "source": "iana", + "compressible": true, + }, + "application/xop+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xop"], + }, + "application/xproc+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xpl"], + }, + "application/xslt+xml": { + "source": "iana", + "compressible": true, + "extensions": ["xsl", "xslt"], + }, + "application/xspf+xml": { + "source": "apache", + "compressible": true, + "extensions": ["xspf"], + }, + "application/xv+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mxml", "xhvml", "xvml", "xvm"], + }, + "application/yaml": { + "source": "iana", + }, + "application/yang": { + "source": "iana", + "extensions": ["yang"], + }, + "application/yang-data+cbor": { + "source": "iana", + }, + "application/yang-data+json": { + "source": "iana", + "compressible": true, + }, + "application/yang-data+xml": { + "source": "iana", + "compressible": true, + }, + "application/yang-patch+json": { + "source": "iana", + "compressible": true, + }, + "application/yang-patch+xml": { + "source": "iana", + "compressible": true, + }, + "application/yang-sid+json": { + "source": "iana", + "compressible": true, + }, + "application/yin+xml": { + "source": "iana", + "compressible": true, + "extensions": ["yin"], + }, + "application/zip": { + "source": "iana", + "compressible": false, + "extensions": ["zip"], + }, + "application/zlib": { + "source": "iana", + }, + "application/zstd": { + "source": "iana", + }, + "audio/1d-interleaved-parityfec": { + "source": "iana", + }, + "audio/32kadpcm": { + "source": "iana", + }, + "audio/3gpp": { + "source": "iana", + "compressible": false, + "extensions": ["3gpp"], + }, + "audio/3gpp2": { + "source": "iana", + }, + "audio/aac": { + "source": "iana", + "extensions": ["adts", "aac"], + }, + "audio/ac3": { + "source": "iana", + }, + "audio/adpcm": { + "source": "apache", + "extensions": ["adp"], + }, + "audio/amr": { + "source": "iana", + "extensions": ["amr"], + }, + "audio/amr-wb": { + "source": "iana", + }, + "audio/amr-wb+": { + "source": "iana", + }, + "audio/aptx": { + "source": "iana", + }, + "audio/asc": { + "source": "iana", + }, + "audio/atrac-advanced-lossless": { + "source": "iana", + }, + "audio/atrac-x": { + "source": "iana", + }, + "audio/atrac3": { + "source": "iana", + }, + "audio/basic": { + "source": "iana", + "compressible": false, + "extensions": ["au", "snd"], + }, + "audio/bv16": { + "source": "iana", + }, + "audio/bv32": { + "source": "iana", + }, + "audio/clearmode": { + "source": "iana", + }, + "audio/cn": { + "source": "iana", + }, + "audio/dat12": { + "source": "iana", + }, + "audio/dls": { + "source": "iana", + }, + "audio/dsr-es201108": { + "source": "iana", + }, + "audio/dsr-es202050": { + "source": "iana", + }, + "audio/dsr-es202211": { + "source": "iana", + }, + "audio/dsr-es202212": { + "source": "iana", + }, + "audio/dv": { + "source": "iana", + }, + "audio/dvi4": { + "source": "iana", + }, + "audio/eac3": { + "source": "iana", + }, + "audio/encaprtp": { + "source": "iana", + }, + "audio/evrc": { + "source": "iana", + }, + "audio/evrc-qcp": { + "source": "iana", + }, + "audio/evrc0": { + "source": "iana", + }, + "audio/evrc1": { + "source": "iana", + }, + "audio/evrcb": { + "source": "iana", + }, + "audio/evrcb0": { + "source": "iana", + }, + "audio/evrcb1": { + "source": "iana", + }, + "audio/evrcnw": { + "source": "iana", + }, + "audio/evrcnw0": { + "source": "iana", + }, + "audio/evrcnw1": { + "source": "iana", + }, + "audio/evrcwb": { + "source": "iana", + }, + "audio/evrcwb0": { + "source": "iana", + }, + "audio/evrcwb1": { + "source": "iana", + }, + "audio/evs": { + "source": "iana", + }, + "audio/flac": { + "source": "iana", + }, + "audio/flexfec": { + "source": "iana", + }, + "audio/fwdred": { + "source": "iana", + }, + "audio/g711-0": { + "source": "iana", + }, + "audio/g719": { + "source": "iana", + }, + "audio/g722": { + "source": "iana", + }, + "audio/g7221": { + "source": "iana", + }, + "audio/g723": { + "source": "iana", + }, + "audio/g726-16": { + "source": "iana", + }, + "audio/g726-24": { + "source": "iana", + }, + "audio/g726-32": { + "source": "iana", + }, + "audio/g726-40": { + "source": "iana", + }, + "audio/g728": { + "source": "iana", + }, + "audio/g729": { + "source": "iana", + }, + "audio/g7291": { + "source": "iana", + }, + "audio/g729d": { + "source": "iana", + }, + "audio/g729e": { + "source": "iana", + }, + "audio/gsm": { + "source": "iana", + }, + "audio/gsm-efr": { + "source": "iana", + }, + "audio/gsm-hr-08": { + "source": "iana", + }, + "audio/ilbc": { + "source": "iana", + }, + "audio/ip-mr_v2.5": { + "source": "iana", + }, + "audio/isac": { + "source": "apache", + }, + "audio/l16": { + "source": "iana", + }, + "audio/l20": { + "source": "iana", + }, + "audio/l24": { + "source": "iana", + "compressible": false, + }, + "audio/l8": { + "source": "iana", + }, + "audio/lpc": { + "source": "iana", + }, + "audio/matroska": { + "source": "iana", + }, + "audio/melp": { + "source": "iana", + }, + "audio/melp1200": { + "source": "iana", + }, + "audio/melp2400": { + "source": "iana", + }, + "audio/melp600": { + "source": "iana", + }, + "audio/mhas": { + "source": "iana", + }, + "audio/midi": { + "source": "apache", + "extensions": ["mid", "midi", "kar", "rmi"], + }, + "audio/midi-clip": { + "source": "iana", + }, + "audio/mobile-xmf": { + "source": "iana", + "extensions": ["mxmf"], + }, + "audio/mp3": { + "compressible": false, + "extensions": ["mp3"], + }, + "audio/mp4": { + "source": "iana", + "compressible": false, + "extensions": ["m4a", "mp4a"], + }, + "audio/mp4a-latm": { + "source": "iana", + }, + "audio/mpa": { + "source": "iana", + }, + "audio/mpa-robust": { + "source": "iana", + }, + "audio/mpeg": { + "source": "iana", + "compressible": false, + "extensions": ["mpga", "mp2", "mp2a", "mp3", "m2a", "m3a"], + }, + "audio/mpeg4-generic": { + "source": "iana", + }, + "audio/musepack": { + "source": "apache", + }, + "audio/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["oga", "ogg", "spx", "opus"], + }, + "audio/opus": { + "source": "iana", + }, + "audio/parityfec": { + "source": "iana", + }, + "audio/pcma": { + "source": "iana", + }, + "audio/pcma-wb": { + "source": "iana", + }, + "audio/pcmu": { + "source": "iana", + }, + "audio/pcmu-wb": { + "source": "iana", + }, + "audio/prs.sid": { + "source": "iana", + }, + "audio/qcelp": { + "source": "iana", + }, + "audio/raptorfec": { + "source": "iana", + }, + "audio/red": { + "source": "iana", + }, + "audio/rtp-enc-aescm128": { + "source": "iana", + }, + "audio/rtp-midi": { + "source": "iana", + }, + "audio/rtploopback": { + "source": "iana", + }, + "audio/rtx": { + "source": "iana", + }, + "audio/s3m": { + "source": "apache", + "extensions": ["s3m"], + }, + "audio/scip": { + "source": "iana", + }, + "audio/silk": { + "source": "apache", + "extensions": ["sil"], + }, + "audio/smv": { + "source": "iana", + }, + "audio/smv-qcp": { + "source": "iana", + }, + "audio/smv0": { + "source": "iana", + }, + "audio/sofa": { + "source": "iana", + }, + "audio/sp-midi": { + "source": "iana", + }, + "audio/speex": { + "source": "iana", + }, + "audio/t140c": { + "source": "iana", + }, + "audio/t38": { + "source": "iana", + }, + "audio/telephone-event": { + "source": "iana", + }, + "audio/tetra_acelp": { + "source": "iana", + }, + "audio/tetra_acelp_bb": { + "source": "iana", + }, + "audio/tone": { + "source": "iana", + }, + "audio/tsvcis": { + "source": "iana", + }, + "audio/uemclip": { + "source": "iana", + }, + "audio/ulpfec": { + "source": "iana", + }, + "audio/usac": { + "source": "iana", + }, + "audio/vdvi": { + "source": "iana", + }, + "audio/vmr-wb": { + "source": "iana", + }, + "audio/vnd.3gpp.iufp": { + "source": "iana", + }, + "audio/vnd.4sb": { + "source": "iana", + }, + "audio/vnd.audiokoz": { + "source": "iana", + }, + "audio/vnd.celp": { + "source": "iana", + }, + "audio/vnd.cisco.nse": { + "source": "iana", + }, + "audio/vnd.cmles.radio-events": { + "source": "iana", + }, + "audio/vnd.cns.anp1": { + "source": "iana", + }, + "audio/vnd.cns.inf1": { + "source": "iana", + }, + "audio/vnd.dece.audio": { + "source": "iana", + "extensions": ["uva", "uvva"], + }, + "audio/vnd.digital-winds": { + "source": "iana", + "extensions": ["eol"], + }, + "audio/vnd.dlna.adts": { + "source": "iana", + }, + "audio/vnd.dolby.heaac.1": { + "source": "iana", + }, + "audio/vnd.dolby.heaac.2": { + "source": "iana", + }, + "audio/vnd.dolby.mlp": { + "source": "iana", + }, + "audio/vnd.dolby.mps": { + "source": "iana", + }, + "audio/vnd.dolby.pl2": { + "source": "iana", + }, + "audio/vnd.dolby.pl2x": { + "source": "iana", + }, + "audio/vnd.dolby.pl2z": { + "source": "iana", + }, + "audio/vnd.dolby.pulse.1": { + "source": "iana", + }, + "audio/vnd.dra": { + "source": "iana", + "extensions": ["dra"], + }, + "audio/vnd.dts": { + "source": "iana", + "extensions": ["dts"], + }, + "audio/vnd.dts.hd": { + "source": "iana", + "extensions": ["dtshd"], + }, + "audio/vnd.dts.uhd": { + "source": "iana", + }, + "audio/vnd.dvb.file": { + "source": "iana", + }, + "audio/vnd.everad.plj": { + "source": "iana", + }, + "audio/vnd.hns.audio": { + "source": "iana", + }, + "audio/vnd.lucent.voice": { + "source": "iana", + "extensions": ["lvp"], + }, + "audio/vnd.ms-playready.media.pya": { + "source": "iana", + "extensions": ["pya"], + }, + "audio/vnd.nokia.mobile-xmf": { + "source": "iana", + }, + "audio/vnd.nortel.vbk": { + "source": "iana", + }, + "audio/vnd.nuera.ecelp4800": { + "source": "iana", + "extensions": ["ecelp4800"], + }, + "audio/vnd.nuera.ecelp7470": { + "source": "iana", + "extensions": ["ecelp7470"], + }, + "audio/vnd.nuera.ecelp9600": { + "source": "iana", + "extensions": ["ecelp9600"], + }, + "audio/vnd.octel.sbc": { + "source": "iana", + }, + "audio/vnd.presonus.multitrack": { + "source": "iana", + }, + "audio/vnd.qcelp": { + "source": "apache", + }, + "audio/vnd.rhetorex.32kadpcm": { + "source": "iana", + }, + "audio/vnd.rip": { + "source": "iana", + "extensions": ["rip"], + }, + "audio/vnd.rn-realaudio": { + "compressible": false, + }, + "audio/vnd.sealedmedia.softseal.mpeg": { + "source": "iana", + }, + "audio/vnd.vmx.cvsd": { + "source": "iana", + }, + "audio/vnd.wave": { + "compressible": false, + }, + "audio/vorbis": { + "source": "iana", + "compressible": false, + }, + "audio/vorbis-config": { + "source": "iana", + }, + "audio/wav": { + "compressible": false, + "extensions": ["wav"], + }, + "audio/wave": { + "compressible": false, + "extensions": ["wav"], + }, + "audio/webm": { + "source": "apache", + "compressible": false, + "extensions": ["weba"], + }, + "audio/x-aac": { + "source": "apache", + "compressible": false, + "extensions": ["aac"], + }, + "audio/x-aiff": { + "source": "apache", + "extensions": ["aif", "aiff", "aifc"], + }, + "audio/x-caf": { + "source": "apache", + "compressible": false, + "extensions": ["caf"], + }, + "audio/x-flac": { + "source": "apache", + "extensions": ["flac"], + }, + "audio/x-m4a": { + "source": "nginx", + "extensions": ["m4a"], + }, + "audio/x-matroska": { + "source": "apache", + "extensions": ["mka"], + }, + "audio/x-mpegurl": { + "source": "apache", + "extensions": ["m3u"], + }, + "audio/x-ms-wax": { + "source": "apache", + "extensions": ["wax"], + }, + "audio/x-ms-wma": { + "source": "apache", + "extensions": ["wma"], + }, + "audio/x-pn-realaudio": { + "source": "apache", + "extensions": ["ram", "ra"], + }, + "audio/x-pn-realaudio-plugin": { + "source": "apache", + "extensions": ["rmp"], + }, + "audio/x-realaudio": { + "source": "nginx", + "extensions": ["ra"], + }, + "audio/x-tta": { + "source": "apache", + }, + "audio/x-wav": { + "source": "apache", + "extensions": ["wav"], + }, + "audio/xm": { + "source": "apache", + "extensions": ["xm"], + }, + "chemical/x-cdx": { + "source": "apache", + "extensions": ["cdx"], + }, + "chemical/x-cif": { + "source": "apache", + "extensions": ["cif"], + }, + "chemical/x-cmdf": { + "source": "apache", + "extensions": ["cmdf"], + }, + "chemical/x-cml": { + "source": "apache", + "extensions": ["cml"], + }, + "chemical/x-csml": { + "source": "apache", + "extensions": ["csml"], + }, + "chemical/x-pdb": { + "source": "apache", + }, + "chemical/x-xyz": { + "source": "apache", + "extensions": ["xyz"], + }, + "font/collection": { + "source": "iana", + "extensions": ["ttc"], + }, + "font/otf": { + "source": "iana", + "compressible": true, + "extensions": ["otf"], + }, + "font/sfnt": { + "source": "iana", + }, + "font/ttf": { + "source": "iana", + "compressible": true, + "extensions": ["ttf"], + }, + "font/woff": { + "source": "iana", + "extensions": ["woff"], + }, + "font/woff2": { + "source": "iana", + "extensions": ["woff2"], + }, + "image/aces": { + "source": "iana", + "extensions": ["exr"], + }, + "image/apng": { + "source": "iana", + "compressible": false, + "extensions": ["apng"], + }, + "image/avci": { + "source": "iana", + "extensions": ["avci"], + }, + "image/avcs": { + "source": "iana", + "extensions": ["avcs"], + }, + "image/avif": { + "source": "iana", + "compressible": false, + "extensions": ["avif"], + }, + "image/bmp": { + "source": "iana", + "compressible": true, + "extensions": ["bmp", "dib"], + }, + "image/cgm": { + "source": "iana", + "extensions": ["cgm"], + }, + "image/dicom-rle": { + "source": "iana", + "extensions": ["drle"], + }, + "image/dpx": { + "source": "iana", + "extensions": ["dpx"], + }, + "image/emf": { + "source": "iana", + "extensions": ["emf"], + }, + "image/fits": { + "source": "iana", + "extensions": ["fits"], + }, + "image/g3fax": { + "source": "iana", + "extensions": ["g3"], + }, + "image/gif": { + "source": "iana", + "compressible": false, + "extensions": ["gif"], + }, + "image/heic": { + "source": "iana", + "extensions": ["heic"], + }, + "image/heic-sequence": { + "source": "iana", + "extensions": ["heics"], + }, + "image/heif": { + "source": "iana", + "extensions": ["heif"], + }, + "image/heif-sequence": { + "source": "iana", + "extensions": ["heifs"], + }, + "image/hej2k": { + "source": "iana", + "extensions": ["hej2"], + }, + "image/hsj2": { + "source": "iana", + "extensions": ["hsj2"], + }, + "image/ief": { + "source": "iana", + "extensions": ["ief"], + }, + "image/j2c": { + "source": "iana", + }, + "image/jls": { + "source": "iana", + "extensions": ["jls"], + }, + "image/jp2": { + "source": "iana", + "compressible": false, + "extensions": ["jp2", "jpg2"], + }, + "image/jpeg": { + "source": "iana", + "compressible": false, + "extensions": ["jpeg", "jpg", "jpe"], + }, + "image/jph": { + "source": "iana", + "extensions": ["jph"], + }, + "image/jphc": { + "source": "iana", + "extensions": ["jhc"], + }, + "image/jpm": { + "source": "iana", + "compressible": false, + "extensions": ["jpm", "jpgm"], + }, + "image/jpx": { + "source": "iana", + "compressible": false, + "extensions": ["jpx", "jpf"], + }, + "image/jxl": { + "source": "iana", + "extensions": ["jxl"], + }, + "image/jxr": { + "source": "iana", + "extensions": ["jxr"], + }, + "image/jxra": { + "source": "iana", + "extensions": ["jxra"], + }, + "image/jxrs": { + "source": "iana", + "extensions": ["jxrs"], + }, + "image/jxs": { + "source": "iana", + "extensions": ["jxs"], + }, + "image/jxsc": { + "source": "iana", + "extensions": ["jxsc"], + }, + "image/jxsi": { + "source": "iana", + "extensions": ["jxsi"], + }, + "image/jxss": { + "source": "iana", + "extensions": ["jxss"], + }, + "image/ktx": { + "source": "iana", + "extensions": ["ktx"], + }, + "image/ktx2": { + "source": "iana", + "extensions": ["ktx2"], + }, + "image/naplps": { + "source": "iana", + }, + "image/pjpeg": { + "compressible": false, + }, + "image/png": { + "source": "iana", + "compressible": false, + "extensions": ["png"], + }, + "image/prs.btif": { + "source": "iana", + "extensions": ["btif", "btf"], + }, + "image/prs.pti": { + "source": "iana", + "extensions": ["pti"], + }, + "image/pwg-raster": { + "source": "iana", + }, + "image/sgi": { + "source": "apache", + "extensions": ["sgi"], + }, + "image/svg+xml": { + "source": "iana", + "compressible": true, + "extensions": ["svg", "svgz"], + }, + "image/t38": { + "source": "iana", + "extensions": ["t38"], + }, + "image/tiff": { + "source": "iana", + "compressible": false, + "extensions": ["tif", "tiff"], + }, + "image/tiff-fx": { + "source": "iana", + "extensions": ["tfx"], + }, + "image/vnd.adobe.photoshop": { + "source": "iana", + "compressible": true, + "extensions": ["psd"], + }, + "image/vnd.airzip.accelerator.azv": { + "source": "iana", + "extensions": ["azv"], + }, + "image/vnd.cns.inf2": { + "source": "iana", + }, + "image/vnd.dece.graphic": { + "source": "iana", + "extensions": ["uvi", "uvvi", "uvg", "uvvg"], + }, + "image/vnd.djvu": { + "source": "iana", + "extensions": ["djvu", "djv"], + }, + "image/vnd.dvb.subtitle": { + "source": "iana", + "extensions": ["sub"], + }, + "image/vnd.dwg": { + "source": "iana", + "extensions": ["dwg"], + }, + "image/vnd.dxf": { + "source": "iana", + "extensions": ["dxf"], + }, + "image/vnd.fastbidsheet": { + "source": "iana", + "extensions": ["fbs"], + }, + "image/vnd.fpx": { + "source": "iana", + "extensions": ["fpx"], + }, + "image/vnd.fst": { + "source": "iana", + "extensions": ["fst"], + }, + "image/vnd.fujixerox.edmics-mmr": { + "source": "iana", + "extensions": ["mmr"], + }, + "image/vnd.fujixerox.edmics-rlc": { + "source": "iana", + "extensions": ["rlc"], + }, + "image/vnd.globalgraphics.pgb": { + "source": "iana", + }, + "image/vnd.microsoft.icon": { + "source": "iana", + "compressible": true, + "extensions": ["ico"], + }, + "image/vnd.mix": { + "source": "iana", + }, + "image/vnd.mozilla.apng": { + "source": "iana", + }, + "image/vnd.ms-dds": { + "compressible": true, + "extensions": ["dds"], + }, + "image/vnd.ms-modi": { + "source": "iana", + "extensions": ["mdi"], + }, + "image/vnd.ms-photo": { + "source": "apache", + "extensions": ["wdp"], + }, + "image/vnd.net-fpx": { + "source": "iana", + "extensions": ["npx"], + }, + "image/vnd.pco.b16": { + "source": "iana", + "extensions": ["b16"], + }, + "image/vnd.radiance": { + "source": "iana", + }, + "image/vnd.sealed.png": { + "source": "iana", + }, + "image/vnd.sealedmedia.softseal.gif": { + "source": "iana", + }, + "image/vnd.sealedmedia.softseal.jpg": { + "source": "iana", + }, + "image/vnd.svf": { + "source": "iana", + }, + "image/vnd.tencent.tap": { + "source": "iana", + "extensions": ["tap"], + }, + "image/vnd.valve.source.texture": { + "source": "iana", + "extensions": ["vtf"], + }, + "image/vnd.wap.wbmp": { + "source": "iana", + "extensions": ["wbmp"], + }, + "image/vnd.xiff": { + "source": "iana", + "extensions": ["xif"], + }, + "image/vnd.zbrush.pcx": { + "source": "iana", + "extensions": ["pcx"], + }, + "image/webp": { + "source": "iana", + "extensions": ["webp"], + }, + "image/wmf": { + "source": "iana", + "extensions": ["wmf"], + }, + "image/x-3ds": { + "source": "apache", + "extensions": ["3ds"], + }, + "image/x-cmu-raster": { + "source": "apache", + "extensions": ["ras"], + }, + "image/x-cmx": { + "source": "apache", + "extensions": ["cmx"], + }, + "image/x-freehand": { + "source": "apache", + "extensions": ["fh", "fhc", "fh4", "fh5", "fh7"], + }, + "image/x-icon": { + "source": "apache", + "compressible": true, + "extensions": ["ico"], + }, + "image/x-jng": { + "source": "nginx", + "extensions": ["jng"], + }, + "image/x-mrsid-image": { + "source": "apache", + "extensions": ["sid"], + }, + "image/x-ms-bmp": { + "source": "nginx", + "compressible": true, + "extensions": ["bmp"], + }, + "image/x-pcx": { + "source": "apache", + "extensions": ["pcx"], + }, + "image/x-pict": { + "source": "apache", + "extensions": ["pic", "pct"], + }, + "image/x-portable-anymap": { + "source": "apache", + "extensions": ["pnm"], + }, + "image/x-portable-bitmap": { + "source": "apache", + "extensions": ["pbm"], + }, + "image/x-portable-graymap": { + "source": "apache", + "extensions": ["pgm"], + }, + "image/x-portable-pixmap": { + "source": "apache", + "extensions": ["ppm"], + }, + "image/x-rgb": { + "source": "apache", + "extensions": ["rgb"], + }, + "image/x-tga": { + "source": "apache", + "extensions": ["tga"], + }, + "image/x-xbitmap": { + "source": "apache", + "extensions": ["xbm"], + }, + "image/x-xcf": { + "compressible": false, + }, + "image/x-xpixmap": { + "source": "apache", + "extensions": ["xpm"], + }, + "image/x-xwindowdump": { + "source": "apache", + "extensions": ["xwd"], + }, + "message/bhttp": { + "source": "iana", + }, + "message/cpim": { + "source": "iana", + }, + "message/delivery-status": { + "source": "iana", + }, + "message/disposition-notification": { + "source": "iana", + "extensions": [ + "disposition-notification", + ], + }, + "message/external-body": { + "source": "iana", + }, + "message/feedback-report": { + "source": "iana", + }, + "message/global": { + "source": "iana", + "extensions": ["u8msg"], + }, + "message/global-delivery-status": { + "source": "iana", + "extensions": ["u8dsn"], + }, + "message/global-disposition-notification": { + "source": "iana", + "extensions": ["u8mdn"], + }, + "message/global-headers": { + "source": "iana", + "extensions": ["u8hdr"], + }, + "message/http": { + "source": "iana", + "compressible": false, + }, + "message/imdn+xml": { + "source": "iana", + "compressible": true, + }, + "message/mls": { + "source": "iana", + }, + "message/news": { + "source": "apache", + }, + "message/ohttp-req": { + "source": "iana", + }, + "message/ohttp-res": { + "source": "iana", + }, + "message/partial": { + "source": "iana", + "compressible": false, + }, + "message/rfc822": { + "source": "iana", + "compressible": true, + "extensions": ["eml", "mime"], + }, + "message/s-http": { + "source": "apache", + }, + "message/sip": { + "source": "iana", + }, + "message/sipfrag": { + "source": "iana", + }, + "message/tracking-status": { + "source": "iana", + }, + "message/vnd.si.simp": { + "source": "apache", + }, + "message/vnd.wfa.wsc": { + "source": "iana", + "extensions": ["wsc"], + }, + "model/3mf": { + "source": "iana", + "extensions": ["3mf"], + }, + "model/e57": { + "source": "iana", + }, + "model/gltf+json": { + "source": "iana", + "compressible": true, + "extensions": ["gltf"], + }, + "model/gltf-binary": { + "source": "iana", + "compressible": true, + "extensions": ["glb"], + }, + "model/iges": { + "source": "iana", + "compressible": false, + "extensions": ["igs", "iges"], + }, + "model/jt": { + "source": "iana", + "extensions": ["jt"], + }, + "model/mesh": { + "source": "iana", + "compressible": false, + "extensions": ["msh", "mesh", "silo"], + }, + "model/mtl": { + "source": "iana", + "extensions": ["mtl"], + }, + "model/obj": { + "source": "iana", + "extensions": ["obj"], + }, + "model/prc": { + "source": "iana", + "extensions": ["prc"], + }, + "model/step": { + "source": "iana", + }, + "model/step+xml": { + "source": "iana", + "compressible": true, + "extensions": ["stpx"], + }, + "model/step+zip": { + "source": "iana", + "compressible": false, + "extensions": ["stpz"], + }, + "model/step-xml+zip": { + "source": "iana", + "compressible": false, + "extensions": ["stpxz"], + }, + "model/stl": { + "source": "iana", + "extensions": ["stl"], + }, + "model/u3d": { + "source": "iana", + "extensions": ["u3d"], + }, + "model/vnd.bary": { + "source": "iana", + "extensions": ["bary"], + }, + "model/vnd.cld": { + "source": "iana", + "extensions": ["cld"], + }, + "model/vnd.collada+xml": { + "source": "iana", + "compressible": true, + "extensions": ["dae"], + }, + "model/vnd.dwf": { + "source": "iana", + "extensions": ["dwf"], + }, + "model/vnd.flatland.3dml": { + "source": "iana", + }, + "model/vnd.gdl": { + "source": "iana", + "extensions": ["gdl"], + }, + "model/vnd.gs-gdl": { + "source": "apache", + }, + "model/vnd.gs.gdl": { + "source": "iana", + }, + "model/vnd.gtw": { + "source": "iana", + "extensions": ["gtw"], + }, + "model/vnd.moml+xml": { + "source": "iana", + "compressible": true, + }, + "model/vnd.mts": { + "source": "iana", + "extensions": ["mts"], + }, + "model/vnd.opengex": { + "source": "iana", + "extensions": ["ogex"], + }, + "model/vnd.parasolid.transmit.binary": { + "source": "iana", + "extensions": ["x_b"], + }, + "model/vnd.parasolid.transmit.text": { + "source": "iana", + "extensions": ["x_t"], + }, + "model/vnd.pytha.pyox": { + "source": "iana", + "extensions": ["pyo", "pyox"], + }, + "model/vnd.rosette.annotated-data-model": { + "source": "iana", + }, + "model/vnd.sap.vds": { + "source": "iana", + "extensions": ["vds"], + }, + "model/vnd.usda": { + "source": "iana", + "extensions": ["usda"], + }, + "model/vnd.usdz+zip": { + "source": "iana", + "compressible": false, + "extensions": ["usdz"], + }, + "model/vnd.valve.source.compiled-map": { + "source": "iana", + "extensions": ["bsp"], + }, + "model/vnd.vtu": { + "source": "iana", + "extensions": ["vtu"], + }, + "model/vrml": { + "source": "iana", + "compressible": false, + "extensions": ["wrl", "vrml"], + }, + "model/x3d+binary": { + "source": "apache", + "compressible": false, + "extensions": ["x3db", "x3dbz"], + }, + "model/x3d+fastinfoset": { + "source": "iana", + "extensions": ["x3db"], + }, + "model/x3d+vrml": { + "source": "apache", + "compressible": false, + "extensions": ["x3dv", "x3dvz"], + }, + "model/x3d+xml": { + "source": "iana", + "compressible": true, + "extensions": ["x3d", "x3dz"], + }, + "model/x3d-vrml": { + "source": "iana", + "extensions": ["x3dv"], + }, + "multipart/alternative": { + "source": "iana", + "compressible": false, + }, + "multipart/appledouble": { + "source": "iana", + }, + "multipart/byteranges": { + "source": "iana", + }, + "multipart/digest": { + "source": "iana", + }, + "multipart/encrypted": { + "source": "iana", + "compressible": false, + }, + "multipart/form-data": { + "source": "iana", + "compressible": false, + }, + "multipart/header-set": { + "source": "iana", + }, + "multipart/mixed": { + "source": "iana", + }, + "multipart/multilingual": { + "source": "iana", + }, + "multipart/parallel": { + "source": "iana", + }, + "multipart/related": { + "source": "iana", + "compressible": false, + }, + "multipart/report": { + "source": "iana", + }, + "multipart/signed": { + "source": "iana", + "compressible": false, + }, + "multipart/vnd.bint.med-plus": { + "source": "iana", + }, + "multipart/voice-message": { + "source": "iana", + }, + "multipart/x-mixed-replace": { + "source": "iana", + }, + "text/1d-interleaved-parityfec": { + "source": "iana", + }, + "text/cache-manifest": { + "source": "iana", + "compressible": true, + "extensions": ["appcache", "manifest"], + }, + "text/calendar": { + "source": "iana", + "extensions": ["ics", "ifb"], + }, + "text/calender": { + "compressible": true, + }, + "text/cmd": { + "compressible": true, + }, + "text/coffeescript": { + "extensions": ["coffee", "litcoffee"], + }, + "text/cql": { + "source": "iana", + }, + "text/cql-expression": { + "source": "iana", + }, + "text/cql-identifier": { + "source": "iana", + }, + "text/css": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["css"], + }, + "text/csv": { + "source": "iana", + "compressible": true, + "extensions": ["csv"], + }, + "text/csv-schema": { + "source": "iana", + }, + "text/directory": { + "source": "iana", + }, + "text/dns": { + "source": "iana", + }, + "text/ecmascript": { + "source": "apache", + }, + "text/encaprtp": { + "source": "iana", + }, + "text/enriched": { + "source": "iana", + }, + "text/fhirpath": { + "source": "iana", + }, + "text/flexfec": { + "source": "iana", + }, + "text/fwdred": { + "source": "iana", + }, + "text/gff3": { + "source": "iana", + }, + "text/grammar-ref-list": { + "source": "iana", + }, + "text/hl7v2": { + "source": "iana", + }, + "text/html": { + "source": "iana", + "compressible": true, + "extensions": ["html", "htm", "shtml"], + }, + "text/jade": { + "extensions": ["jade"], + }, + "text/javascript": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["js", "mjs"], + }, + "text/jcr-cnd": { + "source": "iana", + }, + "text/jsx": { + "compressible": true, + "extensions": ["jsx"], + }, + "text/less": { + "compressible": true, + "extensions": ["less"], + }, + "text/markdown": { + "source": "iana", + "compressible": true, + "extensions": ["md", "markdown"], + }, + "text/mathml": { + "source": "nginx", + "extensions": ["mml"], + }, + "text/mdx": { + "compressible": true, + "extensions": ["mdx"], + }, + "text/mizar": { + "source": "iana", + }, + "text/n3": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["n3"], + }, + "text/parameters": { + "source": "iana", + "charset": "UTF-8", + }, + "text/parityfec": { + "source": "iana", + }, + "text/plain": { + "source": "iana", + "compressible": true, + "extensions": ["txt", "text", "conf", "def", "list", "log", "in", "ini"], + }, + "text/provenance-notation": { + "source": "iana", + "charset": "UTF-8", + }, + "text/prs.fallenstein.rst": { + "source": "iana", + }, + "text/prs.lines.tag": { + "source": "iana", + "extensions": ["dsc"], + }, + "text/prs.prop.logic": { + "source": "iana", + }, + "text/prs.texi": { + "source": "iana", + }, + "text/raptorfec": { + "source": "iana", + }, + "text/red": { + "source": "iana", + }, + "text/rfc822-headers": { + "source": "iana", + }, + "text/richtext": { + "source": "iana", + "compressible": true, + "extensions": ["rtx"], + }, + "text/rtf": { + "source": "iana", + "compressible": true, + "extensions": ["rtf"], + }, + "text/rtp-enc-aescm128": { + "source": "iana", + }, + "text/rtploopback": { + "source": "iana", + }, + "text/rtx": { + "source": "iana", + }, + "text/sgml": { + "source": "iana", + "extensions": ["sgml", "sgm"], + }, + "text/shaclc": { + "source": "iana", + }, + "text/shex": { + "source": "iana", + "extensions": ["shex"], + }, + "text/slim": { + "extensions": ["slim", "slm"], + }, + "text/spdx": { + "source": "iana", + "extensions": ["spdx"], + }, + "text/strings": { + "source": "iana", + }, + "text/stylus": { + "extensions": ["stylus", "styl"], + }, + "text/t140": { + "source": "iana", + }, + "text/tab-separated-values": { + "source": "iana", + "compressible": true, + "extensions": ["tsv"], + }, + "text/troff": { + "source": "iana", + "extensions": ["t", "tr", "roff", "man", "me", "ms"], + }, + "text/turtle": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["ttl"], + }, + "text/ulpfec": { + "source": "iana", + }, + "text/uri-list": { + "source": "iana", + "compressible": true, + "extensions": ["uri", "uris", "urls"], + }, + "text/vcard": { + "source": "iana", + "compressible": true, + "extensions": ["vcard"], + }, + "text/vnd.a": { + "source": "iana", + }, + "text/vnd.abc": { + "source": "iana", + }, + "text/vnd.ascii-art": { + "source": "iana", + }, + "text/vnd.curl": { + "source": "iana", + "extensions": ["curl"], + }, + "text/vnd.curl.dcurl": { + "source": "apache", + "extensions": ["dcurl"], + }, + "text/vnd.curl.mcurl": { + "source": "apache", + "extensions": ["mcurl"], + }, + "text/vnd.curl.scurl": { + "source": "apache", + "extensions": ["scurl"], + }, + "text/vnd.debian.copyright": { + "source": "iana", + "charset": "UTF-8", + }, + "text/vnd.dmclientscript": { + "source": "iana", + }, + "text/vnd.dvb.subtitle": { + "source": "iana", + "extensions": ["sub"], + }, + "text/vnd.esmertec.theme-descriptor": { + "source": "iana", + "charset": "UTF-8", + }, + "text/vnd.exchangeable": { + "source": "iana", + }, + "text/vnd.familysearch.gedcom": { + "source": "iana", + "extensions": ["ged"], + }, + "text/vnd.ficlab.flt": { + "source": "iana", + }, + "text/vnd.fly": { + "source": "iana", + "extensions": ["fly"], + }, + "text/vnd.fmi.flexstor": { + "source": "iana", + "extensions": ["flx"], + }, + "text/vnd.gml": { + "source": "iana", + }, + "text/vnd.graphviz": { + "source": "iana", + "extensions": ["gv"], + }, + "text/vnd.hans": { + "source": "iana", + }, + "text/vnd.hgl": { + "source": "iana", + }, + "text/vnd.in3d.3dml": { + "source": "iana", + "extensions": ["3dml"], + }, + "text/vnd.in3d.spot": { + "source": "iana", + "extensions": ["spot"], + }, + "text/vnd.iptc.newsml": { + "source": "iana", + }, + "text/vnd.iptc.nitf": { + "source": "iana", + }, + "text/vnd.latex-z": { + "source": "iana", + }, + "text/vnd.motorola.reflex": { + "source": "iana", + }, + "text/vnd.ms-mediapackage": { + "source": "iana", + }, + "text/vnd.net2phone.commcenter.command": { + "source": "iana", + }, + "text/vnd.radisys.msml-basic-layout": { + "source": "iana", + }, + "text/vnd.senx.warpscript": { + "source": "iana", + }, + "text/vnd.si.uricatalogue": { + "source": "apache", + }, + "text/vnd.sosi": { + "source": "iana", + }, + "text/vnd.sun.j2me.app-descriptor": { + "source": "iana", + "charset": "UTF-8", + "extensions": ["jad"], + }, + "text/vnd.trolltech.linguist": { + "source": "iana", + "charset": "UTF-8", + }, + "text/vnd.vcf": { + "source": "iana", + }, + "text/vnd.wap.si": { + "source": "iana", + }, + "text/vnd.wap.sl": { + "source": "iana", + }, + "text/vnd.wap.wml": { + "source": "iana", + "extensions": ["wml"], + }, + "text/vnd.wap.wmlscript": { + "source": "iana", + "extensions": ["wmls"], + }, + "text/vnd.zoo.kcl": { + "source": "iana", + }, + "text/vtt": { + "source": "iana", + "charset": "UTF-8", + "compressible": true, + "extensions": ["vtt"], + }, + "text/wgsl": { + "source": "iana", + "extensions": ["wgsl"], + }, + "text/x-asm": { + "source": "apache", + "extensions": ["s", "asm"], + }, + "text/x-c": { + "source": "apache", + "extensions": ["c", "cc", "cxx", "cpp", "h", "hh", "dic"], + }, + "text/x-component": { + "source": "nginx", + "extensions": ["htc"], + }, + "text/x-fortran": { + "source": "apache", + "extensions": ["f", "for", "f77", "f90"], + }, + "text/x-gwt-rpc": { + "compressible": true, + }, + "text/x-handlebars-template": { + "extensions": ["hbs"], + }, + "text/x-java-source": { + "source": "apache", + "extensions": ["java"], + }, + "text/x-jquery-tmpl": { + "compressible": true, + }, + "text/x-lua": { + "extensions": ["lua"], + }, + "text/x-markdown": { + "compressible": true, + "extensions": ["mkd"], + }, + "text/x-nfo": { + "source": "apache", + "extensions": ["nfo"], + }, + "text/x-opml": { + "source": "apache", + "extensions": ["opml"], + }, + "text/x-org": { + "compressible": true, + "extensions": ["org"], + }, + "text/x-pascal": { + "source": "apache", + "extensions": ["p", "pas"], + }, + "text/x-processing": { + "compressible": true, + "extensions": ["pde"], + }, + "text/x-sass": { + "extensions": ["sass"], + }, + "text/x-scss": { + "extensions": ["scss"], + }, + "text/x-setext": { + "source": "apache", + "extensions": ["etx"], + }, + "text/x-sfv": { + "source": "apache", + "extensions": ["sfv"], + }, + "text/x-suse-ymp": { + "compressible": true, + "extensions": ["ymp"], + }, + "text/x-uuencode": { + "source": "apache", + "extensions": ["uu"], + }, + "text/x-vcalendar": { + "source": "apache", + "extensions": ["vcs"], + }, + "text/x-vcard": { + "source": "apache", + "extensions": ["vcf"], + }, + "text/xml": { + "source": "iana", + "compressible": true, + "extensions": ["xml"], + }, + "text/xml-external-parsed-entity": { + "source": "iana", + }, + "text/yaml": { + "compressible": true, + "extensions": ["yaml", "yml"], + }, + "video/1d-interleaved-parityfec": { + "source": "iana", + }, + "video/3gpp": { + "source": "iana", + "extensions": ["3gp", "3gpp"], + }, + "video/3gpp-tt": { + "source": "iana", + }, + "video/3gpp2": { + "source": "iana", + "extensions": ["3g2"], + }, + "video/av1": { + "source": "iana", + }, + "video/bmpeg": { + "source": "iana", + }, + "video/bt656": { + "source": "iana", + }, + "video/celb": { + "source": "iana", + }, + "video/dv": { + "source": "iana", + }, + "video/encaprtp": { + "source": "iana", + }, + "video/evc": { + "source": "iana", + }, + "video/ffv1": { + "source": "iana", + }, + "video/flexfec": { + "source": "iana", + }, + "video/h261": { + "source": "iana", + "extensions": ["h261"], + }, + "video/h263": { + "source": "iana", + "extensions": ["h263"], + }, + "video/h263-1998": { + "source": "iana", + }, + "video/h263-2000": { + "source": "iana", + }, + "video/h264": { + "source": "iana", + "extensions": ["h264"], + }, + "video/h264-rcdo": { + "source": "iana", + }, + "video/h264-svc": { + "source": "iana", + }, + "video/h265": { + "source": "iana", + }, + "video/h266": { + "source": "iana", + }, + "video/iso.segment": { + "source": "iana", + "extensions": ["m4s"], + }, + "video/jpeg": { + "source": "iana", + "extensions": ["jpgv"], + }, + "video/jpeg2000": { + "source": "iana", + }, + "video/jpm": { + "source": "apache", + "extensions": ["jpm", "jpgm"], + }, + "video/jxsv": { + "source": "iana", + }, + "video/matroska": { + "source": "iana", + }, + "video/matroska-3d": { + "source": "iana", + }, + "video/mj2": { + "source": "iana", + "extensions": ["mj2", "mjp2"], + }, + "video/mp1s": { + "source": "iana", + }, + "video/mp2p": { + "source": "iana", + }, + "video/mp2t": { + "source": "iana", + "extensions": ["ts", "m2t", "m2ts", "mts"], + }, + "video/mp4": { + "source": "iana", + "compressible": false, + "extensions": ["mp4", "mp4v", "mpg4"], + }, + "video/mp4v-es": { + "source": "iana", + }, + "video/mpeg": { + "source": "iana", + "compressible": false, + "extensions": ["mpeg", "mpg", "mpe", "m1v", "m2v"], + }, + "video/mpeg4-generic": { + "source": "iana", + }, + "video/mpv": { + "source": "iana", + }, + "video/nv": { + "source": "iana", + }, + "video/ogg": { + "source": "iana", + "compressible": false, + "extensions": ["ogv"], + }, + "video/parityfec": { + "source": "iana", + }, + "video/pointer": { + "source": "iana", + }, + "video/quicktime": { + "source": "iana", + "compressible": false, + "extensions": ["qt", "mov"], + }, + "video/raptorfec": { + "source": "iana", + }, + "video/raw": { + "source": "iana", + }, + "video/rtp-enc-aescm128": { + "source": "iana", + }, + "video/rtploopback": { + "source": "iana", + }, + "video/rtx": { + "source": "iana", + }, + "video/scip": { + "source": "iana", + }, + "video/smpte291": { + "source": "iana", + }, + "video/smpte292m": { + "source": "iana", + }, + "video/ulpfec": { + "source": "iana", + }, + "video/vc1": { + "source": "iana", + }, + "video/vc2": { + "source": "iana", + }, + "video/vnd.cctv": { + "source": "iana", + }, + "video/vnd.dece.hd": { + "source": "iana", + "extensions": ["uvh", "uvvh"], + }, + "video/vnd.dece.mobile": { + "source": "iana", + "extensions": ["uvm", "uvvm"], + }, + "video/vnd.dece.mp4": { + "source": "iana", + }, + "video/vnd.dece.pd": { + "source": "iana", + "extensions": ["uvp", "uvvp"], + }, + "video/vnd.dece.sd": { + "source": "iana", + "extensions": ["uvs", "uvvs"], + }, + "video/vnd.dece.video": { + "source": "iana", + "extensions": ["uvv", "uvvv"], + }, + "video/vnd.directv.mpeg": { + "source": "iana", + }, + "video/vnd.directv.mpeg-tts": { + "source": "iana", + }, + "video/vnd.dlna.mpeg-tts": { + "source": "iana", + }, + "video/vnd.dvb.file": { + "source": "iana", + "extensions": ["dvb"], + }, + "video/vnd.fvt": { + "source": "iana", + "extensions": ["fvt"], + }, + "video/vnd.hns.video": { + "source": "iana", + }, + "video/vnd.iptvforum.1dparityfec-1010": { + "source": "iana", + }, + "video/vnd.iptvforum.1dparityfec-2005": { + "source": "iana", + }, + "video/vnd.iptvforum.2dparityfec-1010": { + "source": "iana", + }, + "video/vnd.iptvforum.2dparityfec-2005": { + "source": "iana", + }, + "video/vnd.iptvforum.ttsavc": { + "source": "iana", + }, + "video/vnd.iptvforum.ttsmpeg2": { + "source": "iana", + }, + "video/vnd.motorola.video": { + "source": "iana", + }, + "video/vnd.motorola.videop": { + "source": "iana", + }, + "video/vnd.mpegurl": { + "source": "iana", + "extensions": ["mxu", "m4u"], + }, + "video/vnd.ms-playready.media.pyv": { + "source": "iana", + "extensions": ["pyv"], + }, + "video/vnd.nokia.interleaved-multimedia": { + "source": "iana", + }, + "video/vnd.nokia.mp4vr": { + "source": "iana", + }, + "video/vnd.nokia.videovoip": { + "source": "iana", + }, + "video/vnd.objectvideo": { + "source": "iana", + }, + "video/vnd.radgamettools.bink": { + "source": "iana", + }, + "video/vnd.radgamettools.smacker": { + "source": "apache", + }, + "video/vnd.sealed.mpeg1": { + "source": "iana", + }, + "video/vnd.sealed.mpeg4": { + "source": "iana", + }, + "video/vnd.sealed.swf": { + "source": "iana", + }, + "video/vnd.sealedmedia.softseal.mov": { + "source": "iana", + }, + "video/vnd.uvvu.mp4": { + "source": "iana", + "extensions": ["uvu", "uvvu"], + }, + "video/vnd.vivo": { + "source": "iana", + "extensions": ["viv"], + }, + "video/vnd.youtube.yt": { + "source": "iana", + }, + "video/vp8": { + "source": "iana", + }, + "video/vp9": { + "source": "iana", + }, + "video/webm": { + "source": "apache", + "compressible": false, + "extensions": ["webm"], + }, + "video/x-f4v": { + "source": "apache", + "extensions": ["f4v"], + }, + "video/x-fli": { + "source": "apache", + "extensions": ["fli"], + }, + "video/x-flv": { + "source": "apache", + "compressible": false, + "extensions": ["flv"], + }, + "video/x-m4v": { + "source": "apache", + "extensions": ["m4v"], + }, + "video/x-matroska": { + "source": "apache", + "compressible": false, + "extensions": ["mkv", "mk3d", "mks"], + }, + "video/x-mng": { + "source": "apache", + "extensions": ["mng"], + }, + "video/x-ms-asf": { + "source": "apache", + "extensions": ["asf", "asx"], + }, + "video/x-ms-vob": { + "source": "apache", + "extensions": ["vob"], + }, + "video/x-ms-wm": { + "source": "apache", + "extensions": ["wm"], + }, + "video/x-ms-wmv": { + "source": "apache", + "compressible": false, + "extensions": ["wmv"], + }, + "video/x-ms-wmx": { + "source": "apache", + "extensions": ["wmx"], + }, + "video/x-ms-wvx": { + "source": "apache", + "extensions": ["wvx"], + }, + "video/x-msvideo": { + "source": "apache", + "extensions": ["avi"], + }, + "video/x-sgi-movie": { + "source": "apache", + "extensions": ["movie"], + }, + "video/x-smv": { + "source": "apache", + "extensions": ["smv"], + }, + "x-conference/x-cooltalk": { + "source": "apache", + "extensions": ["ice"], + }, + "x-shader/x-fragment": { + "compressible": true, + }, + "x-shader/x-vertex": { + "compressible": true, + }, +} as const; diff --git a/vendor/jsr.io/@std/media-types/1.1.0_meta.json b/vendor/jsr.io/@std/media-types/1.1.0_meta.json new file mode 100644 index 0000000..82a5d64 --- /dev/null +++ b/vendor/jsr.io/@std/media-types/1.1.0_meta.json @@ -0,0 +1,487 @@ +{ + "manifest": { + "/get_charset_test.ts": { + "size": 652, + "checksum": "sha256-67c0a8e357a5dc46c433e83c3f0e49c7cc9f8cc30e9c47e5a166741e4b0cbf0a" + }, + "/parse_media_type.ts": { + "size": 3730, + "checksum": "sha256-8eb4d92448cb8a92f8f1f22134e01134a7b5ab880bfff8b7c24b0ba3355b4f81" + }, + "/get_charset.ts": { + "size": 1483, + "checksum": "sha256-d89b11c1a7691286af23bf075a2a7a2e2bb35b6b6776a06c4f02a3343012a759" + }, + "/type_by_extension_test.ts": { + "size": 689, + "checksum": "sha256-7a984c9c59c2feef8350f7bddf0f00208629d7e494a9905e3da340de6769dc05" + }, + "/all_extensions.ts": { + "size": 1158, + "checksum": "sha256-6880b9223bde15fa7e1a7d482fa897d3a747cadd398e0b5c079e40fbb8d03cf8" + }, + "/format_media_type_test.ts": { + "size": 2239, + "checksum": "sha256-91842d7e05bbe0263b758868dc3c3b70dc49f92059f66fa5b3ea0bd6adb7e050" + }, + "/type_by_extension.ts": { + "size": 1182, + "checksum": "sha256-8239d5aff59f62e137c092d65bf2c4606abd5c38c8b916951ac74b2a0aa56e70" + }, + "/_db.ts": { + "size": 1375, + "checksum": "sha256-16a6a8786e8c9c2f92ebf0adb062dac801b8a1569fec95c1783032b43750a0a4" + }, + "/format_media_type.ts": { + "size": 2511, + "checksum": "sha256-ff23a1ca7664e8ab3a727920bcc0cee866903f34f4607623e292e9d33adc3fc3" + }, + "/vendor/LICENSE": { + "size": 1172, + "checksum": "sha256-cc1dfd4dafa27271e8212cd3b274eeb3f262e40a6fdab36ddc3f9696f706f58b" + }, + "/deno.json": { + "size": 420, + "checksum": "sha256-8d1f63f2b1324afac84d180ef261dc72c785c50fe539cb8be2ed5709292f5c2e" + }, + "/vendor/db.ts": { + "size": 201923, + "checksum": "sha256-97c9133bcf43ee77b24748e0d96dfb00308d69c0ea3b5c1ec8d43f142ef723ea" + }, + "/parse_media_type_test.ts": { + "size": 4058, + "checksum": "sha256-9da296c85f2eeae7c6616ea7298b64e3bb945d4991a1c562da3c682a91caabdf" + }, + "/content_type.ts": { + "size": 3163, + "checksum": "sha256-5ee0c0aba500119c72af6afa8b59b233750f135451eddea54cfcf6ffb1025000" + }, + "/all_extensions_test.ts": { + "size": 675, + "checksum": "sha256-b7b3d0d7955cf60f6cf9ea760acb87def6d59516293398e1ee23c5ec22a152f9" + }, + "/mod.ts": { + "size": 1231, + "checksum": "sha256-213a38157599d1aa28ead55db311a1546879791fd1c0b943e06a43914508d9d6" + }, + "/vendor/update.ts": { + "size": 515, + "checksum": "sha256-5cbb954fcc88b25f0eb86957b775551ce224e7ffbb7b2135a31ee91a5033bc84" + }, + "/extension_test.ts": { + "size": 541, + "checksum": "sha256-7c4eab9351964ac599243ba4f72f4cd76986a4d1e7de19143ad8b3dfa8e82c48" + }, + "/_util.ts": { + "size": 3253, + "checksum": "sha256-a351cc583523d47d42e65073d67c7a80575d1d1aaf8e72e6dfa5dbd986bbdb52" + }, + "/content_type_test.ts": { + "size": 1543, + "checksum": "sha256-c31e9a00d82398393359c22ac285f4cbad1ad97fc37c42b6baf1799fa7bdb9d1" + }, + "/_util_test.ts": { + "size": 4183, + "checksum": "sha256-95b7e7ace3e13e08eab2efd54f903f363a2ff3a4760e35236afebb9ef512ac35" + }, + "/extension.ts": { + "size": 972, + "checksum": "sha256-b10bac0d01f70e2f8f8a43808c411ccc5182c60813fbe9eb85d6a4e0f9932a9c" + } + }, + "moduleGraph2": { + "/vendor/db.ts": {}, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./content_type.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 33 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./extension.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./all_extensions.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./format_media_type.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 38 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./get_charset.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./parse_media_type.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 37 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./type_by_extension.ts", + "specifierRange": [ + [ + 35, + 14 + ], + [ + 35, + 38 + ] + ] + } + ] + }, + "/extension.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./all_extensions.ts", + "specifierRange": [ + [ + 3, + 30 + ], + [ + 3, + 51 + ] + ] + } + ] + }, + "/content_type.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./parse_media_type.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./get_charset.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 45 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./format_media_type.ts", + "specifierRange": [ + [ + 5, + 32 + ], + [ + 5, + 56 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./_db.ts", + "specifierRange": [ + [ + 6, + 24 + ], + [ + 6, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./type_by_extension.ts", + "specifierRange": [ + [ + 7, + 32 + ], + [ + 7, + 56 + ] + ] + } + ] + }, + "/all_extensions.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./parse_media_type.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_db.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 37 + ] + ] + } + ] + }, + "/format_media_type.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 3, + 51 + ], + [ + 3, + 63 + ] + ] + } + ] + }, + "/parse_media_type.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 3, + 54 + ], + [ + 3, + 66 + ] + ] + } + ] + }, + "/_db.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./vendor/db.ts", + "specifierRange": [ + [ + 1, + 15 + ], + [ + 1, + 31 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 2, + 29 + ], + [ + 2, + 41 + ] + ] + } + ] + }, + "/_util.ts": {}, + "/type_by_extension.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_db.ts", + "specifierRange": [ + [ + 3, + 22 + ], + [ + 3, + 32 + ] + ] + } + ] + }, + "/get_charset.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./parse_media_type.ts", + "specifierRange": [ + [ + 3, + 31 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 4, + 29 + ], + [ + 4, + 41 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_db.ts", + "specifierRange": [ + [ + 5, + 33 + ], + [ + 5, + 43 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./content-type": "./content_type.ts", + "./extension": "./extension.ts", + "./all-extensions": "./all_extensions.ts", + "./format-media-type": "./format_media_type.ts", + "./get-charset": "./get_charset.ts", + "./parse-media-type": "./parse_media_type.ts", + "./type-by-extension": "./type_by_extension.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/media-types/meta.json b/vendor/jsr.io/@std/media-types/meta.json new file mode 100644 index 0000000..ea519a9 --- /dev/null +++ b/vendor/jsr.io/@std/media-types/meta.json @@ -0,0 +1,48 @@ +{ + "scope": "std", + "name": "media-types", + "latest": "1.1.0", + "versions": { + "0.224.0": {}, + "1.0.0": {}, + "0.218.2": {}, + "0.218.1": {}, + "0.214.0": {}, + "1.1.0": {}, + "0.208.0": {}, + "0.211.0": {}, + "0.198.0": {}, + "0.220.1": {}, + "0.203.0": {}, + "0.216.0": {}, + "0.222.0": {}, + "0.224.1": {}, + "0.205.0": {}, + "1.0.2": {}, + "0.212.0": {}, + "0.221.0": {}, + "0.217.0": {}, + "1.0.1": {}, + "0.213.1": {}, + "0.207.0": {}, + "0.210.0": {}, + "0.209.0": {}, + "1.0.3": {}, + "0.206.0": {}, + "1.0.0-rc.1": {}, + "0.218.0": {}, + "0.200.0": {}, + "0.199.0": {}, + "0.223.0": {}, + "0.219.0": {}, + "0.213.0": {}, + "0.219.1": {}, + "0.197.0": {}, + "0.202.0": {}, + "0.196.0": {}, + "0.215.0": {}, + "0.222.1": {}, + "0.201.0": {}, + "0.204.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/net/1.0.4/#unstable_get_network_b61b7.ts b/vendor/jsr.io/@std/net/1.0.4/#unstable_get_network_b61b7.ts new file mode 100644 index 0000000..07c7253 --- /dev/null +++ b/vendor/jsr.io/@std/net/1.0.4/#unstable_get_network_b61b7.ts @@ -0,0 +1,50 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +/** + * Gets the IPv4 or IPv6 network address of the machine. + * + * @experimental **UNSTABLE**: New API, yet to be vetted. + + * + * This is inspired by the util of the same name in + * {@linkcode https://www.npmjs.com/package/serve | npm:serve}. + * + * For more advanced use, use {@linkcode Deno.networkInterfaces} directly. + * + * @see {@link https://github.com/vercel/serve/blob/1ea55b1b5004f468159b54775e4fb3090fedbb2b/source/utilities/http.ts#L33} + * + * @param family The IP protocol version of the interface to get the address of. + * @returns The IPv4 network address of the machine or `undefined` if not found. + * + * @example Get the IPv4 network address (default) + * ```ts no-assert no-eval + * import { getNetworkAddress } from "@std/net/unstable-get-network-address"; + * + * const hostname = getNetworkAddress()!; + * + * Deno.serve({ port: 0, hostname }, () => new Response("Hello, world!")); + * ``` + * + * @example Get the IPv6 network address + * ```ts no-assert no-eval + * import { getNetworkAddress } from "@std/net/unstable-get-network-address"; + * + * const hostname = getNetworkAddress("IPv6")!; + * + * Deno.serve({ port: 0, hostname }, () => new Response("Hello, world!")); + * ``` + */ +export function getNetworkAddress( + family: Deno.NetworkInterfaceInfo["family"] = "IPv4", +): string | undefined { + return Deno.networkInterfaces() + .find((i) => + i.family === family && + i.mac !== "00:00:00:00:00:00" && + (family === "IPv4" + // Cannot lie within 127.0.0.0/8 + ? !i.address.startsWith("127") + // Cannot be loopback or link-local addresses + : !(i.address === "::1" || i.address === "fe80::1") && i.scopeid === 0) + ) + ?.address; +} diff --git a/vendor/jsr.io/@std/net/1.0.4_meta.json b/vendor/jsr.io/@std/net/1.0.4_meta.json new file mode 100644 index 0000000..4f7af49 --- /dev/null +++ b/vendor/jsr.io/@std/net/1.0.4_meta.json @@ -0,0 +1,61 @@ +{ + "manifest": { + "/get_available_port_test.ts": { + "size": 1786, + "checksum": "sha256-c09714d6f2baf1bd38c6fc2fe44c7911f9ce8bbe6d5d185c5f4483359d899f24" + }, + "/deno.json": { + "size": 283, + "checksum": "sha256-fa448539a92867ec7a612dbc9c1ba52eec8c08f5cd5a224cb2c86418a3c1f4d8" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/unstable_get_network_address_test.ts": { + "size": 2924, + "checksum": "sha256-5b2859a9fb8e1a70743f7a5bda49d7ba3972d7a9a99f5a2d4448f7e64b882581" + }, + "/mod.ts": { + "size": 389, + "checksum": "sha256-fbfd397d50e88c5e38df771e39e36f08c01b2acafb2ba099e1cebc4443e313de" + }, + "/get_available_port.ts": { + "size": 2127, + "checksum": "sha256-c2fbeb529c6e80e7be7cca6d8298183f40b5c01b194b1ab1b84b6ce1cc3dc817" + }, + "/unstable_get_network_address.ts": { + "size": 1760, + "checksum": "sha256-edea745f0c16596abd83a643537102185c9d396b327729241bf93c51da09870d" + } + }, + "moduleGraph2": { + "/unstable_get_network_address.ts": {}, + "/get_available_port.ts": {}, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./get_available_port.ts", + "specifierRange": [ + [ + 18, + 14 + ], + [ + 18, + 39 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./get-available-port": "./get_available_port.ts", + "./get-network-address": "./unstable_get_network_address.ts", + "./unstable-get-network-address": "./unstable_get_network_address.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/net/meta.json b/vendor/jsr.io/@std/net/meta.json new file mode 100644 index 0000000..2630a79 --- /dev/null +++ b/vendor/jsr.io/@std/net/meta.json @@ -0,0 +1,40 @@ +{ + "scope": "std", + "name": "net", + "latest": "1.0.4", + "versions": { + "0.215.0": {}, + "1.0.2": {}, + "0.223.0": {}, + "1.0.3": {}, + "1.0.1": {}, + "0.211.0": {}, + "0.224.3": {}, + "0.218.1": {}, + "0.224.5": {}, + "0.224.1": {}, + "0.222.0": {}, + "0.224.4": {}, + "0.224.2": {}, + "0.210.0": {}, + "1.0.0-rc.2": {}, + "0.216.0": {}, + "0.221.0": {}, + "0.214.0": {}, + "1.0.4": {}, + "0.224.0": {}, + "0.219.1": {}, + "0.209.0": {}, + "0.219.0": {}, + "1.0.0-rc.1": {}, + "0.220.1": {}, + "0.218.2": {}, + "0.218.0": {}, + "1.0.0": {}, + "0.222.1": {}, + "0.213.0": {}, + "0.213.1": {}, + "0.217.0": {}, + "0.212.0": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/assert_path.ts b/vendor/jsr.io/@std/path/0.217.0/_common/assert_path.ts new file mode 100644 index 0000000..7033edc --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/assert_path.ts @@ -0,0 +1,10 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. + +export function assertPath(path?: string) { + if (typeof path !== "string") { + throw new TypeError( + `Path must be a string. Received ${JSON.stringify(path)}`, + ); + } +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/basename.ts b/vendor/jsr.io/@std/path/0.217.0/_common/basename.ts new file mode 100644 index 0000000..64ca2f4 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/basename.ts @@ -0,0 +1,53 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function stripSuffix(name: string, suffix: string): string { + if (suffix.length >= name.length) { + return name; + } + + const lenDiff = name.length - suffix.length; + + for (let i = suffix.length - 1; i >= 0; --i) { + if (name.charCodeAt(lenDiff + i) !== suffix.charCodeAt(i)) { + return name; + } + } + + return name.slice(0, -suffix.length); +} + +export function lastPathSegment( + path: string, + isSep: (char: number) => boolean, + start = 0, +): string { + let matchedNonSeparator = false; + let end = path.length; + + for (let i = path.length - 1; i >= start; --i) { + if (isSep(path.charCodeAt(i))) { + if (matchedNonSeparator) { + start = i + 1; + break; + } + } else if (!matchedNonSeparator) { + matchedNonSeparator = true; + end = i + 1; + } + } + + return path.slice(start, end); +} + +export function assertArgs(path: string, suffix: string) { + assertPath(path); + if (path.length === 0) return path; + if (typeof suffix !== "string") { + throw new TypeError( + `Suffix must be a string. Received ${JSON.stringify(suffix)}`, + ); + } +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/common.ts b/vendor/jsr.io/@std/path/0.217.0/_common/common.ts new file mode 100644 index 0000000..f7336f1 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/common.ts @@ -0,0 +1,26 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export function _common(paths: string[], sep: string): string { + const [first = "", ...remaining] = paths; + if (first === "" || remaining.length === 0) { + return first.substring(0, first.lastIndexOf(sep) + 1); + } + const parts = first.split(sep); + + let endOfPrefix = parts.length; + for (const path of remaining) { + const compare = path.split(sep); + for (let i = 0; i < endOfPrefix; i++) { + if (compare[i] !== parts[i]) { + endOfPrefix = i; + } + } + + if (endOfPrefix === 0) { + return ""; + } + } + const prefix = parts.slice(0, endOfPrefix).join(sep); + return prefix.endsWith(sep) ? prefix : `${prefix}${sep}`; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/constants.ts b/vendor/jsr.io/@std/path/0.217.0/_common/constants.ts new file mode 100644 index 0000000..9bfd411 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/constants.ts @@ -0,0 +1,49 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +// Alphabet chars. +export const CHAR_UPPERCASE_A = 65; /* A */ +export const CHAR_LOWERCASE_A = 97; /* a */ +export const CHAR_UPPERCASE_Z = 90; /* Z */ +export const CHAR_LOWERCASE_Z = 122; /* z */ + +// Non-alphabetic chars. +export const CHAR_DOT = 46; /* . */ +export const CHAR_FORWARD_SLASH = 47; /* / */ +export const CHAR_BACKWARD_SLASH = 92; /* \ */ +export const CHAR_VERTICAL_LINE = 124; /* | */ +export const CHAR_COLON = 58; /* : */ +export const CHAR_QUESTION_MARK = 63; /* ? */ +export const CHAR_UNDERSCORE = 95; /* _ */ +export const CHAR_LINE_FEED = 10; /* \n */ +export const CHAR_CARRIAGE_RETURN = 13; /* \r */ +export const CHAR_TAB = 9; /* \t */ +export const CHAR_FORM_FEED = 12; /* \f */ +export const CHAR_EXCLAMATION_MARK = 33; /* ! */ +export const CHAR_HASH = 35; /* # */ +export const CHAR_SPACE = 32; /* */ +export const CHAR_NO_BREAK_SPACE = 160; /* \u00A0 */ +export const CHAR_ZERO_WIDTH_NOBREAK_SPACE = 65279; /* \uFEFF */ +export const CHAR_LEFT_SQUARE_BRACKET = 91; /* [ */ +export const CHAR_RIGHT_SQUARE_BRACKET = 93; /* ] */ +export const CHAR_LEFT_ANGLE_BRACKET = 60; /* < */ +export const CHAR_RIGHT_ANGLE_BRACKET = 62; /* > */ +export const CHAR_LEFT_CURLY_BRACKET = 123; /* { */ +export const CHAR_RIGHT_CURLY_BRACKET = 125; /* } */ +export const CHAR_HYPHEN_MINUS = 45; /* - */ +export const CHAR_PLUS = 43; /* + */ +export const CHAR_DOUBLE_QUOTE = 34; /* " */ +export const CHAR_SINGLE_QUOTE = 39; /* ' */ +export const CHAR_PERCENT = 37; /* % */ +export const CHAR_SEMICOLON = 59; /* ; */ +export const CHAR_CIRCUMFLEX_ACCENT = 94; /* ^ */ +export const CHAR_GRAVE_ACCENT = 96; /* ` */ +export const CHAR_AT = 64; /* @ */ +export const CHAR_AMPERSAND = 38; /* & */ +export const CHAR_EQUAL = 61; /* = */ + +// Digits +export const CHAR_0 = 48; /* 0 */ +export const CHAR_9 = 57; /* 9 */ diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/dirname.ts b/vendor/jsr.io/@std/path/0.217.0/_common/dirname.ts new file mode 100644 index 0000000..3a1a162 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/dirname.ts @@ -0,0 +1,9 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function assertArg(path: string) { + assertPath(path); + if (path.length === 0) return "."; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/format.ts b/vendor/jsr.io/@std/path/0.217.0/_common/format.ts new file mode 100644 index 0000000..236a760 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/format.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { FormatInputPathObject } from "./../_interface.ts"; + +export function _format( + sep: string, + pathObject: FormatInputPathObject, +): string { + const dir: string | undefined = pathObject.dir || pathObject.root; + const base: string = pathObject.base || + (pathObject.name || "") + (pathObject.ext || ""); + if (!dir) return base; + if (base === sep) return dir; + if (dir === pathObject.root) return dir + base; + return dir + sep + base; +} + +export function assertArg(pathObject: FormatInputPathObject) { + if (pathObject === null || typeof pathObject !== "object") { + throw new TypeError( + `The "pathObject" argument must be of type Object. Received type ${typeof pathObject}`, + ); + } +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/from_file_url.ts b/vendor/jsr.io/@std/path/0.217.0/_common/from_file_url.ts new file mode 100644 index 0000000..22f2f3b --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/from_file_url.ts @@ -0,0 +1,10 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export function assertArg(url: URL | string) { + url = url instanceof URL ? url : new URL(url); + if (url.protocol !== "file:") { + throw new TypeError("Must be a file URL."); + } + return url; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/glob_to_reg_exp.ts b/vendor/jsr.io/@std/path/0.217.0/_common/glob_to_reg_exp.ts new file mode 100644 index 0000000..26e8c82 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/glob_to_reg_exp.ts @@ -0,0 +1,283 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** Options for {@linkcode globToRegExp}. */ +export interface GlobOptions { + /** Extended glob syntax. + * See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * @default {true} + */ + extended?: boolean; + /** Globstar syntax. + * See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * If false, `**` is treated like `*`. + * + * @default {true} + */ + globstar?: boolean; + /** Whether globstar should be case-insensitive. */ + caseInsensitive?: boolean; +} + +export type GlobToRegExpOptions = GlobOptions; + +const regExpEscapeChars = [ + "!", + "$", + "(", + ")", + "*", + "+", + ".", + "=", + "?", + "[", + "\\", + "^", + "{", + "|", +]; +const rangeEscapeChars = ["-", "\\", "]"]; + +export interface GlobConstants { + sep: string; + sepMaybe: string; + seps: string[]; + globstar: string; + wildcard: string; + escapePrefix: string; +} + +export function _globToRegExp( + c: GlobConstants, + glob: string, + { + extended = true, + globstar: globstarOption = true, + // os = osType, + caseInsensitive = false, + }: GlobToRegExpOptions = {}, +): RegExp { + if (glob === "") { + return /(?!)/; + } + + // Remove trailing separators. + let newLength = glob.length; + for (; newLength > 1 && c.seps.includes(glob[newLength - 1]!); newLength--); + glob = glob.slice(0, newLength); + + let regExpString = ""; + + // Terminates correctly. Trust that `j` is incremented every iteration. + for (let j = 0; j < glob.length;) { + let segment = ""; + const groupStack: string[] = []; + let inRange = false; + let inEscape = false; + let endsWithSep = false; + let i = j; + + // Terminates with `i` at the non-inclusive end of the current segment. + for (; i < glob.length && !c.seps.includes(glob[i]!); i++) { + if (inEscape) { + inEscape = false; + const escapeChars = inRange ? rangeEscapeChars : regExpEscapeChars; + segment += escapeChars.includes(glob[i]!) ? `\\${glob[i]}` : glob[i]; + continue; + } + + if (glob[i] === c.escapePrefix) { + inEscape = true; + continue; + } + + if (glob[i] === "[") { + if (!inRange) { + inRange = true; + segment += "["; + if (glob[i + 1] === "!") { + i++; + segment += "^"; + } else if (glob[i + 1] === "^") { + i++; + segment += "\\^"; + } + continue; + } else if (glob[i + 1] === ":") { + let k = i + 1; + let value = ""; + while (glob[k + 1] !== undefined && glob[k + 1] !== ":") { + value += glob[k + 1]; + k++; + } + if (glob[k + 1] === ":" && glob[k + 2] === "]") { + i = k + 2; + if (value === "alnum") segment += "\\dA-Za-z"; + else if (value === "alpha") segment += "A-Za-z"; + else if (value === "ascii") segment += "\x00-\x7F"; + else if (value === "blank") segment += "\t "; + else if (value === "cntrl") segment += "\x00-\x1F\x7F"; + else if (value === "digit") segment += "\\d"; + else if (value === "graph") segment += "\x21-\x7E"; + else if (value === "lower") segment += "a-z"; + else if (value === "print") segment += "\x20-\x7E"; + else if (value === "punct") { + segment += "!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^_‘{|}~"; + } else if (value === "space") segment += "\\s\v"; + else if (value === "upper") segment += "A-Z"; + else if (value === "word") segment += "\\w"; + else if (value === "xdigit") segment += "\\dA-Fa-f"; + continue; + } + } + } + + if (glob[i] === "]" && inRange) { + inRange = false; + segment += "]"; + continue; + } + + if (inRange) { + if (glob[i] === "\\") { + segment += `\\\\`; + } else { + segment += glob[i]; + } + continue; + } + + if ( + glob[i] === ")" && groupStack.length > 0 && + groupStack[groupStack.length - 1] !== "BRACE" + ) { + segment += ")"; + const type = groupStack.pop()!; + if (type === "!") { + segment += c.wildcard; + } else if (type !== "@") { + segment += type; + } + continue; + } + + if ( + glob[i] === "|" && groupStack.length > 0 && + groupStack[groupStack.length - 1] !== "BRACE" + ) { + segment += "|"; + continue; + } + + if (glob[i] === "+" && extended && glob[i + 1] === "(") { + i++; + groupStack.push("+"); + segment += "(?:"; + continue; + } + + if (glob[i] === "@" && extended && glob[i + 1] === "(") { + i++; + groupStack.push("@"); + segment += "(?:"; + continue; + } + + if (glob[i] === "?") { + if (extended && glob[i + 1] === "(") { + i++; + groupStack.push("?"); + segment += "(?:"; + } else { + segment += "."; + } + continue; + } + + if (glob[i] === "!" && extended && glob[i + 1] === "(") { + i++; + groupStack.push("!"); + segment += "(?!"; + continue; + } + + if (glob[i] === "{") { + groupStack.push("BRACE"); + segment += "(?:"; + continue; + } + + if (glob[i] === "}" && groupStack[groupStack.length - 1] === "BRACE") { + groupStack.pop(); + segment += ")"; + continue; + } + + if (glob[i] === "," && groupStack[groupStack.length - 1] === "BRACE") { + segment += "|"; + continue; + } + + if (glob[i] === "*") { + if (extended && glob[i + 1] === "(") { + i++; + groupStack.push("*"); + segment += "(?:"; + } else { + const prevChar = glob[i - 1]; + let numStars = 1; + while (glob[i + 1] === "*") { + i++; + numStars++; + } + const nextChar = glob[i + 1]; + if ( + globstarOption && numStars === 2 && + [...c.seps, undefined].includes(prevChar) && + [...c.seps, undefined].includes(nextChar) + ) { + segment += c.globstar; + endsWithSep = true; + } else { + segment += c.wildcard; + } + } + continue; + } + + segment += regExpEscapeChars.includes(glob[i]!) + ? `\\${glob[i]}` + : glob[i]; + } + + // Check for unclosed groups or a dangling backslash. + if (groupStack.length > 0 || inRange || inEscape) { + // Parse failure. Take all characters from this segment literally. + segment = ""; + for (const c of glob.slice(j, i)) { + segment += regExpEscapeChars.includes(c) ? `\\${c}` : c; + endsWithSep = false; + } + } + + regExpString += segment; + if (!endsWithSep) { + regExpString += i < glob.length ? c.sep : c.sepMaybe; + endsWithSep = true; + } + + // Terminates with `i` at the start of the next segment. + while (c.seps.includes(glob[i]!)) i++; + + // Check that the next value of `j` is indeed higher than the current value. + if (!(i > j)) { + throw new Error("Assertion failure: i > j (potential infinite loop)"); + } + j = i; + } + + regExpString = `^${regExpString}$`; + return new RegExp(regExpString, caseInsensitive ? "i" : ""); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/normalize.ts b/vendor/jsr.io/@std/path/0.217.0/_common/normalize.ts new file mode 100644 index 0000000..3a1a162 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/normalize.ts @@ -0,0 +1,9 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function assertArg(path: string) { + assertPath(path); + if (path.length === 0) return "."; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/normalize_string.ts b/vendor/jsr.io/@std/path/0.217.0/_common/normalize_string.ts new file mode 100644 index 0000000..57ce7aa --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/normalize_string.ts @@ -0,0 +1,74 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +import { CHAR_DOT, CHAR_FORWARD_SLASH } from "./constants.ts"; + +// Resolves . and .. elements in a path with directory names +export function normalizeString( + path: string, + allowAboveRoot: boolean, + separator: string, + isPathSeparator: (code: number) => boolean, +): string { + let res = ""; + let lastSegmentLength = 0; + let lastSlash = -1; + let dots = 0; + let code: number | undefined; + for (let i = 0, len = path.length; i <= len; ++i) { + if (i < len) code = path.charCodeAt(i); + else if (isPathSeparator(code!)) break; + else code = CHAR_FORWARD_SLASH; + + if (isPathSeparator(code!)) { + if (lastSlash === i - 1 || dots === 1) { + // NOOP + } else if (lastSlash !== i - 1 && dots === 2) { + if ( + res.length < 2 || + lastSegmentLength !== 2 || + res.charCodeAt(res.length - 1) !== CHAR_DOT || + res.charCodeAt(res.length - 2) !== CHAR_DOT + ) { + if (res.length > 2) { + const lastSlashIndex = res.lastIndexOf(separator); + if (lastSlashIndex === -1) { + res = ""; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf(separator); + } + lastSlash = i; + dots = 0; + continue; + } else if (res.length === 2 || res.length === 1) { + res = ""; + lastSegmentLength = 0; + lastSlash = i; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + if (res.length > 0) res += `${separator}..`; + else res = ".."; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) res += separator + path.slice(lastSlash + 1, i); + else res = path.slice(lastSlash + 1, i); + lastSegmentLength = i - lastSlash - 1; + } + lastSlash = i; + dots = 0; + } else if (code === CHAR_DOT && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/relative.ts b/vendor/jsr.io/@std/path/0.217.0/_common/relative.ts new file mode 100644 index 0000000..0f9901f --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/relative.ts @@ -0,0 +1,10 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function assertArgs(from: string, to: string) { + assertPath(from); + assertPath(to); + if (from === to) return ""; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/strip_trailing_separators.ts b/vendor/jsr.io/@std/path/0.217.0/_common/strip_trailing_separators.ts new file mode 100644 index 0000000..852def6 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/strip_trailing_separators.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +export function stripTrailingSeparators( + segment: string, + isSep: (char: number) => boolean, +): string { + if (segment.length <= 1) { + return segment; + } + + let end = segment.length; + + for (let i = segment.length - 1; i > 0; i--) { + if (isSep(segment.charCodeAt(i))) { + end = i; + } else { + break; + } + } + + return segment.slice(0, end); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_common/to_file_url.ts b/vendor/jsr.io/@std/path/0.217.0/_common/to_file_url.ts new file mode 100644 index 0000000..ed98585 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_common/to_file_url.ts @@ -0,0 +1,17 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +const WHITESPACE_ENCODINGS: Record = { + "\u0009": "%09", + "\u000A": "%0A", + "\u000B": "%0B", + "\u000C": "%0C", + "\u000D": "%0D", + "\u0020": "%20", +}; + +export function encodeWhitespace(string: string): string { + return string.replaceAll(/[\s]/g, (c) => { + return WHITESPACE_ENCODINGS[c] ?? c; + }); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/_interface.ts b/vendor/jsr.io/@std/path/0.217.0/_interface.ts new file mode 100644 index 0000000..886490c --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_interface.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * A parsed path object generated by path.parse() or consumed by path.format(). + */ +export interface ParsedPath { + /** + * The root of the path such as '/' or 'c:\' + */ + root: string; + /** + * The full directory path such as '/home/user/dir' or 'c:\path\dir' + */ + dir: string; + /** + * The file name including extension (if any) such as 'index.html' + */ + base: string; + /** + * The file extension (if any) such as '.html' + */ + ext: string; + /** + * The file name without extension (if any) such as 'index' + */ + name: string; +} + +export type FormatInputPathObject = Partial; diff --git a/vendor/jsr.io/@std/path/0.217.0/_os.ts b/vendor/jsr.io/@std/path/0.217.0/_os.ts new file mode 100644 index 0000000..7252612 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/_os.ts @@ -0,0 +1,31 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +// Keep this up-to-date with Deno.build.os +export type OSType = + | "darwin" + | "linux" + | "windows" + | "freebsd" + | "netbsd" + | "aix" + | "solaris" + | "illumos"; + +export const osType: OSType = (() => { + // deno-lint-ignore no-explicit-any + const { Deno } = globalThis as any; + if (typeof Deno?.build?.os === "string") { + return Deno.build.os; + } + + // deno-lint-ignore no-explicit-any + const { navigator } = globalThis as any; + if (navigator?.appVersion?.includes?.("Win")) { + return "windows"; + } + + return "linux"; +})(); + +export const isWindows = osType === "windows"; diff --git a/vendor/jsr.io/@std/path/0.217.0/basename.ts b/vendor/jsr.io/@std/path/0.217.0/basename.ts new file mode 100644 index 0000000..d57a589 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/basename.ts @@ -0,0 +1,19 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { basename as posixBasename } from "./posix/basename.ts"; +import { basename as windowsBasename } from "./windows/basename.ts"; + +/** + * Return the last portion of a `path`. + * Trailing directory separators are ignored, and optional suffix is removed. + * + * @param path - path to extract the name from. + * @param [suffix] - suffix to remove from extracted name. + */ +export function basename(path: string, suffix = ""): string { + return isWindows + ? windowsBasename(path, suffix) + : posixBasename(path, suffix); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/common.ts b/vendor/jsr.io/@std/path/0.217.0/common.ts new file mode 100644 index 0000000..b393462 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/common.ts @@ -0,0 +1,24 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _common } from "./_common/common.ts"; +import { SEPARATOR } from "./constants.ts"; + +/** Determines the common path from a set of paths, using an optional separator, + * which defaults to the OS default separator. + * + * ```ts + * import { common } from "@std/path"; + * const p = common([ + * "./deno/std/path/mod.ts", + * "./deno/std/fs/mod.ts", + * ]); + * console.log(p); // "./deno/std/" + * ``` + */ +export function common( + paths: string[], + sep: string = SEPARATOR, +): string { + return _common(paths, sep); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/constants.ts b/vendor/jsr.io/@std/path/0.217.0/constants.ts new file mode 100644 index 0000000..2e1c08e --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/constants.ts @@ -0,0 +1,7 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { isWindows } from "./_os.ts"; + +export const DELIMITER = isWindows ? ";" as const : ":" as const; +export const SEPARATOR = isWindows ? "\\" as const : "/" as const; +export const SEPARATOR_PATTERN = isWindows ? /[\\/]+/ : /\/+/; diff --git a/vendor/jsr.io/@std/path/0.217.0/dirname.ts b/vendor/jsr.io/@std/path/0.217.0/dirname.ts new file mode 100644 index 0000000..a990271 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/dirname.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { dirname as posixDirname } from "./posix/dirname.ts"; +import { dirname as windowsDirname } from "./windows/dirname.ts"; + +/** + * Return the directory path of a `path`. + * @param path - path to extract the directory from. + */ +export function dirname(path: string): string { + return isWindows ? windowsDirname(path) : posixDirname(path); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/extname.ts b/vendor/jsr.io/@std/path/0.217.0/extname.ts new file mode 100644 index 0000000..753d521 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/extname.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { extname as posixExtname } from "./posix/extname.ts"; +import { extname as windowsExtname } from "./windows/extname.ts"; +/** + * Return the extension of the `path` with leading period. + * @param path with extension + * @returns extension (ex. for `file.ts` returns `.ts`) + */ +export function extname(path: string): string { + return isWindows ? windowsExtname(path) : posixExtname(path); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/format.ts b/vendor/jsr.io/@std/path/0.217.0/format.ts new file mode 100644 index 0000000..18e477a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/format.ts @@ -0,0 +1,15 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { format as posixFormat } from "./posix/format.ts"; +import { format as windowsFormat } from "./windows/format.ts"; +import { FormatInputPathObject } from "./_interface.ts"; + +/** + * Generate a path from `FormatInputPathObject` object. + * @param pathObject with path + */ +export function format(pathObject: FormatInputPathObject): string { + return isWindows ? windowsFormat(pathObject) : posixFormat(pathObject); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/from_file_url.ts b/vendor/jsr.io/@std/path/0.217.0/from_file_url.ts new file mode 100644 index 0000000..9fff8d1 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/from_file_url.ts @@ -0,0 +1,26 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { fromFileUrl as posixFromFileUrl } from "./posix/from_file_url.ts"; +import { fromFileUrl as windowsFromFileUrl } from "./windows/from_file_url.ts"; + +/** + * Converts a file URL to a path string. + * + * ```ts + * import { fromFileUrl } from "@std/path/from_file_url"; + * + * // posix + * fromFileUrl("file:///home/foo"); // "/home/foo" + * + * // win32 + * fromFileUrl("file:///home/foo"); // "\\home\\foo" + * fromFileUrl("file:///C:/Users/foo"); // "C:\\Users\\foo" + * fromFileUrl("file://localhost/home/foo"); // "\\\\localhost\\home\\foo" + * ``` + * @param url of a file URL + */ +export function fromFileUrl(url: string | URL): string { + return isWindows ? windowsFromFileUrl(url) : posixFromFileUrl(url); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/glob_to_regexp.ts b/vendor/jsr.io/@std/path/0.217.0/glob_to_regexp.ts new file mode 100644 index 0000000..ba1d31d --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/glob_to_regexp.ts @@ -0,0 +1,80 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "./_common/glob_to_reg_exp.ts"; +import { isWindows, OSType } from "./_os.ts"; + +import { globToRegExp as posixGlobToRegExp } from "./posix/glob_to_regexp.ts"; +import { + globToRegExp as windowsGlobToRegExp, +} from "./windows/glob_to_regexp.ts"; + +export type { GlobOptions }; + +export type GlobToRegExpOptions = GlobOptions & { + os?: OSType; +}; + +/** Convert a glob string to a regular expression. + * + * Tries to match bash glob expansion as closely as possible. + * + * Basic glob syntax: + * - `*` - Matches everything without leaving the path segment. + * - `?` - Matches any single character. + * - `{foo,bar}` - Matches `foo` or `bar`. + * - `[abcd]` - Matches `a`, `b`, `c` or `d`. + * - `[a-d]` - Matches `a`, `b`, `c` or `d`. + * - `[!abcd]` - Matches any single character besides `a`, `b`, `c` or `d`. + * - `[[::]]` - Matches any character belonging to ``. + * - `[[:alnum:]]` - Matches any digit or letter. + * - `[[:digit:]abc]` - Matches any digit, `a`, `b` or `c`. + * - See https://facelessuser.github.io/wcmatch/glob/#posix-character-classes + * for a complete list of supported character classes. + * - `\` - Escapes the next character for an `os` other than `"windows"`. + * - \` - Escapes the next character for `os` set to `"windows"`. + * - `/` - Path separator. + * - `\` - Additional path separator only for `os` set to `"windows"`. + * + * Extended syntax: + * - Requires `{ extended: true }`. + * - `?(foo|bar)` - Matches 0 or 1 instance of `{foo,bar}`. + * - `@(foo|bar)` - Matches 1 instance of `{foo,bar}`. They behave the same. + * - `*(foo|bar)` - Matches _n_ instances of `{foo,bar}`. + * - `+(foo|bar)` - Matches _n > 0_ instances of `{foo,bar}`. + * - `!(foo|bar)` - Matches anything other than `{foo,bar}`. + * - See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * Globstar syntax: + * - Requires `{ globstar: true }`. + * - `**` - Matches any number of any path segments. + * - Must comprise its entire path segment in the provided glob. + * - See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * + * Note the following properties: + * - The generated `RegExp` is anchored at both start and end. + * - Repeating and trailing separators are tolerated. Trailing separators in the + * provided glob have no meaning and are discarded. + * - Absolute globs will only match absolute paths, etc. + * - Empty globs will match nothing. + * - Any special glob syntax must be contained to one path segment. For example, + * `?(foo|bar/baz)` is invalid. The separator will take precedence and the + * first segment ends with an unclosed group. + * - If a path segment ends with unclosed groups or a dangling escape prefix, a + * parse error has occurred. Every character for that segment is taken + * literally in this event. + * + * Limitations: + * - A negative group like `!(foo|bar)` will wrongly be converted to a negative + * look-ahead followed by a wildcard. This means that `!(foo).js` will wrongly + * fail to match `foobar.js`, even though `foobar` is not `foo`. Effectively, + * `!(foo|bar)` is treated like `!(@(foo|bar)*)`. This will work correctly if + * the group occurs not nested at the end of the segment. */ +export function globToRegExp( + glob: string, + options: GlobToRegExpOptions = {}, +): RegExp { + return options.os === "windows" || (!options.os && isWindows) + ? windowsGlobToRegExp(glob, options) + : posixGlobToRegExp(glob, options); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/is_absolute.ts b/vendor/jsr.io/@std/path/0.217.0/is_absolute.ts new file mode 100644 index 0000000..be580fd --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/is_absolute.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { isAbsolute as posixIsAbsolute } from "./posix/is_absolute.ts"; +import { isAbsolute as windowsIsAbsolute } from "./windows/is_absolute.ts"; + +/** + * Verifies whether provided path is absolute + * @param path to be verified as absolute + */ +export function isAbsolute(path: string): boolean { + return isWindows ? windowsIsAbsolute(path) : posixIsAbsolute(path); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/is_glob.ts b/vendor/jsr.io/@std/path/0.217.0/is_glob.ts new file mode 100644 index 0000000..2d481e4 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/is_glob.ts @@ -0,0 +1,35 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** Test whether the given string is a glob */ +export function isGlob(str: string): boolean { + const chars: Record = { "{": "}", "(": ")", "[": "]" }; + const regex = + /\\(.)|(^!|\*|\?|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; + + if (str === "") { + return false; + } + + let match: RegExpExecArray | null; + + while ((match = regex.exec(str))) { + if (match[2]) return true; + let idx = match.index + match[0].length; + + // if an open bracket/brace/paren is escaped, + // set the index to the next closing character + const open = match[1]; + const close = open ? chars[open] : null; + if (open && close) { + const n = str.indexOf(close, idx); + if (n !== -1) { + idx = n + 1; + } + } + + str = str.slice(idx); + } + + return false; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/join.ts b/vendor/jsr.io/@std/path/0.217.0/join.ts new file mode 100644 index 0000000..aa21198 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/join.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { join as posixJoin } from "./posix/join.ts"; +import { join as windowsJoin } from "./windows/join.ts"; + +/** + * Join all given a sequence of `paths`,then normalizes the resulting path. + * @param paths to be joined and normalized + */ +export function join(...paths: string[]): string { + return isWindows ? windowsJoin(...paths) : posixJoin(...paths); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/join_globs.ts b/vendor/jsr.io/@std/path/0.217.0/join_globs.ts new file mode 100644 index 0000000..0c9e0d2 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/join_globs.ts @@ -0,0 +1,19 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "./_common/glob_to_reg_exp.ts"; +import { isWindows } from "./_os.ts"; +import { joinGlobs as posixJoinGlobs } from "./posix/join_globs.ts"; +import { joinGlobs as windowsJoinGlobs } from "./windows/join_globs.ts"; + +export type { GlobOptions }; + +/** Like join(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function joinGlobs( + globs: string[], + options: GlobOptions = {}, +): string { + return isWindows + ? windowsJoinGlobs(globs, options) + : posixJoinGlobs(globs, options); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/mod.ts b/vendor/jsr.io/@std/path/0.217.0/mod.ts new file mode 100644 index 0000000..47e5316 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/mod.ts @@ -0,0 +1,65 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported mostly from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +/** + * Utilities for working with OS-specific file paths. + * + * Functions from this module will automatically switch to support the path style + * of the current OS, either `windows` for Microsoft Windows, or `posix` for + * every other operating system, eg. Linux, MacOS, BSD etc. + * + * To use functions for a specific path style regardless of the current OS + * import the modules from the platform sub directory instead. + * + * Example, for `posix`: + * + * ```ts + * import { fromFileUrl } from "@std/path/posix/from_file_url"; + * const p = fromFileUrl("file:///home/foo"); + * console.log(p); // "/home/foo" + * ``` + * + * or, for `windows`: + * + * ```ts + * import { fromFileUrl } from "@std/path/windows/from_file_url"; + * const p = fromFileUrl("file:///home/foo"); + * console.log(p); // "\\home\\foo" + * ``` + * + * This module is browser compatible. + * + * @module + */ + +import * as _windows from "./windows/mod.ts"; +import * as _posix from "./posix/mod.ts"; + +/** @deprecated (will be removed after 1.0.0) Import from {@link https://deno.land/std/path/windows/mod.ts} instead. */ +export const win32: typeof _windows = _windows; + +/** @deprecated (will be removed after 1.0.0) Import from {@link https://deno.land/std/path/posix/mod.ts} instead. */ +export const posix: typeof _posix = _posix; + +export * from "./basename.ts"; +export * from "./constants.ts"; +export * from "./dirname.ts"; +export * from "./extname.ts"; +export * from "./format.ts"; +export * from "./from_file_url.ts"; +export * from "./is_absolute.ts"; +export * from "./join.ts"; +export * from "./normalize.ts"; +export * from "./parse.ts"; +export * from "./relative.ts"; +export * from "./resolve.ts"; +export * from "./to_file_url.ts"; +export * from "./to_namespaced_path.ts"; +export * from "./common.ts"; +export * from "./_interface.ts"; +export * from "./glob_to_regexp.ts"; +export * from "./is_glob.ts"; +export * from "./join_globs.ts"; +export * from "./normalize_glob.ts"; diff --git a/vendor/jsr.io/@std/path/0.217.0/normalize.ts b/vendor/jsr.io/@std/path/0.217.0/normalize.ts new file mode 100644 index 0000000..aab9fb1 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/normalize.ts @@ -0,0 +1,15 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { normalize as posixNormalize } from "./posix/normalize.ts"; +import { normalize as windowsNormalize } from "./windows/normalize.ts"; +/** + * Normalize the `path`, resolving `'..'` and `'.'` segments. + * Note that resolving these segments does not necessarily mean that all will be eliminated. + * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. + * @param path to be normalized + */ +export function normalize(path: string): string { + return isWindows ? windowsNormalize(path) : posixNormalize(path); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/normalize_glob.ts b/vendor/jsr.io/@std/path/0.217.0/normalize_glob.ts new file mode 100644 index 0000000..ae8f520 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/normalize_glob.ts @@ -0,0 +1,21 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "./_common/glob_to_reg_exp.ts"; +import { isWindows } from "./_os.ts"; +import { normalizeGlob as posixNormalizeGlob } from "./posix/normalize_glob.ts"; +import { + normalizeGlob as windowsNormalizeGlob, +} from "./windows/normalize_glob.ts"; + +export type { GlobOptions }; + +/** Like normalize(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function normalizeGlob( + glob: string, + options: GlobOptions = {}, +): string { + return isWindows + ? windowsNormalizeGlob(glob, options) + : posixNormalizeGlob(glob, options); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/parse.ts b/vendor/jsr.io/@std/path/0.217.0/parse.ts new file mode 100644 index 0000000..b661c1f --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/parse.ts @@ -0,0 +1,15 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import type { ParsedPath } from "./_interface.ts"; +import { parse as posixParse } from "./posix/parse.ts"; +import { parse as windowsParse } from "./windows/parse.ts"; + +/** + * Return a `ParsedPath` object of the `path`. + * @param path to process + */ +export function parse(path: string): ParsedPath { + return isWindows ? windowsParse(path) : posixParse(path); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/_util.ts b/vendor/jsr.io/@std/path/0.217.0/posix/_util.ts new file mode 100644 index 0000000..424559e --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/_util.ts @@ -0,0 +1,10 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +import { CHAR_FORWARD_SLASH } from "./../_common/constants.ts"; + +export function isPosixPathSeparator(code: number): boolean { + return code === CHAR_FORWARD_SLASH; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/basename.ts b/vendor/jsr.io/@std/path/0.217.0/posix/basename.ts new file mode 100644 index 0000000..284121b --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/basename.ts @@ -0,0 +1,28 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + assertArgs, + lastPathSegment, + stripSuffix, +} from "./../_common/basename.ts"; +import { stripTrailingSeparators } from "./../_common/strip_trailing_separators.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Return the last portion of a `path`. + * Trailing directory separators are ignored, and optional suffix is removed. + * + * @param path - path to extract the name from. + * @param [suffix] - suffix to remove from extracted name. + */ +export function basename(path: string, suffix = ""): string { + assertArgs(path, suffix); + + const lastSegment = lastPathSegment(path, isPosixPathSeparator); + const strippedSegment = stripTrailingSeparators( + lastSegment, + isPosixPathSeparator, + ); + return suffix ? stripSuffix(strippedSegment, suffix) : strippedSegment; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/common.ts b/vendor/jsr.io/@std/path/0.217.0/posix/common.ts new file mode 100644 index 0000000..27d022d --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/common.ts @@ -0,0 +1,24 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _common } from "./../_common/common.ts"; +import { SEPARATOR } from "./constants.ts"; + +/** Determines the common path from a set of paths, using an optional separator, + * which defaults to the OS default separator. + * + * ```ts + * import { common } from "@std/path"; + * const p = common([ + * "./deno/std/path/mod.ts", + * "./deno/std/fs/mod.ts", + * ]); + * console.log(p); // "./deno/std/" + * ``` + */ +export function common( + paths: string[], + sep: string = SEPARATOR, +): string { + return _common(paths, sep); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/constants.ts b/vendor/jsr.io/@std/path/0.217.0/posix/constants.ts new file mode 100644 index 0000000..0612e5b --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/constants.ts @@ -0,0 +1,6 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export const DELIMITER = ":" as const; +export const SEPARATOR = "/" as const; +export const SEPARATOR_PATTERN = /\/+/; diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/dirname.ts b/vendor/jsr.io/@std/path/0.217.0/posix/dirname.ts new file mode 100644 index 0000000..a1e5ded --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/dirname.ts @@ -0,0 +1,44 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "./../_common/dirname.ts"; +import { stripTrailingSeparators } from "./../_common/strip_trailing_separators.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Return the directory path of a `path`. + * @param path - path to extract the directory from. + */ +export function dirname(path: string): string { + assertArg(path); + + let end = -1; + let matchedNonSeparator = false; + + for (let i = path.length - 1; i >= 1; --i) { + if (isPosixPathSeparator(path.charCodeAt(i))) { + if (matchedNonSeparator) { + end = i; + break; + } + } else { + matchedNonSeparator = true; + } + } + + // No matches. Fallback based on provided path: + // + // - leading slashes paths + // "/foo" => "/" + // "///foo" => "/" + // - no slash path + // "foo" => "." + if (end === -1) { + return isPosixPathSeparator(path.charCodeAt(0)) ? "/" : "."; + } + + return stripTrailingSeparators( + path.slice(0, end), + isPosixPathSeparator, + ); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/extname.ts b/vendor/jsr.io/@std/path/0.217.0/posix/extname.ts new file mode 100644 index 0000000..dfa604c --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/extname.ts @@ -0,0 +1,62 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_DOT } from "./../_common/constants.ts"; +import { assertPath } from "./../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Return the extension of the `path` with leading period. + * @param path with extension + * @returns extension (ex. for `file.ts` returns `.ts`) + */ +export function extname(path: string): string { + assertPath(path); + + let startDot = -1; + let startPart = 0; + let end = -1; + let matchedSlash = true; + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + for (let i = path.length - 1; i >= 0; --i) { + const code = path.charCodeAt(i); + if (isPosixPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + return ""; + } + return path.slice(startDot, end); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/format.ts b/vendor/jsr.io/@std/path/0.217.0/posix/format.ts new file mode 100644 index 0000000..8ebe1fb --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/format.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _format, assertArg } from "./../_common/format.ts"; +import type { FormatInputPathObject } from "./../_interface.ts"; + +/** + * Generate a path from `FormatInputPathObject` object. + * @param pathObject with path + */ +export function format(pathObject: FormatInputPathObject): string { + assertArg(pathObject); + return _format("/", pathObject); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/from_file_url.ts b/vendor/jsr.io/@std/path/0.217.0/posix/from_file_url.ts new file mode 100644 index 0000000..472a68d --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/from_file_url.ts @@ -0,0 +1,21 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "./../_common/from_file_url.ts"; + +/** + * Converts a file URL to a path string. + * + * ```ts + * import { fromFileUrl } from "@std/path/posix/from_file_url"; + * + * fromFileUrl("file:///home/foo"); // "/home/foo" + * ``` + * @param url of a file URL + */ +export function fromFileUrl(url: URL | string): string { + url = assertArg(url); + return decodeURIComponent( + url.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"), + ); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/glob_to_regexp.ts b/vendor/jsr.io/@std/path/0.217.0/posix/glob_to_regexp.ts new file mode 100644 index 0000000..9126c62 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/glob_to_regexp.ts @@ -0,0 +1,79 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + _globToRegExp, + GlobConstants, + GlobToRegExpOptions, +} from "./../_common/glob_to_reg_exp.ts"; + +const constants: GlobConstants = { + sep: "/+", + sepMaybe: "/*", + seps: ["/"], + globstar: "(?:[^/]*(?:/|$)+)*", + wildcard: "[^/]*", + escapePrefix: "\\", +}; + +/** Convert a glob string to a regular expression. + * + * Tries to match bash glob expansion as closely as possible. + * + * Basic glob syntax: + * - `*` - Matches everything without leaving the path segment. + * - `?` - Matches any single character. + * - `{foo,bar}` - Matches `foo` or `bar`. + * - `[abcd]` - Matches `a`, `b`, `c` or `d`. + * - `[a-d]` - Matches `a`, `b`, `c` or `d`. + * - `[!abcd]` - Matches any single character besides `a`, `b`, `c` or `d`. + * - `[[::]]` - Matches any character belonging to ``. + * - `[[:alnum:]]` - Matches any digit or letter. + * - `[[:digit:]abc]` - Matches any digit, `a`, `b` or `c`. + * - See https://facelessuser.github.io/wcmatch/glob/#posix-character-classes + * for a complete list of supported character classes. + * - `\` - Escapes the next character for an `os` other than `"windows"`. + * - \` - Escapes the next character for `os` set to `"windows"`. + * - `/` - Path separator. + * - `\` - Additional path separator only for `os` set to `"windows"`. + * + * Extended syntax: + * - Requires `{ extended: true }`. + * - `?(foo|bar)` - Matches 0 or 1 instance of `{foo,bar}`. + * - `@(foo|bar)` - Matches 1 instance of `{foo,bar}`. They behave the same. + * - `*(foo|bar)` - Matches _n_ instances of `{foo,bar}`. + * - `+(foo|bar)` - Matches _n > 0_ instances of `{foo,bar}`. + * - `!(foo|bar)` - Matches anything other than `{foo,bar}`. + * - See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * Globstar syntax: + * - Requires `{ globstar: true }`. + * - `**` - Matches any number of any path segments. + * - Must comprise its entire path segment in the provided glob. + * - See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * + * Note the following properties: + * - The generated `RegExp` is anchored at both start and end. + * - Repeating and trailing separators are tolerated. Trailing separators in the + * provided glob have no meaning and are discarded. + * - Absolute globs will only match absolute paths, etc. + * - Empty globs will match nothing. + * - Any special glob syntax must be contained to one path segment. For example, + * `?(foo|bar/baz)` is invalid. The separator will take precedence and the + * first segment ends with an unclosed group. + * - If a path segment ends with unclosed groups or a dangling escape prefix, a + * parse error has occurred. Every character for that segment is taken + * literally in this event. + * + * Limitations: + * - A negative group like `!(foo|bar)` will wrongly be converted to a negative + * look-ahead followed by a wildcard. This means that `!(foo).js` will wrongly + * fail to match `foobar.js`, even though `foobar` is not `foo`. Effectively, + * `!(foo|bar)` is treated like `!(@(foo|bar)*)`. This will work correctly if + * the group occurs not nested at the end of the segment. */ +export function globToRegExp( + glob: string, + options: GlobToRegExpOptions = {}, +): RegExp { + return _globToRegExp(constants, glob, options); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/is_absolute.ts b/vendor/jsr.io/@std/path/0.217.0/posix/is_absolute.ts new file mode 100644 index 0000000..db2a1c7 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/is_absolute.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Verifies whether provided path is absolute + * @param path to be verified as absolute + */ +export function isAbsolute(path: string): boolean { + assertPath(path); + return path.length > 0 && isPosixPathSeparator(path.charCodeAt(0)); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/is_glob.ts b/vendor/jsr.io/@std/path/0.217.0/posix/is_glob.ts new file mode 100644 index 0000000..f7023ab --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/is_glob.ts @@ -0,0 +1,4 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export { isGlob } from "./../is_glob.ts"; diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/join.ts b/vendor/jsr.io/@std/path/0.217.0/posix/join.ts new file mode 100644 index 0000000..1b77ded --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/join.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./../_common/assert_path.ts"; +import { normalize } from "./normalize.ts"; + +/** + * Join all given a sequence of `paths`,then normalizes the resulting path. + * @param paths to be joined and normalized + */ +export function join(...paths: string[]): string { + if (paths.length === 0) return "."; + + let joined: string | undefined; + for (let i = 0, len = paths.length; i < len; ++i) { + const path = paths[i]!; + assertPath(path); + if (path.length > 0) { + if (!joined) joined = path; + else joined += `/${path}`; + } + } + if (!joined) return "."; + return normalize(joined); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/join_globs.ts b/vendor/jsr.io/@std/path/0.217.0/posix/join_globs.ts new file mode 100644 index 0000000..f1e7ed7 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/join_globs.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { GlobOptions } from "./../_common/glob_to_reg_exp.ts"; +import { join } from "./join.ts"; +import { SEPARATOR } from "./constants.ts"; +import { normalizeGlob } from "./normalize_glob.ts"; + +export type { GlobOptions }; + +/** Like join(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function joinGlobs( + globs: string[], + { extended = true, globstar = false }: GlobOptions = {}, +): string { + if (!globstar || globs.length === 0) { + return join(...globs); + } + if (globs.length === 0) return "."; + let joined: string | undefined; + for (const glob of globs) { + const path = glob; + if (path.length > 0) { + if (!joined) joined = path; + else joined += `${SEPARATOR}${path}`; + } + } + if (!joined) return "."; + return normalizeGlob(joined, { extended, globstar }); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/mod.ts b/vendor/jsr.io/@std/path/0.217.0/posix/mod.ts new file mode 100644 index 0000000..8919be1 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/mod.ts @@ -0,0 +1,43 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported mostly from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +/** + * Utilities for working with OS-specific file paths. + * + * Codes in the examples uses POSIX path but it automatically use Windows path + * on Windows. Use methods under `posix` or `win32` object instead to handle non + * platform specific path like: + * ```ts + * import { posix, win32 } from "@std/path"; + * const p1 = posix.fromFileUrl("file:///home/foo"); + * const p2 = win32.fromFileUrl("file:///home/foo"); + * console.log(p1); // "/home/foo" + * console.log(p2); // "\\home\\foo" + * ``` + * + * This module is browser compatible. + * + * @module + */ +export * from "./basename.ts"; +export * from "./constants.ts"; +export * from "./dirname.ts"; +export * from "./extname.ts"; +export * from "./format.ts"; +export * from "./from_file_url.ts"; +export * from "./is_absolute.ts"; +export * from "./join.ts"; +export * from "./normalize.ts"; +export * from "./parse.ts"; +export * from "./relative.ts"; +export * from "./resolve.ts"; +export * from "./to_file_url.ts"; +export * from "./to_namespaced_path.ts"; +export * from "./common.ts"; +export * from "./../_interface.ts"; +export * from "./glob_to_regexp.ts"; +export * from "./is_glob.ts"; +export * from "./join_globs.ts"; +export * from "./normalize_glob.ts"; diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/normalize.ts b/vendor/jsr.io/@std/path/0.217.0/posix/normalize.ts new file mode 100644 index 0000000..64936a0 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/normalize.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "./../_common/normalize.ts"; +import { normalizeString } from "./../_common/normalize_string.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Normalize the `path`, resolving `'..'` and `'.'` segments. + * Note that resolving these segments does not necessarily mean that all will be eliminated. + * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. + * @param path to be normalized + */ +export function normalize(path: string): string { + assertArg(path); + + const isAbsolute = isPosixPathSeparator(path.charCodeAt(0)); + const trailingSeparator = isPosixPathSeparator( + path.charCodeAt(path.length - 1), + ); + + // Normalize the path + path = normalizeString(path, !isAbsolute, "/", isPosixPathSeparator); + + if (path.length === 0 && !isAbsolute) path = "."; + if (path.length > 0 && trailingSeparator) path += "/"; + + if (isAbsolute) return `/${path}`; + return path; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/normalize_glob.ts b/vendor/jsr.io/@std/path/0.217.0/posix/normalize_glob.ts new file mode 100644 index 0000000..6b74d60 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/normalize_glob.ts @@ -0,0 +1,27 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { GlobOptions } from "./../_common/glob_to_reg_exp.ts"; +import { normalize } from "./normalize.ts"; +import { SEPARATOR_PATTERN } from "./constants.ts"; + +export type { GlobOptions }; + +/** Like normalize(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function normalizeGlob( + glob: string, + { globstar = false }: GlobOptions = {}, +): string { + if (glob.match(/\0/g)) { + throw new Error(`Glob contains invalid characters: "${glob}"`); + } + if (!globstar) { + return normalize(glob); + } + const s = SEPARATOR_PATTERN.source; + const badParentPattern = new RegExp( + `(?<=(${s}|^)\\*\\*${s})\\.\\.(?=${s}|$)`, + "g", + ); + return normalize(glob.replace(badParentPattern, "\0")).replace(/\0/g, ".."); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/parse.ts b/vendor/jsr.io/@std/path/0.217.0/posix/parse.ts new file mode 100644 index 0000000..43e603a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/parse.ts @@ -0,0 +1,102 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_DOT } from "./../_common/constants.ts"; +import { ParsedPath } from "./../_interface.ts"; +import { stripTrailingSeparators } from "./../_common/strip_trailing_separators.ts"; +import { assertPath } from "./../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Return a `ParsedPath` object of the `path`. + * @param path to process + */ +export function parse(path: string): ParsedPath { + assertPath(path); + + const ret: ParsedPath = { root: "", dir: "", base: "", ext: "", name: "" }; + if (path.length === 0) return ret; + const isAbsolute = isPosixPathSeparator(path.charCodeAt(0)); + let start: number; + if (isAbsolute) { + ret.root = "/"; + start = 1; + } else { + start = 0; + } + let startDot = -1; + let startPart = 0; + let end = -1; + let matchedSlash = true; + let i = path.length - 1; + + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + + // Get non-dir info + for (; i >= start; --i) { + const code = path.charCodeAt(i); + if (isPosixPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + if (end !== -1) { + if (startPart === 0 && isAbsolute) { + ret.base = ret.name = path.slice(1, end); + } else { + ret.base = ret.name = path.slice(startPart, end); + } + } + // Fallback to '/' in case there is no basename + ret.base = ret.base || "/"; + } else { + if (startPart === 0 && isAbsolute) { + ret.name = path.slice(1, startDot); + ret.base = path.slice(1, end); + } else { + ret.name = path.slice(startPart, startDot); + ret.base = path.slice(startPart, end); + } + ret.ext = path.slice(startDot, end); + } + + if (startPart > 0) { + ret.dir = stripTrailingSeparators( + path.slice(0, startPart - 1), + isPosixPathSeparator, + ); + } else if (isAbsolute) ret.dir = "/"; + + return ret; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/relative.ts b/vendor/jsr.io/@std/path/0.217.0/posix/relative.ts new file mode 100644 index 0000000..fb9014e --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/relative.ts @@ -0,0 +1,91 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isPosixPathSeparator } from "./_util.ts"; +import { resolve } from "./resolve.ts"; +import { assertArgs } from "./../_common/relative.ts"; + +/** + * Return the relative path from `from` to `to` based on current working directory. + * + * @param from path in current working directory + * @param to path in current working directory + */ +export function relative(from: string, to: string): string { + assertArgs(from, to); + + from = resolve(from); + to = resolve(to); + + if (from === to) return ""; + + // Trim any leading backslashes + let fromStart = 1; + const fromEnd = from.length; + for (; fromStart < fromEnd; ++fromStart) { + if (!isPosixPathSeparator(from.charCodeAt(fromStart))) break; + } + const fromLen = fromEnd - fromStart; + + // Trim any leading backslashes + let toStart = 1; + const toEnd = to.length; + for (; toStart < toEnd; ++toStart) { + if (!isPosixPathSeparator(to.charCodeAt(toStart))) break; + } + const toLen = toEnd - toStart; + + // Compare paths to find the longest common path from root + const length = fromLen < toLen ? fromLen : toLen; + let lastCommonSep = -1; + let i = 0; + for (; i <= length; ++i) { + if (i === length) { + if (toLen > length) { + if (isPosixPathSeparator(to.charCodeAt(toStart + i))) { + // We get here if `from` is the exact base path for `to`. + // For example: from='/foo/bar'; to='/foo/bar/baz' + return to.slice(toStart + i + 1); + } else if (i === 0) { + // We get here if `from` is the root + // For example: from='/'; to='/foo' + return to.slice(toStart + i); + } + } else if (fromLen > length) { + if (isPosixPathSeparator(from.charCodeAt(fromStart + i))) { + // We get here if `to` is the exact base path for `from`. + // For example: from='/foo/bar/baz'; to='/foo/bar' + lastCommonSep = i; + } else if (i === 0) { + // We get here if `to` is the root. + // For example: from='/foo'; to='/' + lastCommonSep = 0; + } + } + break; + } + const fromCode = from.charCodeAt(fromStart + i); + const toCode = to.charCodeAt(toStart + i); + if (fromCode !== toCode) break; + else if (isPosixPathSeparator(fromCode)) lastCommonSep = i; + } + + let out = ""; + // Generate the relative path based on the path difference between `to` + // and `from` + for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { + if (i === fromEnd || isPosixPathSeparator(from.charCodeAt(i))) { + if (out.length === 0) out += ".."; + else out += "/.."; + } + } + + // Lastly, append the rest of the destination (`to`) path that comes after + // the common path parts + if (out.length > 0) return out + to.slice(toStart + lastCommonSep); + else { + toStart += lastCommonSep; + if (isPosixPathSeparator(to.charCodeAt(toStart))) ++toStart; + return to.slice(toStart); + } +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/resolve.ts b/vendor/jsr.io/@std/path/0.217.0/posix/resolve.ts new file mode 100644 index 0000000..5ce1545 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/resolve.ts @@ -0,0 +1,56 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { normalizeString } from "./../_common/normalize_string.ts"; +import { assertPath } from "./../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Resolves path segments into a `path` + * @param pathSegments to process to path + */ +export function resolve(...pathSegments: string[]): string { + let resolvedPath = ""; + let resolvedAbsolute = false; + + for (let i = pathSegments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + let path: string; + + if (i >= 0) path = pathSegments[i]!; + else { + // deno-lint-ignore no-explicit-any + const { Deno } = globalThis as any; + if (typeof Deno?.cwd !== "function") { + throw new TypeError("Resolved a relative path without a CWD."); + } + path = Deno.cwd(); + } + + assertPath(path); + + // Skip empty entries + if (path.length === 0) { + continue; + } + + resolvedPath = `${path}/${resolvedPath}`; + resolvedAbsolute = isPosixPathSeparator(path.charCodeAt(0)); + } + + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when Deno.cwd() fails) + + // Normalize the path + resolvedPath = normalizeString( + resolvedPath, + !resolvedAbsolute, + "/", + isPosixPathSeparator, + ); + + if (resolvedAbsolute) { + if (resolvedPath.length > 0) return `/${resolvedPath}`; + else return "/"; + } else if (resolvedPath.length > 0) return resolvedPath; + else return "."; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/to_file_url.ts b/vendor/jsr.io/@std/path/0.217.0/posix/to_file_url.ts new file mode 100644 index 0000000..0b38e28 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/to_file_url.ts @@ -0,0 +1,27 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { encodeWhitespace } from "./../_common/to_file_url.ts"; +import { isAbsolute } from "./is_absolute.ts"; + +/** + * Converts a path string to a file URL. + * + * ```ts + * import { toFileUrl } from "@std/path/posix/to_file_url"; + * + * toFileUrl("/home/foo"); // new URL("file:///home/foo") + * ``` + * @param path to convert to file URL + */ +export function toFileUrl(path: string): URL { + if (!isAbsolute(path)) { + throw new TypeError("Must be an absolute path."); + } + + const url = new URL("file:///"); + url.pathname = encodeWhitespace( + path.replace(/%/g, "%25").replace(/\\/g, "%5C"), + ); + return url; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/posix/to_namespaced_path.ts b/vendor/jsr.io/@std/path/0.217.0/posix/to_namespaced_path.ts new file mode 100644 index 0000000..39e05ab --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/posix/to_namespaced_path.ts @@ -0,0 +1,11 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Resolves path to a namespace path + * @param path to resolve to namespace + */ +export function toNamespacedPath(path: string): string { + // Non-op on posix systems + return path; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/relative.ts b/vendor/jsr.io/@std/path/0.217.0/relative.ts new file mode 100644 index 0000000..01a6ca7 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/relative.ts @@ -0,0 +1,21 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { relative as posixRelative } from "./posix/relative.ts"; +import { relative as windowsRelative } from "./windows/relative.ts"; + +/** + * Return the relative path from `from` to `to` based on current working directory. + * + * An example in windws, for instance: + * from = 'C:\\orandea\\test\\aaa' + * to = 'C:\\orandea\\impl\\bbb' + * The output of the function should be: '..\\..\\impl\\bbb' + * + * @param from path in current working directory + * @param to path in current working directory + */ +export function relative(from: string, to: string): string { + return isWindows ? windowsRelative(from, to) : posixRelative(from, to); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/resolve.ts b/vendor/jsr.io/@std/path/0.217.0/resolve.ts new file mode 100644 index 0000000..86300b1 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/resolve.ts @@ -0,0 +1,16 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { resolve as posixResolve } from "./posix/resolve.ts"; +import { resolve as windowsResolve } from "./windows/resolve.ts"; + +/** + * Resolves path segments into a `path` + * @param pathSegments to process to path + */ +export function resolve(...pathSegments: string[]): string { + return isWindows + ? windowsResolve(...pathSegments) + : posixResolve(...pathSegments); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/to_file_url.ts b/vendor/jsr.io/@std/path/0.217.0/to_file_url.ts new file mode 100644 index 0000000..633f91f --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/to_file_url.ts @@ -0,0 +1,26 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { toFileUrl as posixToFileUrl } from "./posix/to_file_url.ts"; +import { toFileUrl as windowsToFileUrl } from "./windows/to_file_url.ts"; + +/** + * Converts a path string to a file URL. + * + * ```ts + * import { toFileUrl } from "@std/path/to_file_url"; + * + * // posix + * toFileUrl("/home/foo"); // new URL("file:///home/foo") + * + * // win32 + * toFileUrl("\\home\\foo"); // new URL("file:///home/foo") + * toFileUrl("C:\\Users\\foo"); // new URL("file:///C:/Users/foo") + * toFileUrl("\\\\127.0.0.1\\home\\foo"); // new URL("file://127.0.0.1/home/foo") + * ``` + * @param path to convert to file URL + */ +export function toFileUrl(path: string): URL { + return isWindows ? windowsToFileUrl(path) : posixToFileUrl(path); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/to_namespaced_path.ts b/vendor/jsr.io/@std/path/0.217.0/to_namespaced_path.ts new file mode 100644 index 0000000..89db22d --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/to_namespaced_path.ts @@ -0,0 +1,16 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { toNamespacedPath as posixToNamespacedPath } from "./posix/to_namespaced_path.ts"; +import { toNamespacedPath as windowsToNamespacedPath } from "./windows/to_namespaced_path.ts"; + +/** + * Resolves path to a namespace path + * @param path to resolve to namespace + */ +export function toNamespacedPath(path: string): string { + return isWindows + ? windowsToNamespacedPath(path) + : posixToNamespacedPath(path); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/_util.ts b/vendor/jsr.io/@std/path/0.217.0/windows/_util.ts new file mode 100644 index 0000000..a741b3a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/_util.ts @@ -0,0 +1,28 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +import { + CHAR_BACKWARD_SLASH, + CHAR_FORWARD_SLASH, + CHAR_LOWERCASE_A, + CHAR_LOWERCASE_Z, + CHAR_UPPERCASE_A, + CHAR_UPPERCASE_Z, +} from "./../_common/constants.ts"; + +export function isPosixPathSeparator(code: number): boolean { + return code === CHAR_FORWARD_SLASH; +} + +export function isPathSeparator(code: number): boolean { + return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; +} + +export function isWindowsDeviceRoot(code: number): boolean { + return ( + (code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z) || + (code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z) + ); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/basename.ts b/vendor/jsr.io/@std/path/0.217.0/windows/basename.ts new file mode 100644 index 0000000..06c0437 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/basename.ts @@ -0,0 +1,37 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + assertArgs, + lastPathSegment, + stripSuffix, +} from "./../_common/basename.ts"; +import { CHAR_COLON } from "./../_common/constants.ts"; +import { stripTrailingSeparators } from "./../_common/strip_trailing_separators.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Return the last portion of a `path`. + * Trailing directory separators are ignored, and optional suffix is removed. + * + * @param path - path to extract the name from. + * @param [suffix] - suffix to remove from extracted name. + */ +export function basename(path: string, suffix = ""): string { + assertArgs(path, suffix); + + // Check for a drive letter prefix so as not to mistake the following + // path separator as an extra separator at the end of the path that can be + // disregarded + let start = 0; + if (path.length >= 2) { + const drive = path.charCodeAt(0); + if (isWindowsDeviceRoot(drive)) { + if (path.charCodeAt(1) === CHAR_COLON) start = 2; + } + } + + const lastSegment = lastPathSegment(path, isPathSeparator, start); + const strippedSegment = stripTrailingSeparators(lastSegment, isPathSeparator); + return suffix ? stripSuffix(strippedSegment, suffix) : strippedSegment; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/common.ts b/vendor/jsr.io/@std/path/0.217.0/windows/common.ts new file mode 100644 index 0000000..27d022d --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/common.ts @@ -0,0 +1,24 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _common } from "./../_common/common.ts"; +import { SEPARATOR } from "./constants.ts"; + +/** Determines the common path from a set of paths, using an optional separator, + * which defaults to the OS default separator. + * + * ```ts + * import { common } from "@std/path"; + * const p = common([ + * "./deno/std/path/mod.ts", + * "./deno/std/fs/mod.ts", + * ]); + * console.log(p); // "./deno/std/" + * ``` + */ +export function common( + paths: string[], + sep: string = SEPARATOR, +): string { + return _common(paths, sep); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/constants.ts b/vendor/jsr.io/@std/path/0.217.0/windows/constants.ts new file mode 100644 index 0000000..b88dc1b --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/constants.ts @@ -0,0 +1,6 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export const DELIMITER = ";" as const; +export const SEPARATOR = "\\" as const; +export const SEPARATOR_PATTERN = /[\\/]+/; diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/dirname.ts b/vendor/jsr.io/@std/path/0.217.0/windows/dirname.ts new file mode 100644 index 0000000..191beb6 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/dirname.ts @@ -0,0 +1,103 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "./../_common/dirname.ts"; +import { CHAR_COLON } from "./../_common/constants.ts"; +import { stripTrailingSeparators } from "./../_common/strip_trailing_separators.ts"; +import { + isPathSeparator, + isPosixPathSeparator, + isWindowsDeviceRoot, +} from "./_util.ts"; + +/** + * Return the directory path of a `path`. + * @param path - path to extract the directory from. + */ +export function dirname(path: string): string { + assertArg(path); + + const len = path.length; + let rootEnd = -1; + let end = -1; + let matchedSlash = true; + let offset = 0; + const code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + rootEnd = offset = 1; + + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + return path; + } + if (j !== last) { + // We matched a UNC root with leftovers + + // Offset by 1 to include the separator after the UNC root to + // treat it as a "normal root" on top of a (UNC) root + rootEnd = offset = j + 1; + } + } + } + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + rootEnd = offset = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) rootEnd = offset = 3; + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator, exit early to avoid + // unnecessary work + return path; + } + + for (let i = len - 1; i >= offset; --i) { + if (isPathSeparator(path.charCodeAt(i))) { + if (!matchedSlash) { + end = i; + break; + } + } else { + // We saw the first non-path separator + matchedSlash = false; + } + } + + if (end === -1) { + if (rootEnd === -1) return "."; + else end = rootEnd; + } + return stripTrailingSeparators(path.slice(0, end), isPosixPathSeparator); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/extname.ts b/vendor/jsr.io/@std/path/0.217.0/windows/extname.ts new file mode 100644 index 0000000..78c7352 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/extname.ts @@ -0,0 +1,76 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON, CHAR_DOT } from "./../_common/constants.ts"; +import { assertPath } from "./../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Return the extension of the `path` with leading period. + * @param path with extension + * @returns extension (ex. for `file.ts` returns `.ts`) + */ +export function extname(path: string): string { + assertPath(path); + + let start = 0; + let startDot = -1; + let startPart = 0; + let end = -1; + let matchedSlash = true; + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + + // Check for a drive letter prefix so as not to mistake the following + // path separator as an extra separator at the end of the path that can be + // disregarded + + if ( + path.length >= 2 && + path.charCodeAt(1) === CHAR_COLON && + isWindowsDeviceRoot(path.charCodeAt(0)) + ) { + start = startPart = 2; + } + + for (let i = path.length - 1; i >= start; --i) { + const code = path.charCodeAt(i); + if (isPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + return ""; + } + return path.slice(startDot, end); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/format.ts b/vendor/jsr.io/@std/path/0.217.0/windows/format.ts new file mode 100644 index 0000000..bfca1bb --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/format.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _format, assertArg } from "./../_common/format.ts"; +import type { FormatInputPathObject } from "./../_interface.ts"; + +/** + * Generate a path from `FormatInputPathObject` object. + * @param pathObject with path + */ +export function format(pathObject: FormatInputPathObject): string { + assertArg(pathObject); + return _format("\\", pathObject); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/from_file_url.ts b/vendor/jsr.io/@std/path/0.217.0/windows/from_file_url.ts new file mode 100644 index 0000000..96fc533 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/from_file_url.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "./../_common/from_file_url.ts"; + +/** + * Converts a file URL to a path string. + * + * ```ts + * import { fromFileUrl } from "@std/path/windows/from_file_url"; + * + * fromFileUrl("file:///home/foo"); // "\\home\\foo" + * fromFileUrl("file:///C:/Users/foo"); // "C:\\Users\\foo" + * fromFileUrl("file://localhost/home/foo"); // "\\\\localhost\\home\\foo" + * ``` + * @param url of a file URL + */ +export function fromFileUrl(url: URL | string): string { + url = assertArg(url); + let path = decodeURIComponent( + url.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25"), + ).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\"); + if (url.hostname !== "") { + // Note: The `URL` implementation guarantees that the drive letter and + // hostname are mutually exclusive. Otherwise it would not have been valid + // to append the hostname and path like this. + path = `\\\\${url.hostname}${path}`; + } + return path; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/glob_to_regexp.ts b/vendor/jsr.io/@std/path/0.217.0/windows/glob_to_regexp.ts new file mode 100644 index 0000000..f01831d --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/glob_to_regexp.ts @@ -0,0 +1,79 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + _globToRegExp, + GlobConstants, + GlobToRegExpOptions, +} from "./../_common/glob_to_reg_exp.ts"; + +const constants: GlobConstants = { + sep: "(?:\\\\|/)+", + sepMaybe: "(?:\\\\|/)*", + seps: ["\\", "/"], + globstar: "(?:[^\\\\/]*(?:\\\\|/|$)+)*", + wildcard: "[^\\\\/]*", + escapePrefix: "`", +}; + +/** Convert a glob string to a regular expression. + * + * Tries to match bash glob expansion as closely as possible. + * + * Basic glob syntax: + * - `*` - Matches everything without leaving the path segment. + * - `?` - Matches any single character. + * - `{foo,bar}` - Matches `foo` or `bar`. + * - `[abcd]` - Matches `a`, `b`, `c` or `d`. + * - `[a-d]` - Matches `a`, `b`, `c` or `d`. + * - `[!abcd]` - Matches any single character besides `a`, `b`, `c` or `d`. + * - `[[::]]` - Matches any character belonging to ``. + * - `[[:alnum:]]` - Matches any digit or letter. + * - `[[:digit:]abc]` - Matches any digit, `a`, `b` or `c`. + * - See https://facelessuser.github.io/wcmatch/glob/#posix-character-classes + * for a complete list of supported character classes. + * - `\` - Escapes the next character for an `os` other than `"windows"`. + * - \` - Escapes the next character for `os` set to `"windows"`. + * - `/` - Path separator. + * - `\` - Additional path separator only for `os` set to `"windows"`. + * + * Extended syntax: + * - Requires `{ extended: true }`. + * - `?(foo|bar)` - Matches 0 or 1 instance of `{foo,bar}`. + * - `@(foo|bar)` - Matches 1 instance of `{foo,bar}`. They behave the same. + * - `*(foo|bar)` - Matches _n_ instances of `{foo,bar}`. + * - `+(foo|bar)` - Matches _n > 0_ instances of `{foo,bar}`. + * - `!(foo|bar)` - Matches anything other than `{foo,bar}`. + * - See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * Globstar syntax: + * - Requires `{ globstar: true }`. + * - `**` - Matches any number of any path segments. + * - Must comprise its entire path segment in the provided glob. + * - See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * + * Note the following properties: + * - The generated `RegExp` is anchored at both start and end. + * - Repeating and trailing separators are tolerated. Trailing separators in the + * provided glob have no meaning and are discarded. + * - Absolute globs will only match absolute paths, etc. + * - Empty globs will match nothing. + * - Any special glob syntax must be contained to one path segment. For example, + * `?(foo|bar/baz)` is invalid. The separator will take precedence and the + * first segment ends with an unclosed group. + * - If a path segment ends with unclosed groups or a dangling escape prefix, a + * parse error has occurred. Every character for that segment is taken + * literally in this event. + * + * Limitations: + * - A negative group like `!(foo|bar)` will wrongly be converted to a negative + * look-ahead followed by a wildcard. This means that `!(foo).js` will wrongly + * fail to match `foobar.js`, even though `foobar` is not `foo`. Effectively, + * `!(foo|bar)` is treated like `!(@(foo|bar)*)`. This will work correctly if + * the group occurs not nested at the end of the segment. */ +export function globToRegExp( + glob: string, + options: GlobToRegExpOptions = {}, +): RegExp { + return _globToRegExp(constants, glob, options); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/is_absolute.ts b/vendor/jsr.io/@std/path/0.217.0/windows/is_absolute.ts new file mode 100644 index 0000000..ad545d0 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/is_absolute.ts @@ -0,0 +1,29 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON } from "./../_common/constants.ts"; +import { assertPath } from "./../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Verifies whether provided path is absolute + * @param path to be verified as absolute + */ +export function isAbsolute(path: string): boolean { + assertPath(path); + + const len = path.length; + if (len === 0) return false; + + const code = path.charCodeAt(0); + if (isPathSeparator(code)) { + return true; + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (len > 2 && path.charCodeAt(1) === CHAR_COLON) { + if (isPathSeparator(path.charCodeAt(2))) return true; + } + } + return false; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/is_glob.ts b/vendor/jsr.io/@std/path/0.217.0/windows/is_glob.ts new file mode 100644 index 0000000..f7023ab --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/is_glob.ts @@ -0,0 +1,4 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export { isGlob } from "./../is_glob.ts"; diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/join.ts b/vendor/jsr.io/@std/path/0.217.0/windows/join.ts new file mode 100644 index 0000000..c01ae1c --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/join.ts @@ -0,0 +1,72 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assert } from "jsr:/@std/assert@^0.217.0/assert"; +import { assertPath } from "./../_common/assert_path.ts"; +import { isPathSeparator } from "./_util.ts"; +import { normalize } from "./normalize.ts"; + +/** + * Join all given a sequence of `paths`,then normalizes the resulting path. + * @param paths to be joined and normalized + */ +export function join(...paths: string[]): string { + if (paths.length === 0) return "."; + + let joined: string | undefined; + let firstPart: string | null = null; + for (let i = 0; i < paths.length; ++i) { + const path = paths[i]!; + assertPath(path); + if (path.length > 0) { + if (joined === undefined) joined = firstPart = path; + else joined += `\\${path}`; + } + } + + if (joined === undefined) return "."; + + // Make sure that the joined path doesn't start with two slashes, because + // normalize() will mistake it for an UNC path then. + // + // This step is skipped when it is very clear that the user actually + // intended to point at an UNC path. This is assumed when the first + // non-empty string arguments starts with exactly two slashes followed by + // at least one more non-slash character. + // + // Note that for normalize() to treat a path as an UNC path it needs to + // have at least 2 components, so we don't filter for that here. + // This means that the user can use join to construct UNC paths from + // a server name and a share name; for example: + // path.join('//server', 'share') -> '\\\\server\\share\\') + let needsReplace = true; + let slashCount = 0; + assert(firstPart !== null); + if (isPathSeparator(firstPart.charCodeAt(0))) { + ++slashCount; + const firstLen = firstPart.length; + if (firstLen > 1) { + if (isPathSeparator(firstPart.charCodeAt(1))) { + ++slashCount; + if (firstLen > 2) { + if (isPathSeparator(firstPart.charCodeAt(2))) ++slashCount; + else { + // We matched a UNC path in the first part + needsReplace = false; + } + } + } + } + } + if (needsReplace) { + // Find any more consecutive slashes we need to replace + for (; slashCount < joined.length; ++slashCount) { + if (!isPathSeparator(joined.charCodeAt(slashCount))) break; + } + + // Replace the slashes if needed + if (slashCount >= 2) joined = `\\${joined.slice(slashCount)}`; + } + + return normalize(joined); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/join_globs.ts b/vendor/jsr.io/@std/path/0.217.0/windows/join_globs.ts new file mode 100644 index 0000000..f1e7ed7 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/join_globs.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { GlobOptions } from "./../_common/glob_to_reg_exp.ts"; +import { join } from "./join.ts"; +import { SEPARATOR } from "./constants.ts"; +import { normalizeGlob } from "./normalize_glob.ts"; + +export type { GlobOptions }; + +/** Like join(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function joinGlobs( + globs: string[], + { extended = true, globstar = false }: GlobOptions = {}, +): string { + if (!globstar || globs.length === 0) { + return join(...globs); + } + if (globs.length === 0) return "."; + let joined: string | undefined; + for (const glob of globs) { + const path = glob; + if (path.length > 0) { + if (!joined) joined = path; + else joined += `${SEPARATOR}${path}`; + } + } + if (!joined) return "."; + return normalizeGlob(joined, { extended, globstar }); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/mod.ts b/vendor/jsr.io/@std/path/0.217.0/windows/mod.ts new file mode 100644 index 0000000..8919be1 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/mod.ts @@ -0,0 +1,43 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported mostly from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +/** + * Utilities for working with OS-specific file paths. + * + * Codes in the examples uses POSIX path but it automatically use Windows path + * on Windows. Use methods under `posix` or `win32` object instead to handle non + * platform specific path like: + * ```ts + * import { posix, win32 } from "@std/path"; + * const p1 = posix.fromFileUrl("file:///home/foo"); + * const p2 = win32.fromFileUrl("file:///home/foo"); + * console.log(p1); // "/home/foo" + * console.log(p2); // "\\home\\foo" + * ``` + * + * This module is browser compatible. + * + * @module + */ +export * from "./basename.ts"; +export * from "./constants.ts"; +export * from "./dirname.ts"; +export * from "./extname.ts"; +export * from "./format.ts"; +export * from "./from_file_url.ts"; +export * from "./is_absolute.ts"; +export * from "./join.ts"; +export * from "./normalize.ts"; +export * from "./parse.ts"; +export * from "./relative.ts"; +export * from "./resolve.ts"; +export * from "./to_file_url.ts"; +export * from "./to_namespaced_path.ts"; +export * from "./common.ts"; +export * from "./../_interface.ts"; +export * from "./glob_to_regexp.ts"; +export * from "./is_glob.ts"; +export * from "./join_globs.ts"; +export * from "./normalize_glob.ts"; diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/normalize.ts b/vendor/jsr.io/@std/path/0.217.0/windows/normalize.ts new file mode 100644 index 0000000..73a4fd9 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/normalize.ts @@ -0,0 +1,127 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "./../_common/normalize.ts"; +import { CHAR_COLON } from "./../_common/constants.ts"; +import { normalizeString } from "./../_common/normalize_string.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Normalize the `path`, resolving `'..'` and `'.'` segments. + * Note that resolving these segments does not necessarily mean that all will be eliminated. + * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. + * @param path to be normalized + */ +export function normalize(path: string): string { + assertArg(path); + + const len = path.length; + let rootEnd = 0; + let device: string | undefined; + let isAbsolute = false; + const code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + // If we started with a separator, we know we at least have an absolute + // path of some kind (UNC or otherwise) + isAbsolute = true; + + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + const firstPart = path.slice(last, j); + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + // Return the normalized version of the UNC root since there + // is nothing left to process + + return `\\\\${firstPart}\\${path.slice(last)}\\`; + } else if (j !== last) { + // We matched a UNC root with leftovers + + device = `\\\\${firstPart}\\${path.slice(last, j)}`; + rootEnd = j; + } + } + } + } else { + rootEnd = 1; + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + device = path.slice(0, 2); + rootEnd = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) { + // Treat separator following drive name as an absolute path + // indicator + isAbsolute = true; + rootEnd = 3; + } + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator, exit early to avoid unnecessary + // work + return "\\"; + } + + let tail: string; + if (rootEnd < len) { + tail = normalizeString( + path.slice(rootEnd), + !isAbsolute, + "\\", + isPathSeparator, + ); + } else { + tail = ""; + } + if (tail.length === 0 && !isAbsolute) tail = "."; + if (tail.length > 0 && isPathSeparator(path.charCodeAt(len - 1))) { + tail += "\\"; + } + if (device === undefined) { + if (isAbsolute) { + if (tail.length > 0) return `\\${tail}`; + else return "\\"; + } else if (tail.length > 0) { + return tail; + } else { + return ""; + } + } else if (isAbsolute) { + if (tail.length > 0) return `${device}\\${tail}`; + else return `${device}\\`; + } else if (tail.length > 0) { + return device + tail; + } else { + return device; + } +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/normalize_glob.ts b/vendor/jsr.io/@std/path/0.217.0/windows/normalize_glob.ts new file mode 100644 index 0000000..0f97f7a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/normalize_glob.ts @@ -0,0 +1,28 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { globToRegExp as _globToRegExp } from "./glob_to_regexp.ts"; +import { GlobOptions } from "./../_common/glob_to_reg_exp.ts"; +import { normalize } from "./normalize.ts"; +import { SEPARATOR_PATTERN } from "./constants.ts"; + +export type { GlobOptions }; + +/** Like normalize(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function normalizeGlob( + glob: string, + { globstar = false }: GlobOptions = {}, +): string { + if (glob.match(/\0/g)) { + throw new Error(`Glob contains invalid characters: "${glob}"`); + } + if (!globstar) { + return normalize(glob); + } + const s = SEPARATOR_PATTERN.source; + const badParentPattern = new RegExp( + `(?<=(${s}|^)\\*\\*${s})\\.\\.(?=${s}|$)`, + "g", + ); + return normalize(glob.replace(badParentPattern, "\0")).replace(/\0/g, ".."); +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/parse.ts b/vendor/jsr.io/@std/path/0.217.0/windows/parse.ts new file mode 100644 index 0000000..0620a63 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/parse.ts @@ -0,0 +1,165 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON, CHAR_DOT } from "./../_common/constants.ts"; +import { ParsedPath } from "./../_interface.ts"; +import { assertPath } from "./../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Return a `ParsedPath` object of the `path`. + * @param path to process + */ +export function parse(path: string): ParsedPath { + assertPath(path); + + const ret: ParsedPath = { root: "", dir: "", base: "", ext: "", name: "" }; + + const len = path.length; + if (len === 0) return ret; + + let rootEnd = 0; + let code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + rootEnd = 1; + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + + rootEnd = j; + } else if (j !== last) { + // We matched a UNC root with leftovers + + rootEnd = j + 1; + } + } + } + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + rootEnd = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) { + if (len === 3) { + // `path` contains just a drive root, exit early to avoid + // unnecessary work + ret.root = ret.dir = path; + ret.base = "\\"; + return ret; + } + rootEnd = 3; + } + } else { + // `path` contains just a relative drive root, exit early to avoid + // unnecessary work + ret.root = ret.dir = path; + return ret; + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator, exit early to avoid + // unnecessary work + ret.root = ret.dir = path; + ret.base = "\\"; + return ret; + } + + if (rootEnd > 0) ret.root = path.slice(0, rootEnd); + + let startDot = -1; + let startPart = rootEnd; + let end = -1; + let matchedSlash = true; + let i = path.length - 1; + + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + + // Get non-dir info + for (; i >= rootEnd; --i) { + code = path.charCodeAt(i); + if (isPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + if (end !== -1) { + ret.base = ret.name = path.slice(startPart, end); + } + } else { + ret.name = path.slice(startPart, startDot); + ret.base = path.slice(startPart, end); + ret.ext = path.slice(startDot, end); + } + + // Fallback to '\' in case there is no basename + ret.base = ret.base || "\\"; + + // If the directory is the root, use the entire root as the `dir` including + // the trailing slash if any (`C:\abc` -> `C:\`). Otherwise, strip out the + // trailing slash (`C:\abc\def` -> `C:\abc`). + if (startPart > 0 && startPart !== rootEnd) { + ret.dir = path.slice(0, startPart - 1); + } else ret.dir = ret.root; + + return ret; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/relative.ts b/vendor/jsr.io/@std/path/0.217.0/windows/relative.ts new file mode 100644 index 0000000..6a36d9a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/relative.ts @@ -0,0 +1,118 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_BACKWARD_SLASH } from "./../_common/constants.ts"; +import { resolve } from "./resolve.ts"; +import { assertArgs } from "./../_common/relative.ts"; + +/** + * Return the relative path from `from` to `to` based on current working directory. + * + * An example in windws, for instance: + * from = 'C:\\orandea\\test\\aaa' + * to = 'C:\\orandea\\impl\\bbb' + * The output of the function should be: '..\\..\\impl\\bbb' + * + * @param from path in current working directory + * @param to path in current working directory + */ +export function relative(from: string, to: string): string { + assertArgs(from, to); + + const fromOrig = resolve(from); + const toOrig = resolve(to); + + if (fromOrig === toOrig) return ""; + + from = fromOrig.toLowerCase(); + to = toOrig.toLowerCase(); + + if (from === to) return ""; + + // Trim any leading backslashes + let fromStart = 0; + let fromEnd = from.length; + for (; fromStart < fromEnd; ++fromStart) { + if (from.charCodeAt(fromStart) !== CHAR_BACKWARD_SLASH) break; + } + // Trim trailing backslashes (applicable to UNC paths only) + for (; fromEnd - 1 > fromStart; --fromEnd) { + if (from.charCodeAt(fromEnd - 1) !== CHAR_BACKWARD_SLASH) break; + } + const fromLen = fromEnd - fromStart; + + // Trim any leading backslashes + let toStart = 0; + let toEnd = to.length; + for (; toStart < toEnd; ++toStart) { + if (to.charCodeAt(toStart) !== CHAR_BACKWARD_SLASH) break; + } + // Trim trailing backslashes (applicable to UNC paths only) + for (; toEnd - 1 > toStart; --toEnd) { + if (to.charCodeAt(toEnd - 1) !== CHAR_BACKWARD_SLASH) break; + } + const toLen = toEnd - toStart; + + // Compare paths to find the longest common path from root + const length = fromLen < toLen ? fromLen : toLen; + let lastCommonSep = -1; + let i = 0; + for (; i <= length; ++i) { + if (i === length) { + if (toLen > length) { + if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) { + // We get here if `from` is the exact base path for `to`. + // For example: from='C:\\foo\\bar'; to='C:\\foo\\bar\\baz' + return toOrig.slice(toStart + i + 1); + } else if (i === 2) { + // We get here if `from` is the device root. + // For example: from='C:\\'; to='C:\\foo' + return toOrig.slice(toStart + i); + } + } + if (fromLen > length) { + if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) { + // We get here if `to` is the exact base path for `from`. + // For example: from='C:\\foo\\bar'; to='C:\\foo' + lastCommonSep = i; + } else if (i === 2) { + // We get here if `to` is the device root. + // For example: from='C:\\foo\\bar'; to='C:\\' + lastCommonSep = 3; + } + } + break; + } + const fromCode = from.charCodeAt(fromStart + i); + const toCode = to.charCodeAt(toStart + i); + if (fromCode !== toCode) break; + else if (fromCode === CHAR_BACKWARD_SLASH) lastCommonSep = i; + } + + // We found a mismatch before the first common path separator was seen, so + // return the original `to`. + if (i !== length && lastCommonSep === -1) { + return toOrig; + } + + let out = ""; + if (lastCommonSep === -1) lastCommonSep = 0; + // Generate the relative path based on the path difference between `to` and + // `from` + for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { + if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) { + if (out.length === 0) out += ".."; + else out += "\\.."; + } + } + + // Lastly, append the rest of the destination (`to`) path that comes after + // the common path parts + if (out.length > 0) { + return out + toOrig.slice(toStart + lastCommonSep, toEnd); + } else { + toStart += lastCommonSep; + if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) ++toStart; + return toOrig.slice(toStart, toEnd); + } +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/resolve.ts b/vendor/jsr.io/@std/path/0.217.0/windows/resolve.ts new file mode 100644 index 0000000..49c287a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/resolve.ts @@ -0,0 +1,161 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON } from "./../_common/constants.ts"; +import { normalizeString } from "./../_common/normalize_string.ts"; +import { assertPath } from "./../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Resolves path segments into a `path` + * @param pathSegments to process to path + */ +export function resolve(...pathSegments: string[]): string { + let resolvedDevice = ""; + let resolvedTail = ""; + let resolvedAbsolute = false; + + for (let i = pathSegments.length - 1; i >= -1; i--) { + let path: string; + // deno-lint-ignore no-explicit-any + const { Deno } = globalThis as any; + if (i >= 0) { + path = pathSegments[i]!; + } else if (!resolvedDevice) { + if (typeof Deno?.cwd !== "function") { + throw new TypeError("Resolved a drive-letter-less path without a CWD."); + } + path = Deno.cwd(); + } else { + if ( + typeof Deno?.env?.get !== "function" || typeof Deno?.cwd !== "function" + ) { + throw new TypeError("Resolved a relative path without a CWD."); + } + path = Deno.cwd(); + + // Verify that a cwd was found and that it actually points + // to our drive. If not, default to the drive's root. + if ( + path === undefined || + path.slice(0, 3).toLowerCase() !== `${resolvedDevice.toLowerCase()}\\` + ) { + path = `${resolvedDevice}\\`; + } + } + + assertPath(path); + + const len = path.length; + + // Skip empty entries + if (len === 0) continue; + + let rootEnd = 0; + let device = ""; + let isAbsolute = false; + const code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + // If we started with a separator, we know we at least have an + // absolute path of some kind (UNC or otherwise) + isAbsolute = true; + + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + const firstPart = path.slice(last, j); + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + device = `\\\\${firstPart}\\${path.slice(last)}`; + rootEnd = j; + } else if (j !== last) { + // We matched a UNC root with leftovers + + device = `\\\\${firstPart}\\${path.slice(last, j)}`; + rootEnd = j; + } + } + } + } else { + rootEnd = 1; + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + device = path.slice(0, 2); + rootEnd = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) { + // Treat separator following drive name as an absolute path + // indicator + isAbsolute = true; + rootEnd = 3; + } + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator + rootEnd = 1; + isAbsolute = true; + } + + if ( + device.length > 0 && + resolvedDevice.length > 0 && + device.toLowerCase() !== resolvedDevice.toLowerCase() + ) { + // This path points to another device so it is not applicable + continue; + } + + if (resolvedDevice.length === 0 && device.length > 0) { + resolvedDevice = device; + } + if (!resolvedAbsolute) { + resolvedTail = `${path.slice(rootEnd)}\\${resolvedTail}`; + resolvedAbsolute = isAbsolute; + } + + if (resolvedAbsolute && resolvedDevice.length > 0) break; + } + + // At this point the path should be resolved to a full absolute path, + // but handle relative paths to be safe (might happen when Deno.cwd() + // fails) + + // Normalize the tail path + resolvedTail = normalizeString( + resolvedTail, + !resolvedAbsolute, + "\\", + isPathSeparator, + ); + + return resolvedDevice + (resolvedAbsolute ? "\\" : "") + resolvedTail || "."; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/to_file_url.ts b/vendor/jsr.io/@std/path/0.217.0/windows/to_file_url.ts new file mode 100644 index 0000000..b7596f3 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/to_file_url.ts @@ -0,0 +1,35 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { encodeWhitespace } from "./../_common/to_file_url.ts"; +import { isAbsolute } from "./is_absolute.ts"; + +/** + * Converts a path string to a file URL. + * + * ```ts + * import { toFileUrl } from "@std/path/windows/to_file_url"; + * + * toFileUrl("\\home\\foo"); // new URL("file:///home/foo") + * toFileUrl("C:\\Users\\foo"); // new URL("file:///C:/Users/foo") + * toFileUrl("\\\\127.0.0.1\\home\\foo"); // new URL("file://127.0.0.1/home/foo") + * ``` + * @param path to convert to file URL + */ +export function toFileUrl(path: string): URL { + if (!isAbsolute(path)) { + throw new TypeError("Must be an absolute path."); + } + const [, hostname, pathname] = path.match( + /^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/, + )!; + const url = new URL("file:///"); + url.pathname = encodeWhitespace(pathname!.replace(/%/g, "%25")); + if (hostname !== undefined && hostname !== "localhost") { + url.hostname = hostname; + if (!url.hostname) { + throw new TypeError("Invalid hostname."); + } + } + return url; +} diff --git a/vendor/jsr.io/@std/path/0.217.0/windows/to_namespaced_path.ts b/vendor/jsr.io/@std/path/0.217.0/windows/to_namespaced_path.ts new file mode 100644 index 0000000..5df2fdf --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0/windows/to_namespaced_path.ts @@ -0,0 +1,49 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + CHAR_BACKWARD_SLASH, + CHAR_COLON, + CHAR_DOT, + CHAR_QUESTION_MARK, +} from "./../_common/constants.ts"; +import { isWindowsDeviceRoot } from "./_util.ts"; +import { resolve } from "./resolve.ts"; + +/** + * Resolves path to a namespace path + * @param path to resolve to namespace + */ +export function toNamespacedPath(path: string): string { + // Note: this will *probably* throw somewhere. + if (typeof path !== "string") return path; + if (path.length === 0) return ""; + + const resolvedPath = resolve(path); + + if (resolvedPath.length >= 3) { + if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) { + // Possible UNC root + + if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) { + const code = resolvedPath.charCodeAt(2); + if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) { + // Matched non-long UNC root, convert the path to a long UNC path + return `\\\\?\\UNC\\${resolvedPath.slice(2)}`; + } + } + } else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0))) { + // Possible device root + + if ( + resolvedPath.charCodeAt(1) === CHAR_COLON && + resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH + ) { + // Matched device root, convert the path to a long UNC path + return `\\\\?\\${resolvedPath}`; + } + } + } + + return path; +} diff --git a/vendor/jsr.io/@std/path/0.217.0_meta.json b/vendor/jsr.io/@std/path/0.217.0_meta.json new file mode 100644 index 0000000..6387e54 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.217.0_meta.json @@ -0,0 +1,8250 @@ +{ + "manifest": { + "/resolve.ts": { + "size": 528, + "checksum": "sha256-a6f977bdb4272e79d8d0ed4333e3d71367cc3926acf15ac271f1d059c8494d8d" + }, + "/join_globs.ts": { + "size": 650, + "checksum": "sha256-5b3bf248b93247194f94fa6947b612ab9d3abd571ca8386cf7789038545e54a0" + }, + "/windows/to_namespaced_path.ts": { + "size": 1459, + "checksum": "sha256-96dd0d55d484905e06553fd7d5feb6b3e4c0c99c337fda4199b6c32bce44833a" + }, + "/posix/relative.ts": { + "size": 3002, + "checksum": "sha256-f0617bf5614ac45462d71d8d03a5bbe3db9f5aaadc9e470a560013d0416d4cc0" + }, + "/is_glob.ts": { + "size": 938, + "checksum": "sha256-a65f6195d3058c3050ab905705891b412ff942a292bcbaa1a807a74439a14141" + }, + "/windows/constants.ts": { + "size": 236, + "checksum": "sha256-5afaac0a1f67b68b0a380a4ef391bf59feb55856aa8c60dfc01bd3b6abb813f5" + }, + "/constants.ts": { + "size": 348, + "checksum": "sha256-0c206169ca104938ede9da48ac952de288f23343304a1c3cb6ec7625e7325f36" + }, + "/format.ts": { + "size": 571, + "checksum": "sha256-98fad25f1af7b96a48efb5b67378fcc8ed77be895df8b9c733b86411632162af" + }, + "/windows/basename.ts": { + "size": 1320, + "checksum": "sha256-20179a24e3b4a8d5d957f0b6c5515d1d05c47c7e5824d595844f3ff5558e6e5b" + }, + "/windows/format.ts": { + "size": 467, + "checksum": "sha256-8986f9e9b1cd48b404aa7c3873bfb976a9af08eeb40a58f1001a8d887d0dfe14" + }, + "/windows/is_glob.ts": { + "size": 156, + "checksum": "sha256-135ac8b1e647f673ea650fb713e2d9c42d0108c29cae3a2b77399fec0dae8864" + }, + "/relative_test.ts": { + "size": 2978, + "checksum": "sha256-6a4fe40613285ccb8137e2181dd6c3e298f454687a5bb87ba81b6059eec508c4" + }, + "/posix/is_glob.ts": { + "size": 156, + "checksum": "sha256-135ac8b1e647f673ea650fb713e2d9c42d0108c29cae3a2b77399fec0dae8864" + }, + "/posix/parse.ts": { + "size": 3070, + "checksum": "sha256-96aad4733eb1091db6b3de423f23c25a2ac3e3a5b29b35c3ee808b123eef73e5" + }, + "/is_absolute_test.ts": { + "size": 1793, + "checksum": "sha256-f1198d9b50e6a0b0f434471a6e8ec1ad713e5ce73bcef52cb4e50cee0785e645" + }, + "/mod.ts": { + "size": 2162, + "checksum": "sha256-0331a63bbd90ef681b99ab7e9e29db284124571c99ee30ccb7ca96cb25bfbb69" + }, + "/posix/join.ts": { + "size": 734, + "checksum": "sha256-3177c1693c73ab79a2eb9be5835d41a00411a1300bd46a3c2c786b005364ff7a" + }, + "/parse_format_test.ts": { + "size": 5933, + "checksum": "sha256-2b2429e8752318dfeeeb3ff77283178ebfa3439871e969ca93f3b68f41175bbe" + }, + "/normalize_glob.ts": { + "size": 689, + "checksum": "sha256-cc89a77a7d3b1d01053b9dcd59462b75482b11e9068ae6c754b5cf5d794b374f" + }, + "/parse.ts": { + "size": 513, + "checksum": "sha256-65e8e285f1a63b714e19ef24b68f56e76934c3df0b6e65fd440d3991f4f8aefb" + }, + "/from_file_url_test.ts": { + "size": 2369, + "checksum": "sha256-9cb667630b3a1bde8a196b7d1781ef003f34dbf93a958858054919b1057a9151" + }, + "/windows/extname.ts": { + "size": 2346, + "checksum": "sha256-297ff46e51d75b97d4096cf5664471dca65b529f557c2e6e08aec3f2441767bf" + }, + "/windows/from_file_url.ts": { + "size": 1060, + "checksum": "sha256-d67e4c8e7453597bf8071da6a995d6c9ad41f3c30192dc6494a25beb14647ff7" + }, + "/basename.ts": { + "size": 677, + "checksum": "sha256-5d341aadb7ada266e2280561692c165771d071c98746fcb66da928870cd47668" + }, + "/windows/normalize_glob.ts": { + "size": 923, + "checksum": "sha256-5bce9621a3562265bd3279f9b3b388611e19cf9f2c3521b0d8dbf18267e3b050" + }, + "/posix/glob_to_regexp.ts": { + "size": 3386, + "checksum": "sha256-4db789540039ea4c75f1ba8182c43fc2965a019df3c26a825945642452e8bf75" + }, + "/normalize_test.ts": { + "size": 350, + "checksum": "sha256-be4bff14aec26e917524eb02e70363d818bf2f6dac12703b8cb70e96a26921bc" + }, + "/extname_test.ts": { + "size": 2673, + "checksum": "sha256-268ff176b2d8ee228c38c4d2e1169947760484eccac9813ce4c7379e06165f3d" + }, + "/posix/format.ts": { + "size": 466, + "checksum": "sha256-47318e54ac8cd2e9c35ef2a143d02c198ce093e31f9789b6ecb95cbc60fec71b" + }, + "/posix/normalize_glob.ts": { + "size": 854, + "checksum": "sha256-5b6fa8264f0f3663ee4b30034f783973d7a530bdd0ad8ee37a566f2b2a65ee71" + }, + "/windows/is_absolute.ts": { + "size": 822, + "checksum": "sha256-d3534d9fd5680d4c6895bbb59193335e5753cdef875f095297be66eb96f2f530" + }, + "/posix/is_absolute.ts": { + "size": 464, + "checksum": "sha256-e7147b25e786abb51dd888eca89d2fd3770c41e6bd556d19db26cca348fb78a4" + }, + "/normalize.ts": { + "size": 695, + "checksum": "sha256-4155743ccceeed319b350c1e62e931600272fad8ad00c417b91df093867a8352" + }, + "/_common/assert_path.ts": { + "size": 307, + "checksum": "sha256-dbdd757a465b690b2cc72fc5fb7698c51507dec6bfafce4ca500c46b76ff7bd8" + }, + "/windows/dirname.ts": { + "size": 2885, + "checksum": "sha256-f5aee3cff1830aa804bee6b947c51a667dfc713b339923d884e590cffdf5d8e0" + }, + "/is_absolute.ts": { + "size": 521, + "checksum": "sha256-4791afc8bfd0c87f0526eaa616b0d16e7b3ab6a65b62942e50eac68de4ef67d7" + }, + "/posix/normalize.ts": { + "size": 1060, + "checksum": "sha256-9b9f666159c0e5ee3df292cf56555547b1be4cd3ca54da6a263a3074b8e44964" + }, + "/to_file_url.ts": { + "size": 871, + "checksum": "sha256-ce1a439e03377882e58f06ef43ef2259d483bab235d1eb727f1637b0a6bd7070" + }, + "/windows/normalize.ts": { + "size": 3792, + "checksum": "sha256-f5d8b971161eff7b4f8e45c7520cbb0c6553ccff7c4b3ced2dfe0d6ad46a2328" + }, + "/windows/glob_to_regexp.ts": { + "size": 3422, + "checksum": "sha256-5a9251ea357ec619f8b370a87e3ec010f36ceb9a0112973b6a1122684b72ccdb" + }, + "/is_glob_test.ts": { + "size": 3616, + "checksum": "sha256-7ae45b3a9408f43e8eba5de6c8b679fd1a21c76584648b8a54857850ddcb5a9f" + }, + "/posix/dirname.ts": { + "size": 1113, + "checksum": "sha256-ecdaeec17d5fdd00da89bb05962e209c7aa41ad4967279bc8662c0bb3a243b2f" + }, + "/posix/resolve.ts": { + "size": 1590, + "checksum": "sha256-e9e37a6a564c09db015152e86fdaf450c9361930ab5b8b8016306d7d12272d07" + }, + "/_common/from_file_url.ts": { + "size": 312, + "checksum": "sha256-d672bdeebc11bf80e99bf266f886c70963107bdd31134c4e249eef51133ceccf" + }, + "/join.ts": { + "size": 510, + "checksum": "sha256-ae2ec5ca44c7e84a235fd532e4a0116bfb1f2368b394db1c4fb75e3c0f26a33a" + }, + "/join_globs_test.ts": { + "size": 364, + "checksum": "sha256-11810625da51abee5aa6674d311931d9a8f7f655108d1c2ddfdfd8fd90ebfcf3" + }, + "/to_file_url_test.ts": { + "size": 2014, + "checksum": "sha256-4c79cac280d7a24288d79859fc6fa2a65de9afa318329533ab4be4ac0d768996" + }, + "/normalize_glob_test.ts": { + "size": 405, + "checksum": "sha256-14762f3493d2b48aae05cb1c1e1b9084bb00ef0f929bd9b12abb9299fe2a1383" + }, + "/_common/common.ts": { + "size": 768, + "checksum": "sha256-6157c7ec1f4db2b4a9a187efd6ce76dcaf1e61cfd49f87e40d4ea102818df031" + }, + "/windows/join.ts": { + "size": 2485, + "checksum": "sha256-159bc80c7d28778b48427398bfe04315b109e41da9b0e76536748fadefc222ac" + }, + "/windows/to_file_url.ts": { + "size": 1135, + "checksum": "sha256-7cf51afd608cb167ba857b656f03efabead8f49f8fd5cb3f1ade8bf628c7012c" + }, + "/_os.ts": { + "size": 705, + "checksum": "sha256-8fb9b90fb6b753bd8c77cfd8a33c2ff6c5f5bc185f50de8ca4ac6a05710b2c15" + }, + "/windows/join_globs.ts": { + "size": 928, + "checksum": "sha256-52589b26215d134a6d95b592ae1c1cf35ab670e62c97053c632003c23c5aa0e9" + }, + "/posix/mod.ts": { + "size": 1431, + "checksum": "sha256-43111128c93add2f61503dafd41c97e9b3e5ada9f15fc5f26f5c779f1615de4b" + }, + "/_common/constants.ts": { + "size": 2020, + "checksum": "sha256-dc5f8057159f4b48cd304eb3027e42f1148cf4df1fb4240774d3492b5d12ac0c" + }, + "/_common/relative.ts": { + "size": 287, + "checksum": "sha256-faa2753d9b32320ed4ada0733261e3357c186e5705678d9dd08b97527deae607" + }, + "/_common/normalize.ts": { + "size": 263, + "checksum": "sha256-684df4aa71a04bbcc346c692c8485594fc8a90b9408dfbc26ff32cf3e0c98cc8" + }, + "/_common/dirname.ts": { + "size": 263, + "checksum": "sha256-684df4aa71a04bbcc346c692c8485594fc8a90b9408dfbc26ff32cf3e0c98cc8" + }, + "/_common/strip_trailing_separators.ts": { + "size": 592, + "checksum": "sha256-7024a93447efcdcfeaa9339a98fa63ef9d53de363f1fbe9858970f1bba02655a" + }, + "/_common/glob_to_reg_exp.ts": { + "size": 7448, + "checksum": "sha256-6cac16d5c2dc23af7d66348a7ce430e5de4e70b0eede074bdbcf4903f4374d8d" + }, + "/join_test.ts": { + "size": 4492, + "checksum": "sha256-caed943feff4f2dab3614fd89b725cccce7161a6abd37f563cb5948c134551ea" + }, + "/posix/to_file_url.ts": { + "size": 730, + "checksum": "sha256-e1c2f7b256100610ae85a443f89404f4b5d730d882c388a76b8e4fa1ecfc5ac7" + }, + "/posix/_util.ts": { + "size": 393, + "checksum": "sha256-b24abdfa97820d3a9dc696bf7947c35ac2cf5d836c16ae20592a8dc0757321a3" + }, + "/extname.ts": { + "size": 547, + "checksum": "sha256-593303db8ae8c865cbd9ceec6e55d4b9ac5410c1e276bfd3131916591b954441" + }, + "/posix/extname.ts": { + "size": 1980, + "checksum": "sha256-b1400d9d0ac2160accda327790c93daa4ee8325b87f4c4d9b21887e7c8fd73db" + }, + "/resolve_test.ts": { + "size": 2078, + "checksum": "sha256-3c5d9cd4607aa13457e8d46c71f24ecb63a3d8505cadfca6ad9cb28e703417b8" + }, + "/posix/common.ts": { + "size": 674, + "checksum": "sha256-4c896e6e9357f33c3ffe027cb13cb2ccf5dbe3575604b43c195befffb0f40b2b" + }, + "/posix/join_globs.ts": { + "size": 928, + "checksum": "sha256-52589b26215d134a6d95b592ae1c1cf35ab670e62c97053c632003c23c5aa0e9" + }, + "/from_file_url.ts": { + "size": 861, + "checksum": "sha256-7c87244ca07e4065cb024016b03d012facb856cc7aed089d9b6f1e4ea6152316" + }, + "/deno.json": { + "size": 2819, + "checksum": "sha256-72dc8e8872df5c48f87691b50724375dc22c293b7a911d2a03adec4b2d679374" + }, + "/dirname.ts": { + "size": 498, + "checksum": "sha256-85bd955bf31d62c9aafdd7ff561c4b5fb587d11a9a5a45e2b01aedffa4238a7c" + }, + "/windows/parse.ts": { + "size": 4926, + "checksum": "sha256-c63488c9d581576f955eaa8c4ab09c165b8d922ec3911b302c31331c8303973f" + }, + "/relative.ts": { + "size": 788, + "checksum": "sha256-ab739d727180ed8727e34ed71d976912461d98e2b76de3d3de834c1066667add" + }, + "/basename_test.ts": { + "size": 4047, + "checksum": "sha256-fce75083b78501bb9aa8db69b982414b32d9d0720e5812aa3aaa7cf5e99c8479" + }, + "/to_namespaced_path.ts": { + "size": 572, + "checksum": "sha256-b706a4103b104cfadc09600a5f838c2ba94dbcdb642344557122dda444526e40" + }, + "/_common/format.ts": { + "size": 829, + "checksum": "sha256-ef04423fd59d06dc027a4ccbe9eaa7b59c32f9d76e434d9debec43b7283e228e" + }, + "/windows/_util.ts": { + "size": 830, + "checksum": "sha256-8f491fe68728772ce98d3bdf54dcd89c823d5ecd2bec6153c343a95843f625ca" + }, + "/windows/relative.ts": { + "size": 3982, + "checksum": "sha256-366eb25bd3469433e47dd4cac52d03048d5e27e8a89e059217065d3afa4e7e71" + }, + "/posix/to_namespaced_path.ts": { + "size": 301, + "checksum": "sha256-28b216b3c76f892a4dca9734ff1cc0045d135532bfd9c435ae4858bfa5a2ebf0" + }, + "/common.ts": { + "size": 671, + "checksum": "sha256-4c80da2ee5563eb31f87cf7d21879db90d614a3fae83358670625e4b90342745" + }, + "/posix/constants.ts": { + "size": 232, + "checksum": "sha256-93481efb98cdffa4c719c22a0182b994e5a6aed3047e1962f6c2c75b7592bef1" + }, + "/windows/resolve.ts": { + "size": 4854, + "checksum": "sha256-d7b7f8bec0e02ccc4a24779bc67d93841536b81577e0b20eb57cfd7315f1ae9f" + }, + "/posix/basename.ts": { + "size": 912, + "checksum": "sha256-265d3360c49c1af372a10891518b785fc2ae138f019892c89642e1f1c523b2dc" + }, + "/posix/from_file_url.ts": { + "size": 562, + "checksum": "sha256-dc4a092de0d117d94bfd54390b4bc360ea1c68d4a1e42d2ea94d6fe75b483c37" + }, + "/glob_to_regexp_test.ts": { + "size": 18202, + "checksum": "sha256-6ab4f3b5cd7e86774dc905ca21d6357282ad2f881fdc089a1c2b7f7d2f4192b8" + }, + "/_common/basename.ts": { + "size": 1262, + "checksum": "sha256-569744855bc8445f3a56087fd2aed56bdad39da971a8d92b138c9913aecc5fa2" + }, + "/common_test.ts": { + "size": 1002, + "checksum": "sha256-f852d9a5b3015859cf72ecfa43ae12486d03f4db72ab3ad98e183ea46f9ba667" + }, + "/_interface.ts": { + "size": 728, + "checksum": "sha256-a1419fcf45c0ceb8acdccc94394e3e94f99e18cfd32d509aab514c8841799600" + }, + "/glob_to_regexp.ts": { + "size": 3587, + "checksum": "sha256-5e51f78a0248c75464bf1d49173de3ec2c032880a530578e56b3fed2a57e69d3" + }, + "/_common/to_file_url.ts": { + "size": 440, + "checksum": "sha256-7f76adbc83ece1bba173e6e98a27c647712cab773d3f8cbe0398b74afc817883" + }, + "/dirname_test.ts": { + "size": 2881, + "checksum": "sha256-5dda06209687ba8ff74064c870ca6cb62e42eef1b4e4b73cda59134fe980df87" + }, + "/_common/normalize_string.ts": { + "size": 2304, + "checksum": "sha256-dfdf657a1b1a7db7999f7c575ee7e6b0551d9c20f19486c6c3f5ff428384c965" + }, + "/windows/mod.ts": { + "size": 1431, + "checksum": "sha256-43111128c93add2f61503dafd41c97e9b3e5ada9f15fc5f26f5c779f1615de4b" + }, + "/windows/common.ts": { + "size": 674, + "checksum": "sha256-4c896e6e9357f33c3ffe027cb13cb2ccf5dbe3575604b43c195befffb0f40b2b" + } + }, + "moduleGraph1": { + "/posix/resolve.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 67 + ] + ], + "specifier": "./../_common/normalize_string.ts", + "specifierRange": [ + [ + 3, + 32 + ], + [ + 3, + 66 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 57 + ] + ], + "specifier": "./../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 50 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/_common/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 46 + ] + ], + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/windows/glob_to_regexp.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 7, + 41 + ] + ], + "specifier": "./../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 40 + ] + ] + } + ] + }, + "/parse.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 50 + ] + ], + "specifier": "./_interface.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 55 + ] + ], + "specifier": "./posix/parse.ts", + "specifierRange": [ + [ + 5, + 36 + ], + [ + 5, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 59 + ] + ], + "specifier": "./windows/parse.ts", + "specifierRange": [ + [ + 6, + 38 + ], + [ + 6, + 58 + ] + ] + } + ] + }, + "/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 61 + ] + ], + "specifier": "./posix/dirname.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 65 + ] + ], + "specifier": "./windows/dirname.ts", + "specifierRange": [ + [ + 5, + 42 + ], + [ + 5, + 64 + ] + ] + } + ] + }, + "/_common/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 64 + ] + ], + "specifier": "./../_interface.ts", + "specifierRange": [ + [ + 3, + 43 + ], + [ + 3, + 63 + ] + ] + } + ] + }, + "/posix/normalize_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 62 + ] + ], + "specifier": "./../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 28 + ], + [ + 3, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 43 + ] + ], + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 51 + ] + ], + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 34 + ], + [ + 5, + 50 + ] + ] + } + ] + }, + "/posix/_util.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " Copyright the Browserify authors. MIT License.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 49 + ] + ] + }, + { + "text": " Ported from https://github.com/browserify/path-browserify/", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 61 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ] + } + ], + "range": [ + [ + 5, + 0 + ], + [ + 5, + 63 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 5, + 35 + ], + [ + 5, + 62 + ] + ] + } + ] + }, + "/is_glob.ts": {}, + "/windows/to_namespaced_path.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 8, + 35 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 8, + 7 + ], + [ + 8, + 34 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 9, + 0 + ], + [ + 9, + 49 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 9, + 36 + ], + [ + 9, + 48 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 10, + 0 + ], + [ + 10, + 39 + ] + ], + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 10, + 24 + ], + [ + 10, + 38 + ] + ] + } + ] + }, + "/posix/join_globs.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 62 + ] + ], + "specifier": "./../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 28 + ], + [ + 3, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 33 + ] + ], + "specifier": "./join.ts", + "specifierRange": [ + [ + 4, + 21 + ], + [ + 4, + 32 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 43 + ] + ], + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 26 + ], + [ + 5, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 52 + ] + ], + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 6, + 30 + ], + [ + 6, + 51 + ] + ] + } + ] + }, + "/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 67 + ] + ], + "specifier": "./posix/normalize.ts", + "specifierRange": [ + [ + 4, + 44 + ], + [ + 4, + 66 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 71 + ] + ], + "specifier": "./windows/normalize.ts", + "specifierRange": [ + [ + 5, + 46 + ], + [ + 5, + 70 + ] + ] + } + ] + }, + "/windows/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " Copyright the Browserify authors. MIT License.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 49 + ] + ] + }, + { + "text": " Ported mostly from https://github.com/browserify/path-browserify/", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 68 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ] + }, + { + "text": "*\n * Utilities for working with OS-specific file paths.\n *\n * Codes in the examples uses POSIX path but it automatically use Windows path\n * on Windows. Use methods under `posix` or `win32` object instead to handle non\n * platform specific path like:\n * ```ts\n * import { posix, win32 } from \"@std/path\";\n * const p1 = posix.fromFileUrl(\"file:///home/foo\");\n * const p2 = win32.fromFileUrl(\"file:///home/foo\");\n * console.log(p1); // \"/home/foo\"\n * console.log(p2); // \"\\\\home\\\\foo\"\n * ```\n *\n * This module is browser compatible.\n *\n * @module\n ", + "range": [ + [ + 5, + 0 + ], + [ + 22, + 3 + ] + ] + } + ], + "range": [ + [ + 23, + 0 + ], + [ + 23, + 30 + ] + ], + "specifier": "./basename.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 24, + 0 + ], + [ + 24, + 31 + ] + ], + "specifier": "./constants.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 25, + 0 + ], + [ + 25, + 29 + ] + ], + "specifier": "./dirname.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 26, + 0 + ], + [ + 26, + 29 + ] + ], + "specifier": "./extname.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 27, + 0 + ], + [ + 27, + 28 + ] + ], + "specifier": "./format.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 28, + 0 + ], + [ + 28, + 35 + ] + ], + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 29, + 0 + ], + [ + 29, + 33 + ] + ], + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 30, + 0 + ], + [ + 30, + 26 + ] + ], + "specifier": "./join.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 31, + 0 + ], + [ + 31, + 31 + ] + ], + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 32, + 0 + ], + [ + 32, + 27 + ] + ], + "specifier": "./parse.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 33, + 0 + ], + [ + 33, + 30 + ] + ], + "specifier": "./relative.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 34, + 0 + ], + [ + 34, + 29 + ] + ], + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 35, + 0 + ], + [ + 35, + 33 + ] + ], + "specifier": "./to_file_url.ts", + "specifierRange": [ + [ + 35, + 14 + ], + [ + 35, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 36, + 0 + ], + [ + 36, + 40 + ] + ], + "specifier": "./to_namespaced_path.ts", + "specifierRange": [ + [ + 36, + 14 + ], + [ + 36, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 37, + 0 + ], + [ + 37, + 28 + ] + ], + "specifier": "./common.ts", + "specifierRange": [ + [ + 37, + 14 + ], + [ + 37, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 38, + 0 + ], + [ + 38, + 35 + ] + ], + "specifier": "./../_interface.ts", + "specifierRange": [ + [ + 38, + 14 + ], + [ + 38, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 39, + 0 + ], + [ + 39, + 36 + ] + ], + "specifier": "./glob_to_regexp.ts", + "specifierRange": [ + [ + 39, + 14 + ], + [ + 39, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 40, + 0 + ], + [ + 40, + 29 + ] + ], + "specifier": "./is_glob.ts", + "specifierRange": [ + [ + 40, + 14 + ], + [ + 40, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 41, + 0 + ], + [ + 41, + 32 + ] + ], + "specifier": "./join_globs.ts", + "specifierRange": [ + [ + 41, + 14 + ], + [ + 41, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 42, + 0 + ], + [ + 42, + 36 + ] + ], + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 42, + 14 + ], + [ + 42, + 35 + ] + ] + } + ] + }, + "/windows/from_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 58 + ] + ], + "specifier": "./../_common/from_file_url.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 57 + ] + ] + } + ] + }, + "/_common/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 46 + ] + ], + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/windows/normalize_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 68 + ] + ], + "specifier": "./glob_to_regexp.ts", + "specifierRange": [ + [ + 3, + 46 + ], + [ + 3, + 67 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 62 + ] + ], + "specifier": "./../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 43 + ] + ], + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 5, + 26 + ], + [ + 5, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 51 + ] + ], + "specifier": "./constants.ts", + "specifierRange": [ + [ + 6, + 34 + ], + [ + 6, + 50 + ] + ] + } + ] + }, + "/_interface.ts": {}, + "/from_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 75 + ] + ], + "specifier": "./posix/from_file_url.ts", + "specifierRange": [ + [ + 4, + 48 + ], + [ + 4, + 74 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 79 + ] + ], + "specifier": "./windows/from_file_url.ts", + "specifierRange": [ + [ + 5, + 50 + ], + [ + 5, + 78 + ] + ] + } + ] + }, + "/posix/from_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 58 + ] + ], + "specifier": "./../_common/from_file_url.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 57 + ] + ] + } + ] + }, + "/_common/constants.ts": {}, + "/posix/glob_to_regexp.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 7, + 41 + ] + ], + "specifier": "./../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 40 + ] + ] + } + ] + }, + "/windows/resolve.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 55 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 67 + ] + ], + "specifier": "./../_common/normalize_string.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 66 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 57 + ] + ], + "specifier": "./../_common/assert_path.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 66 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 6, + 53 + ], + [ + 6, + 65 + ] + ] + } + ] + }, + "/windows/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 64 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 3, + 36 + ], + [ + 3, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 39 + ] + ], + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 4, + 24 + ], + [ + 4, + 38 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 54 + ] + ], + "specifier": "./../_common/relative.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 53 + ] + ] + } + ] + }, + "/windows/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 52 + ] + ], + "specifier": "./../_common/dirname.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 55 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 84 + ] + ], + "specifier": "./../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 5, + 40 + ], + [ + 5, + 83 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 10, + 20 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 10, + 7 + ], + [ + 10, + 19 + ] + ] + } + ] + }, + "/windows/extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 65 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 3, + 37 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 57 + ] + ], + "specifier": "./../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 66 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 53 + ], + [ + 5, + 65 + ] + ] + } + ] + }, + "/to_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 69 + ] + ], + "specifier": "./posix/to_file_url.ts", + "specifierRange": [ + [ + 4, + 44 + ], + [ + 4, + 68 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 73 + ] + ], + "specifier": "./windows/to_file_url.ts", + "specifierRange": [ + [ + 5, + 46 + ], + [ + 5, + 72 + ] + ] + } + ] + }, + "/windows/parse.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 65 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 3, + 37 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 48 + ] + ], + "specifier": "./../_interface.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 47 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 57 + ] + ], + "specifier": "./../_common/assert_path.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 66 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 6, + 53 + ], + [ + 6, + 65 + ] + ] + } + ] + }, + "/posix/to_namespaced_path.ts": {}, + "/posix/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 52 + ] + ], + "specifier": "./../_common/dirname.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 84 + ] + ], + "specifier": "./../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 83 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 50 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/windows/join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 58 + ] + ], + "specifier": "jsr:/@std/assert@^0.217.0/assert", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 57 + ] + ], + "specifier": "./../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 45 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 32 + ], + [ + 5, + 44 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 43 + ] + ], + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 6, + 26 + ], + [ + 6, + 42 + ] + ] + } + ] + }, + "/posix/is_absolute.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 57 + ] + ], + "specifier": "./../_common/assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 50 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 4, + 37 + ], + [ + 4, + 49 + ] + ] + } + ] + }, + "/resolve.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 61 + ] + ], + "specifier": "./posix/resolve.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 65 + ] + ], + "specifier": "./windows/resolve.ts", + "specifierRange": [ + [ + 5, + 42 + ], + [ + 5, + 64 + ] + ] + } + ] + }, + "/windows/join_globs.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 62 + ] + ], + "specifier": "./../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 28 + ], + [ + 3, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 33 + ] + ], + "specifier": "./join.ts", + "specifierRange": [ + [ + 4, + 21 + ], + [ + 4, + 32 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 43 + ] + ], + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 26 + ], + [ + 5, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 52 + ] + ], + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 6, + 30 + ], + [ + 6, + 51 + ] + ] + } + ] + }, + "/posix/is_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 41 + ] + ], + "specifier": "./../is_glob.ts", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 40 + ] + ] + } + ] + }, + "/_common/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 46 + ] + ], + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/windows/_util.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " Copyright the Browserify authors. MIT License.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 49 + ] + ] + }, + { + "text": " Ported from https://github.com/browserify/path-browserify/", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 61 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ] + } + ], + "range": [ + [ + 5, + 0 + ], + [ + 12, + 35 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 12, + 7 + ], + [ + 12, + 34 + ] + ] + } + ] + }, + "/posix/join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 57 + ] + ], + "specifier": "./../_common/assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 43 + ] + ], + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 64 + ] + ], + "specifier": "./posix/basename.ts", + "specifierRange": [ + [ + 4, + 42 + ], + [ + 4, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 68 + ] + ], + "specifier": "./windows/basename.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 67 + ] + ] + } + ] + }, + "/windows/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 54 + ] + ], + "specifier": "./../_common/normalize.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 55 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 67 + ] + ], + "specifier": "./../_common/normalize_string.ts", + "specifierRange": [ + [ + 5, + 32 + ], + [ + 5, + 66 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 66 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 6, + 53 + ], + [ + 6, + 65 + ] + ] + } + ] + }, + "/join_globs.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 64 + ] + ], + "specifier": "./_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 68 + ] + ], + "specifier": "./posix/join_globs.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 67 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 72 + ] + ], + "specifier": "./windows/join_globs.ts", + "specifierRange": [ + [ + 6, + 46 + ], + [ + 6, + 71 + ] + ] + } + ] + }, + "/to_namespaced_path.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 90 + ] + ], + "specifier": "./posix/to_namespaced_path.ts", + "specifierRange": [ + [ + 4, + 58 + ], + [ + 4, + 89 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 94 + ] + ], + "specifier": "./windows/to_namespaced_path.ts", + "specifierRange": [ + [ + 5, + 60 + ], + [ + 5, + 93 + ] + ] + } + ] + }, + "/_common/strip_trailing_separators.ts": {}, + "/_common/glob_to_reg_exp.ts": {}, + "/posix/common.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 49 + ] + ], + "specifier": "./../_common/common.ts", + "specifierRange": [ + [ + 3, + 24 + ], + [ + 3, + 48 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 43 + ] + ], + "specifier": "./constants.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/posix/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 54 + ] + ], + "specifier": "./../_common/normalize.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 67 + ] + ], + "specifier": "./../_common/normalize_string.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 66 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 50 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " Copyright the Browserify authors. MIT License.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 49 + ] + ] + }, + { + "text": " Ported mostly from https://github.com/browserify/path-browserify/", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 68 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ] + }, + { + "text": "*\n * Utilities for working with OS-specific file paths.\n *\n * Functions from this module will automatically switch to support the path style\n * of the current OS, either `windows` for Microsoft Windows, or `posix` for\n * every other operating system, eg. Linux, MacOS, BSD etc.\n *\n * To use functions for a specific path style regardless of the current OS\n * import the modules from the platform sub directory instead.\n *\n * Example, for `posix`:\n *\n * ```ts\n * import { fromFileUrl } from \"@std/path/posix/from_file_url\";\n * const p = fromFileUrl(\"file:///home/foo\");\n * console.log(p); // \"/home/foo\"\n * ```\n *\n * or, for `windows`:\n *\n * ```ts\n * import { fromFileUrl } from \"@std/path/windows/from_file_url\";\n * const p = fromFileUrl(\"file:///home/foo\");\n * console.log(p); // \"\\\\home\\\\foo\"\n * ```\n *\n * This module is browser compatible.\n *\n * @module\n ", + "range": [ + [ + 5, + 0 + ], + [ + 34, + 3 + ] + ] + } + ], + "range": [ + [ + 36, + 0 + ], + [ + 36, + 45 + ] + ], + "specifier": "./windows/mod.ts", + "specifierRange": [ + [ + 36, + 26 + ], + [ + 36, + 44 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 37, + 0 + ], + [ + 37, + 41 + ] + ], + "specifier": "./posix/mod.ts", + "specifierRange": [ + [ + 37, + 24 + ], + [ + 37, + 40 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 45, + 0 + ], + [ + 45, + 30 + ] + ], + "specifier": "./basename.ts", + "specifierRange": [ + [ + 45, + 14 + ], + [ + 45, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 46, + 0 + ], + [ + 46, + 31 + ] + ], + "specifier": "./constants.ts", + "specifierRange": [ + [ + 46, + 14 + ], + [ + 46, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 47, + 0 + ], + [ + 47, + 29 + ] + ], + "specifier": "./dirname.ts", + "specifierRange": [ + [ + 47, + 14 + ], + [ + 47, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 48, + 0 + ], + [ + 48, + 29 + ] + ], + "specifier": "./extname.ts", + "specifierRange": [ + [ + 48, + 14 + ], + [ + 48, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 49, + 0 + ], + [ + 49, + 28 + ] + ], + "specifier": "./format.ts", + "specifierRange": [ + [ + 49, + 14 + ], + [ + 49, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 50, + 0 + ], + [ + 50, + 35 + ] + ], + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 50, + 14 + ], + [ + 50, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 51, + 0 + ], + [ + 51, + 33 + ] + ], + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 51, + 14 + ], + [ + 51, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 52, + 0 + ], + [ + 52, + 26 + ] + ], + "specifier": "./join.ts", + "specifierRange": [ + [ + 52, + 14 + ], + [ + 52, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 53, + 0 + ], + [ + 53, + 31 + ] + ], + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 53, + 14 + ], + [ + 53, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 54, + 0 + ], + [ + 54, + 27 + ] + ], + "specifier": "./parse.ts", + "specifierRange": [ + [ + 54, + 14 + ], + [ + 54, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 55, + 0 + ], + [ + 55, + 30 + ] + ], + "specifier": "./relative.ts", + "specifierRange": [ + [ + 55, + 14 + ], + [ + 55, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 56, + 0 + ], + [ + 56, + 29 + ] + ], + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 56, + 14 + ], + [ + 56, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 57, + 0 + ], + [ + 57, + 33 + ] + ], + "specifier": "./to_file_url.ts", + "specifierRange": [ + [ + 57, + 14 + ], + [ + 57, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 58, + 0 + ], + [ + 58, + 40 + ] + ], + "specifier": "./to_namespaced_path.ts", + "specifierRange": [ + [ + 58, + 14 + ], + [ + 58, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 59, + 0 + ], + [ + 59, + 28 + ] + ], + "specifier": "./common.ts", + "specifierRange": [ + [ + 59, + 14 + ], + [ + 59, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 60, + 0 + ], + [ + 60, + 32 + ] + ], + "specifier": "./_interface.ts", + "specifierRange": [ + [ + 60, + 14 + ], + [ + 60, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 61, + 0 + ], + [ + 61, + 36 + ] + ], + "specifier": "./glob_to_regexp.ts", + "specifierRange": [ + [ + 61, + 14 + ], + [ + 61, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 62, + 0 + ], + [ + 62, + 29 + ] + ], + "specifier": "./is_glob.ts", + "specifierRange": [ + [ + 62, + 14 + ], + [ + 62, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 63, + 0 + ], + [ + 63, + 32 + ] + ], + "specifier": "./join_globs.ts", + "specifierRange": [ + [ + 63, + 14 + ], + [ + 63, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 64, + 0 + ], + [ + 64, + 36 + ] + ], + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 64, + 14 + ], + [ + 64, + 35 + ] + ] + } + ] + }, + "/windows/constants.ts": {}, + "/windows/common.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 49 + ] + ], + "specifier": "./../_common/common.ts", + "specifierRange": [ + [ + 3, + 24 + ], + [ + 3, + 48 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 43 + ] + ], + "specifier": "./constants.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/_common/from_file_url.ts": {}, + "/windows/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 7, + 34 + ] + ], + "specifier": "./../_common/basename.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 33 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 8, + 0 + ], + [ + 8, + 55 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 8, + 27 + ], + [ + 8, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 9, + 0 + ], + [ + 9, + 84 + ] + ], + "specifier": "./../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 9, + 40 + ], + [ + 9, + 83 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 10, + 0 + ], + [ + 10, + 66 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 10, + 53 + ], + [ + 10, + 65 + ] + ] + } + ] + }, + "/_common/assert_path.ts": {}, + "/posix/parse.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 53 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 48 + ] + ], + "specifier": "./../_interface.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 47 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 84 + ] + ], + "specifier": "./../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 5, + 40 + ], + [ + 5, + 83 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 57 + ] + ], + "specifier": "./../_common/assert_path.ts", + "specifierRange": [ + [ + 6, + 27 + ], + [ + 6, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 7, + 0 + ], + [ + 7, + 50 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 7, + 37 + ], + [ + 7, + 49 + ] + ] + } + ] + }, + "/windows/to_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 63 + ] + ], + "specifier": "./../_common/to_file_url.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 62 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 46 + ] + ], + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 45 + ] + ] + } + ] + }, + "/posix/extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 53 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 57 + ] + ], + "specifier": "./../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 50 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/_common/to_file_url.ts": {}, + "/windows/is_absolute.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 55 + ] + ], + "specifier": "./../_common/constants.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 57 + ] + ], + "specifier": "./../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 66 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 53 + ], + [ + 5, + 65 + ] + ] + } + ] + }, + "/_os.ts": {}, + "/windows/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 60 + ] + ], + "specifier": "./../_common/format.ts", + "specifierRange": [ + [ + 3, + 35 + ], + [ + 3, + 59 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 64 + ] + ], + "specifier": "./../_interface.ts", + "specifierRange": [ + [ + 4, + 43 + ], + [ + 4, + 63 + ] + ] + } + ] + }, + "/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 64 + ] + ], + "specifier": "./posix/relative.ts", + "specifierRange": [ + [ + 4, + 42 + ], + [ + 4, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 68 + ] + ], + "specifier": "./windows/relative.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 67 + ] + ] + } + ] + }, + "/glob_to_regexp.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 64 + ] + ], + "specifier": "./_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 45 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 4, + 34 + ], + [ + 4, + 44 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 78 + ] + ], + "specifier": "./posix/glob_to_regexp.ts", + "specifierRange": [ + [ + 6, + 50 + ], + [ + 6, + 77 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 7, + 0 + ], + [ + 9, + 37 + ] + ], + "specifier": "./windows/glob_to_regexp.ts", + "specifierRange": [ + [ + 9, + 7 + ], + [ + 9, + 36 + ] + ] + } + ] + }, + "/posix/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 7, + 34 + ] + ], + "specifier": "./../_common/basename.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 33 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 8, + 0 + ], + [ + 8, + 84 + ] + ], + "specifier": "./../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 8, + 40 + ], + [ + 8, + 83 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 9, + 0 + ], + [ + 9, + 50 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 9, + 37 + ], + [ + 9, + 49 + ] + ] + } + ] + }, + "/posix/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 50 + ] + ], + "specifier": "./_util.ts", + "specifierRange": [ + [ + 3, + 37 + ], + [ + 3, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 39 + ] + ], + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 4, + 24 + ], + [ + 4, + 38 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 54 + ] + ], + "specifier": "./../_common/relative.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 53 + ] + ] + } + ] + }, + "/is_absolute.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 71 + ] + ], + "specifier": "./posix/is_absolute.ts", + "specifierRange": [ + [ + 4, + 46 + ], + [ + 4, + 70 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 75 + ] + ], + "specifier": "./windows/is_absolute.ts", + "specifierRange": [ + [ + 5, + 48 + ], + [ + 5, + 74 + ] + ] + } + ] + }, + "/posix/constants.ts": {}, + "/_common/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 46 + ] + ], + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/posix/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " Copyright the Browserify authors. MIT License.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 49 + ] + ] + }, + { + "text": " Ported mostly from https://github.com/browserify/path-browserify/", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 68 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ] + }, + { + "text": "*\n * Utilities for working with OS-specific file paths.\n *\n * Codes in the examples uses POSIX path but it automatically use Windows path\n * on Windows. Use methods under `posix` or `win32` object instead to handle non\n * platform specific path like:\n * ```ts\n * import { posix, win32 } from \"@std/path\";\n * const p1 = posix.fromFileUrl(\"file:///home/foo\");\n * const p2 = win32.fromFileUrl(\"file:///home/foo\");\n * console.log(p1); // \"/home/foo\"\n * console.log(p2); // \"\\\\home\\\\foo\"\n * ```\n *\n * This module is browser compatible.\n *\n * @module\n ", + "range": [ + [ + 5, + 0 + ], + [ + 22, + 3 + ] + ] + } + ], + "range": [ + [ + 23, + 0 + ], + [ + 23, + 30 + ] + ], + "specifier": "./basename.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 24, + 0 + ], + [ + 24, + 31 + ] + ], + "specifier": "./constants.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 25, + 0 + ], + [ + 25, + 29 + ] + ], + "specifier": "./dirname.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 26, + 0 + ], + [ + 26, + 29 + ] + ], + "specifier": "./extname.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 27, + 0 + ], + [ + 27, + 28 + ] + ], + "specifier": "./format.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 28, + 0 + ], + [ + 28, + 35 + ] + ], + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 29, + 0 + ], + [ + 29, + 33 + ] + ], + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 30, + 0 + ], + [ + 30, + 26 + ] + ], + "specifier": "./join.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 31, + 0 + ], + [ + 31, + 31 + ] + ], + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 32, + 0 + ], + [ + 32, + 27 + ] + ], + "specifier": "./parse.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 33, + 0 + ], + [ + 33, + 30 + ] + ], + "specifier": "./relative.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 34, + 0 + ], + [ + 34, + 29 + ] + ], + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 35, + 0 + ], + [ + 35, + 33 + ] + ], + "specifier": "./to_file_url.ts", + "specifierRange": [ + [ + 35, + 14 + ], + [ + 35, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 36, + 0 + ], + [ + 36, + 40 + ] + ], + "specifier": "./to_namespaced_path.ts", + "specifierRange": [ + [ + 36, + 14 + ], + [ + 36, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 37, + 0 + ], + [ + 37, + 28 + ] + ], + "specifier": "./common.ts", + "specifierRange": [ + [ + 37, + 14 + ], + [ + 37, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 38, + 0 + ], + [ + 38, + 35 + ] + ], + "specifier": "./../_interface.ts", + "specifierRange": [ + [ + 38, + 14 + ], + [ + 38, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 39, + 0 + ], + [ + 39, + 36 + ] + ], + "specifier": "./glob_to_regexp.ts", + "specifierRange": [ + [ + 39, + 14 + ], + [ + 39, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 40, + 0 + ], + [ + 40, + 29 + ] + ], + "specifier": "./is_glob.ts", + "specifierRange": [ + [ + 40, + 14 + ], + [ + 40, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 41, + 0 + ], + [ + 41, + 32 + ] + ], + "specifier": "./join_globs.ts", + "specifierRange": [ + [ + 41, + 14 + ], + [ + 41, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "range": [ + [ + 42, + 0 + ], + [ + 42, + 36 + ] + ], + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 42, + 14 + ], + [ + 42, + 35 + ] + ] + } + ] + }, + "/posix/to_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 63 + ] + ], + "specifier": "./../_common/to_file_url.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 62 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 46 + ] + ], + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 45 + ] + ] + } + ] + }, + "/windows/is_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 41 + ] + ], + "specifier": "./../is_glob.ts", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 40 + ] + ] + } + ] + }, + "/_common/common.ts": {}, + "/constants.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 2, + 0 + ], + [ + 2, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 2, + 26 + ], + [ + 2, + 36 + ] + ] + } + ] + }, + "/_common/normalize_string.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " Copyright the Browserify authors. MIT License.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 49 + ] + ] + }, + { + "text": " Ported from https://github.com/browserify/path-browserify/", + "range": [ + [ + 2, + 0 + ], + [ + 2, + 61 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ] + } + ], + "range": [ + [ + 5, + 0 + ], + [ + 5, + 62 + ] + ], + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 45 + ], + [ + 5, + 61 + ] + ] + } + ] + }, + "/extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 61 + ] + ], + "specifier": "./posix/extname.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 65 + ] + ], + "specifier": "./windows/extname.ts", + "specifierRange": [ + [ + 5, + 42 + ], + [ + 5, + 64 + ] + ] + } + ] + }, + "/posix/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 60 + ] + ], + "specifier": "./../_common/format.ts", + "specifierRange": [ + [ + 3, + 35 + ], + [ + 3, + 59 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 64 + ] + ], + "specifier": "./../_interface.ts", + "specifierRange": [ + [ + 4, + 43 + ], + [ + 4, + 63 + ] + ] + } + ] + }, + "/normalize_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 64 + ] + ], + "specifier": "./_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 80 + ] + ], + "specifier": "./posix/normalize_glob.ts", + "specifierRange": [ + [ + 5, + 52 + ], + [ + 5, + 79 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 8, + 37 + ] + ], + "specifier": "./windows/normalize_glob.ts", + "specifierRange": [ + [ + 8, + 7 + ], + [ + 8, + 36 + ] + ] + } + ] + }, + "/join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 52 + ] + ], + "specifier": "./posix/join.ts", + "specifierRange": [ + [ + 4, + 34 + ], + [ + 4, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 56 + ] + ], + "specifier": "./windows/join.ts", + "specifierRange": [ + [ + 5, + 36 + ], + [ + 5, + 55 + ] + ] + } + ] + }, + "/common.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 46 + ] + ], + "specifier": "./_common/common.ts", + "specifierRange": [ + [ + 3, + 24 + ], + [ + 3, + 45 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 43 + ] + ], + "specifier": "./constants.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "leadingComments": [ + { + "text": " Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.", + "range": [ + [ + 0, + 0 + ], + [ + 0, + 74 + ] + ] + }, + { + "text": " This module is browser compatible.", + "range": [ + [ + 1, + 0 + ], + [ + 1, + 37 + ] + ] + } + ], + "range": [ + [ + 3, + 0 + ], + [ + 3, + 37 + ] + ], + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 4, + 0 + ], + [ + 4, + 58 + ] + ], + "specifier": "./posix/format.ts", + "specifierRange": [ + [ + 4, + 38 + ], + [ + 4, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 5, + 0 + ], + [ + 5, + 62 + ] + ], + "specifier": "./windows/format.ts", + "specifierRange": [ + [ + 5, + 40 + ], + [ + 5, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "range": [ + [ + 6, + 0 + ], + [ + 6, + 56 + ] + ], + "specifier": "./_interface.ts", + "specifierRange": [ + [ + 6, + 38 + ], + [ + 6, + 55 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./basename": "./basename.ts", + "./common": "./common.ts", + "./constants": "./constants.ts", + "./dirname": "./dirname.ts", + "./extname": "./extname.ts", + "./format": "./format.ts", + "./from_file_url": "./from_file_url.ts", + "./glob_to_regexp": "./glob_to_regexp.ts", + "./is_absolute": "./is_absolute.ts", + "./is_glob": "./is_glob.ts", + "./join": "./join.ts", + "./join_globs": "./join_globs.ts", + "./normalize": "./normalize.ts", + "./normalize_glob": "./normalize_glob.ts", + "./parse": "./parse.ts", + "./posix": "./posix/mod.ts", + "./posix/basename": "./posix/basename.ts", + "./posix/common": "./posix/common.ts", + "./posix/constants": "./posix/constants.ts", + "./posix/dirname": "./posix/dirname.ts", + "./posix/extname": "./posix/extname.ts", + "./posix/format": "./posix/format.ts", + "./posix/from_file_url": "./posix/from_file_url.ts", + "./posix/glob_to_regexp": "./posix/glob_to_regexp.ts", + "./posix/is_absolute": "./posix/is_absolute.ts", + "./posix/is_glob": "./posix/is_glob.ts", + "./posix/join": "./posix/join.ts", + "./posix/join_globs": "./posix/join_globs.ts", + "./posix/normalize": "./posix/normalize.ts", + "./posix/normalize_glob": "./posix/normalize_glob.ts", + "./posix/parse": "./posix/parse.ts", + "./posix/relative": "./posix/relative.ts", + "./posix/resolve": "./posix/resolve.ts", + "./posix/to_file_url": "./posix/to_file_url.ts", + "./posix/to_namespaced_path": "./posix/to_namespaced_path.ts", + "./relative": "./relative.ts", + "./resolve": "./resolve.ts", + "./to_file_url": "./to_file_url.ts", + "./to_namespaced_path": "./to_namespaced_path.ts", + "./windows": "./windows/mod.ts", + "./windows/basename": "./windows/basename.ts", + "./windows/common": "./windows/common.ts", + "./windows/constants": "./windows/constants.ts", + "./windows/dirname": "./windows/dirname.ts", + "./windows/extname": "./windows/extname.ts", + "./windows/format": "./windows/format.ts", + "./windows/from_file_url": "./windows/from_file_url.ts", + "./windows/glob_to_regexp": "./windows/glob_to_regexp.ts", + "./windows/is_absolute": "./windows/is_absolute.ts", + "./windows/is_glob": "./windows/is_glob.ts", + "./windows/join": "./windows/join.ts", + "./windows/join_globs": "./windows/join_globs.ts", + "./windows/normalize": "./windows/normalize.ts", + "./windows/normalize_glob": "./windows/normalize_glob.ts", + "./windows/parse": "./windows/parse.ts", + "./windows/relative": "./windows/relative.ts", + "./windows/resolve": "./windows/resolve.ts", + "./windows/to_file_url": "./windows/to_file_url.ts", + "./windows/to_namespaced_path": "./windows/to_namespaced_path.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/assert_path.ts b/vendor/jsr.io/@std/path/0.221.0/_common/assert_path.ts new file mode 100644 index 0000000..7033edc --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/assert_path.ts @@ -0,0 +1,10 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. + +export function assertPath(path?: string) { + if (typeof path !== "string") { + throw new TypeError( + `Path must be a string. Received ${JSON.stringify(path)}`, + ); + } +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/basename.ts b/vendor/jsr.io/@std/path/0.221.0/_common/basename.ts new file mode 100644 index 0000000..64ca2f4 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/basename.ts @@ -0,0 +1,53 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function stripSuffix(name: string, suffix: string): string { + if (suffix.length >= name.length) { + return name; + } + + const lenDiff = name.length - suffix.length; + + for (let i = suffix.length - 1; i >= 0; --i) { + if (name.charCodeAt(lenDiff + i) !== suffix.charCodeAt(i)) { + return name; + } + } + + return name.slice(0, -suffix.length); +} + +export function lastPathSegment( + path: string, + isSep: (char: number) => boolean, + start = 0, +): string { + let matchedNonSeparator = false; + let end = path.length; + + for (let i = path.length - 1; i >= start; --i) { + if (isSep(path.charCodeAt(i))) { + if (matchedNonSeparator) { + start = i + 1; + break; + } + } else if (!matchedNonSeparator) { + matchedNonSeparator = true; + end = i + 1; + } + } + + return path.slice(start, end); +} + +export function assertArgs(path: string, suffix: string) { + assertPath(path); + if (path.length === 0) return path; + if (typeof suffix !== "string") { + throw new TypeError( + `Suffix must be a string. Received ${JSON.stringify(suffix)}`, + ); + } +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/common.ts b/vendor/jsr.io/@std/path/0.221.0/_common/common.ts new file mode 100644 index 0000000..b6d327b --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/common.ts @@ -0,0 +1,26 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export function _common(paths: string[], sep: string): string { + const [first = "", ...remaining] = paths; + const parts = first.split(sep); + + let endOfPrefix = parts.length; + let append = ""; + for (const path of remaining) { + const compare = path.split(sep); + if (compare.length <= endOfPrefix) { + endOfPrefix = compare.length; + append = ""; + } + + for (let i = 0; i < endOfPrefix; i++) { + if (compare[i] !== parts[i]) { + endOfPrefix = i; + append = i === 0 ? "" : sep; + break; + } + } + } + return parts.slice(0, endOfPrefix).join(sep) + append; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/constants.ts b/vendor/jsr.io/@std/path/0.221.0/_common/constants.ts new file mode 100644 index 0000000..9bfd411 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/constants.ts @@ -0,0 +1,49 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +// Alphabet chars. +export const CHAR_UPPERCASE_A = 65; /* A */ +export const CHAR_LOWERCASE_A = 97; /* a */ +export const CHAR_UPPERCASE_Z = 90; /* Z */ +export const CHAR_LOWERCASE_Z = 122; /* z */ + +// Non-alphabetic chars. +export const CHAR_DOT = 46; /* . */ +export const CHAR_FORWARD_SLASH = 47; /* / */ +export const CHAR_BACKWARD_SLASH = 92; /* \ */ +export const CHAR_VERTICAL_LINE = 124; /* | */ +export const CHAR_COLON = 58; /* : */ +export const CHAR_QUESTION_MARK = 63; /* ? */ +export const CHAR_UNDERSCORE = 95; /* _ */ +export const CHAR_LINE_FEED = 10; /* \n */ +export const CHAR_CARRIAGE_RETURN = 13; /* \r */ +export const CHAR_TAB = 9; /* \t */ +export const CHAR_FORM_FEED = 12; /* \f */ +export const CHAR_EXCLAMATION_MARK = 33; /* ! */ +export const CHAR_HASH = 35; /* # */ +export const CHAR_SPACE = 32; /* */ +export const CHAR_NO_BREAK_SPACE = 160; /* \u00A0 */ +export const CHAR_ZERO_WIDTH_NOBREAK_SPACE = 65279; /* \uFEFF */ +export const CHAR_LEFT_SQUARE_BRACKET = 91; /* [ */ +export const CHAR_RIGHT_SQUARE_BRACKET = 93; /* ] */ +export const CHAR_LEFT_ANGLE_BRACKET = 60; /* < */ +export const CHAR_RIGHT_ANGLE_BRACKET = 62; /* > */ +export const CHAR_LEFT_CURLY_BRACKET = 123; /* { */ +export const CHAR_RIGHT_CURLY_BRACKET = 125; /* } */ +export const CHAR_HYPHEN_MINUS = 45; /* - */ +export const CHAR_PLUS = 43; /* + */ +export const CHAR_DOUBLE_QUOTE = 34; /* " */ +export const CHAR_SINGLE_QUOTE = 39; /* ' */ +export const CHAR_PERCENT = 37; /* % */ +export const CHAR_SEMICOLON = 59; /* ; */ +export const CHAR_CIRCUMFLEX_ACCENT = 94; /* ^ */ +export const CHAR_GRAVE_ACCENT = 96; /* ` */ +export const CHAR_AT = 64; /* @ */ +export const CHAR_AMPERSAND = 38; /* & */ +export const CHAR_EQUAL = 61; /* = */ + +// Digits +export const CHAR_0 = 48; /* 0 */ +export const CHAR_9 = 57; /* 9 */ diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/dirname.ts b/vendor/jsr.io/@std/path/0.221.0/_common/dirname.ts new file mode 100644 index 0000000..3a1a162 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/dirname.ts @@ -0,0 +1,9 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function assertArg(path: string) { + assertPath(path); + if (path.length === 0) return "."; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/format.ts b/vendor/jsr.io/@std/path/0.221.0/_common/format.ts new file mode 100644 index 0000000..c0e3ee0 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/format.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { FormatInputPathObject } from "../_interface.ts"; + +export function _format( + sep: string, + pathObject: FormatInputPathObject, +): string { + const dir: string | undefined = pathObject.dir || pathObject.root; + const base: string = pathObject.base || + (pathObject.name || "") + (pathObject.ext || ""); + if (!dir) return base; + if (base === sep) return dir; + if (dir === pathObject.root) return dir + base; + return dir + sep + base; +} + +export function assertArg(pathObject: FormatInputPathObject) { + if (pathObject === null || typeof pathObject !== "object") { + throw new TypeError( + `The "pathObject" argument must be of type Object. Received type ${typeof pathObject}`, + ); + } +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/from_file_url.ts b/vendor/jsr.io/@std/path/0.221.0/_common/from_file_url.ts new file mode 100644 index 0000000..22f2f3b --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/from_file_url.ts @@ -0,0 +1,10 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export function assertArg(url: URL | string) { + url = url instanceof URL ? url : new URL(url); + if (url.protocol !== "file:") { + throw new TypeError("Must be a file URL."); + } + return url; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/glob_to_reg_exp.ts b/vendor/jsr.io/@std/path/0.221.0/_common/glob_to_reg_exp.ts new file mode 100644 index 0000000..26e8c82 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/glob_to_reg_exp.ts @@ -0,0 +1,283 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** Options for {@linkcode globToRegExp}. */ +export interface GlobOptions { + /** Extended glob syntax. + * See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * @default {true} + */ + extended?: boolean; + /** Globstar syntax. + * See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * If false, `**` is treated like `*`. + * + * @default {true} + */ + globstar?: boolean; + /** Whether globstar should be case-insensitive. */ + caseInsensitive?: boolean; +} + +export type GlobToRegExpOptions = GlobOptions; + +const regExpEscapeChars = [ + "!", + "$", + "(", + ")", + "*", + "+", + ".", + "=", + "?", + "[", + "\\", + "^", + "{", + "|", +]; +const rangeEscapeChars = ["-", "\\", "]"]; + +export interface GlobConstants { + sep: string; + sepMaybe: string; + seps: string[]; + globstar: string; + wildcard: string; + escapePrefix: string; +} + +export function _globToRegExp( + c: GlobConstants, + glob: string, + { + extended = true, + globstar: globstarOption = true, + // os = osType, + caseInsensitive = false, + }: GlobToRegExpOptions = {}, +): RegExp { + if (glob === "") { + return /(?!)/; + } + + // Remove trailing separators. + let newLength = glob.length; + for (; newLength > 1 && c.seps.includes(glob[newLength - 1]!); newLength--); + glob = glob.slice(0, newLength); + + let regExpString = ""; + + // Terminates correctly. Trust that `j` is incremented every iteration. + for (let j = 0; j < glob.length;) { + let segment = ""; + const groupStack: string[] = []; + let inRange = false; + let inEscape = false; + let endsWithSep = false; + let i = j; + + // Terminates with `i` at the non-inclusive end of the current segment. + for (; i < glob.length && !c.seps.includes(glob[i]!); i++) { + if (inEscape) { + inEscape = false; + const escapeChars = inRange ? rangeEscapeChars : regExpEscapeChars; + segment += escapeChars.includes(glob[i]!) ? `\\${glob[i]}` : glob[i]; + continue; + } + + if (glob[i] === c.escapePrefix) { + inEscape = true; + continue; + } + + if (glob[i] === "[") { + if (!inRange) { + inRange = true; + segment += "["; + if (glob[i + 1] === "!") { + i++; + segment += "^"; + } else if (glob[i + 1] === "^") { + i++; + segment += "\\^"; + } + continue; + } else if (glob[i + 1] === ":") { + let k = i + 1; + let value = ""; + while (glob[k + 1] !== undefined && glob[k + 1] !== ":") { + value += glob[k + 1]; + k++; + } + if (glob[k + 1] === ":" && glob[k + 2] === "]") { + i = k + 2; + if (value === "alnum") segment += "\\dA-Za-z"; + else if (value === "alpha") segment += "A-Za-z"; + else if (value === "ascii") segment += "\x00-\x7F"; + else if (value === "blank") segment += "\t "; + else if (value === "cntrl") segment += "\x00-\x1F\x7F"; + else if (value === "digit") segment += "\\d"; + else if (value === "graph") segment += "\x21-\x7E"; + else if (value === "lower") segment += "a-z"; + else if (value === "print") segment += "\x20-\x7E"; + else if (value === "punct") { + segment += "!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^_‘{|}~"; + } else if (value === "space") segment += "\\s\v"; + else if (value === "upper") segment += "A-Z"; + else if (value === "word") segment += "\\w"; + else if (value === "xdigit") segment += "\\dA-Fa-f"; + continue; + } + } + } + + if (glob[i] === "]" && inRange) { + inRange = false; + segment += "]"; + continue; + } + + if (inRange) { + if (glob[i] === "\\") { + segment += `\\\\`; + } else { + segment += glob[i]; + } + continue; + } + + if ( + glob[i] === ")" && groupStack.length > 0 && + groupStack[groupStack.length - 1] !== "BRACE" + ) { + segment += ")"; + const type = groupStack.pop()!; + if (type === "!") { + segment += c.wildcard; + } else if (type !== "@") { + segment += type; + } + continue; + } + + if ( + glob[i] === "|" && groupStack.length > 0 && + groupStack[groupStack.length - 1] !== "BRACE" + ) { + segment += "|"; + continue; + } + + if (glob[i] === "+" && extended && glob[i + 1] === "(") { + i++; + groupStack.push("+"); + segment += "(?:"; + continue; + } + + if (glob[i] === "@" && extended && glob[i + 1] === "(") { + i++; + groupStack.push("@"); + segment += "(?:"; + continue; + } + + if (glob[i] === "?") { + if (extended && glob[i + 1] === "(") { + i++; + groupStack.push("?"); + segment += "(?:"; + } else { + segment += "."; + } + continue; + } + + if (glob[i] === "!" && extended && glob[i + 1] === "(") { + i++; + groupStack.push("!"); + segment += "(?!"; + continue; + } + + if (glob[i] === "{") { + groupStack.push("BRACE"); + segment += "(?:"; + continue; + } + + if (glob[i] === "}" && groupStack[groupStack.length - 1] === "BRACE") { + groupStack.pop(); + segment += ")"; + continue; + } + + if (glob[i] === "," && groupStack[groupStack.length - 1] === "BRACE") { + segment += "|"; + continue; + } + + if (glob[i] === "*") { + if (extended && glob[i + 1] === "(") { + i++; + groupStack.push("*"); + segment += "(?:"; + } else { + const prevChar = glob[i - 1]; + let numStars = 1; + while (glob[i + 1] === "*") { + i++; + numStars++; + } + const nextChar = glob[i + 1]; + if ( + globstarOption && numStars === 2 && + [...c.seps, undefined].includes(prevChar) && + [...c.seps, undefined].includes(nextChar) + ) { + segment += c.globstar; + endsWithSep = true; + } else { + segment += c.wildcard; + } + } + continue; + } + + segment += regExpEscapeChars.includes(glob[i]!) + ? `\\${glob[i]}` + : glob[i]; + } + + // Check for unclosed groups or a dangling backslash. + if (groupStack.length > 0 || inRange || inEscape) { + // Parse failure. Take all characters from this segment literally. + segment = ""; + for (const c of glob.slice(j, i)) { + segment += regExpEscapeChars.includes(c) ? `\\${c}` : c; + endsWithSep = false; + } + } + + regExpString += segment; + if (!endsWithSep) { + regExpString += i < glob.length ? c.sep : c.sepMaybe; + endsWithSep = true; + } + + // Terminates with `i` at the start of the next segment. + while (c.seps.includes(glob[i]!)) i++; + + // Check that the next value of `j` is indeed higher than the current value. + if (!(i > j)) { + throw new Error("Assertion failure: i > j (potential infinite loop)"); + } + j = i; + } + + regExpString = `^${regExpString}$`; + return new RegExp(regExpString, caseInsensitive ? "i" : ""); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/normalize.ts b/vendor/jsr.io/@std/path/0.221.0/_common/normalize.ts new file mode 100644 index 0000000..3a1a162 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/normalize.ts @@ -0,0 +1,9 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function assertArg(path: string) { + assertPath(path); + if (path.length === 0) return "."; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/normalize_string.ts b/vendor/jsr.io/@std/path/0.221.0/_common/normalize_string.ts new file mode 100644 index 0000000..d8f0e09 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/normalize_string.ts @@ -0,0 +1,74 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +import { CHAR_DOT, CHAR_FORWARD_SLASH } from "./constants.ts"; + +// Resolves . and .. elements in a path with directory names +export function normalizeString( + path: string, + allowAboveRoot: boolean, + separator: string, + isPathSeparator: (code: number) => boolean, +): string { + let res = ""; + let lastSegmentLength = 0; + let lastSlash = -1; + let dots = 0; + let code: number | undefined; + for (let i = 0; i <= path.length; ++i) { + if (i < path.length) code = path.charCodeAt(i); + else if (isPathSeparator(code!)) break; + else code = CHAR_FORWARD_SLASH; + + if (isPathSeparator(code!)) { + if (lastSlash === i - 1 || dots === 1) { + // NOOP + } else if (lastSlash !== i - 1 && dots === 2) { + if ( + res.length < 2 || + lastSegmentLength !== 2 || + res.charCodeAt(res.length - 1) !== CHAR_DOT || + res.charCodeAt(res.length - 2) !== CHAR_DOT + ) { + if (res.length > 2) { + const lastSlashIndex = res.lastIndexOf(separator); + if (lastSlashIndex === -1) { + res = ""; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf(separator); + } + lastSlash = i; + dots = 0; + continue; + } else if (res.length === 2 || res.length === 1) { + res = ""; + lastSegmentLength = 0; + lastSlash = i; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + if (res.length > 0) res += `${separator}..`; + else res = ".."; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) res += separator + path.slice(lastSlash + 1, i); + else res = path.slice(lastSlash + 1, i); + lastSegmentLength = i - lastSlash - 1; + } + lastSlash = i; + dots = 0; + } else if (code === CHAR_DOT && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/relative.ts b/vendor/jsr.io/@std/path/0.221.0/_common/relative.ts new file mode 100644 index 0000000..0f9901f --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/relative.ts @@ -0,0 +1,10 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function assertArgs(from: string, to: string) { + assertPath(from); + assertPath(to); + if (from === to) return ""; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/strip_trailing_separators.ts b/vendor/jsr.io/@std/path/0.221.0/_common/strip_trailing_separators.ts new file mode 100644 index 0000000..852def6 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/strip_trailing_separators.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +export function stripTrailingSeparators( + segment: string, + isSep: (char: number) => boolean, +): string { + if (segment.length <= 1) { + return segment; + } + + let end = segment.length; + + for (let i = segment.length - 1; i > 0; i--) { + if (isSep(segment.charCodeAt(i))) { + end = i; + } else { + break; + } + } + + return segment.slice(0, end); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_common/to_file_url.ts b/vendor/jsr.io/@std/path/0.221.0/_common/to_file_url.ts new file mode 100644 index 0000000..ed98585 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_common/to_file_url.ts @@ -0,0 +1,17 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +const WHITESPACE_ENCODINGS: Record = { + "\u0009": "%09", + "\u000A": "%0A", + "\u000B": "%0B", + "\u000C": "%0C", + "\u000D": "%0D", + "\u0020": "%20", +}; + +export function encodeWhitespace(string: string): string { + return string.replaceAll(/[\s]/g, (c) => { + return WHITESPACE_ENCODINGS[c] ?? c; + }); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/_interface.ts b/vendor/jsr.io/@std/path/0.221.0/_interface.ts new file mode 100644 index 0000000..89dd274 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_interface.ts @@ -0,0 +1,42 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * A parsed path object generated by path.parse() or consumed by path.format(). + * + * @example + * ```ts + * import { parse } from "@std/path"; + * + * const parsedPathObj = parse("c:\\path\\dir\\index.html"); + * parsedPathObj.root; // "c:\\" + * parsedPathObj.dir; // "c:\\path\\dir" + * parsedPathObj.base; // "index.html" + * parsedPathObj.ext; // ".html" + * parsedPathObj.name; // "index" + * ``` + */ +export interface ParsedPath { + /** + * The root of the path such as '/' or 'c:\' + */ + root: string; + /** + * The full directory path of the parent such as '/home/user/dir' or 'c:\path\dir' + */ + dir: string; + /** + * The file name including extension (if any) such as 'index.html' + */ + base: string; + /** + * The file extension (if any) such as '.html' + */ + ext: string; + /** + * The file name without extension (if any) such as 'index' + */ + name: string; +} + +export type FormatInputPathObject = Partial; diff --git a/vendor/jsr.io/@std/path/0.221.0/_os.ts b/vendor/jsr.io/@std/path/0.221.0/_os.ts new file mode 100644 index 0000000..7252612 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/_os.ts @@ -0,0 +1,31 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +// Keep this up-to-date with Deno.build.os +export type OSType = + | "darwin" + | "linux" + | "windows" + | "freebsd" + | "netbsd" + | "aix" + | "solaris" + | "illumos"; + +export const osType: OSType = (() => { + // deno-lint-ignore no-explicit-any + const { Deno } = globalThis as any; + if (typeof Deno?.build?.os === "string") { + return Deno.build.os; + } + + // deno-lint-ignore no-explicit-any + const { navigator } = globalThis as any; + if (navigator?.appVersion?.includes?.("Win")) { + return "windows"; + } + + return "linux"; +})(); + +export const isWindows = osType === "windows"; diff --git a/vendor/jsr.io/@std/path/0.221.0/basename.ts b/vendor/jsr.io/@std/path/0.221.0/basename.ts new file mode 100644 index 0000000..5097011 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/basename.ts @@ -0,0 +1,28 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { basename as posixBasename } from "./posix/basename.ts"; +import { basename as windowsBasename } from "./windows/basename.ts"; + +/** + * Return the last portion of a `path`. + * Trailing directory separators are ignored, and optional suffix is removed. + * + * @example + * ```ts + * import { basename } from "@std/path/basename"; + * + * basename("/home/user/Documents/"); // "Documents" + * basename("C:\\user\\Documents\\image.png"); // "image.png" + * basename("/home/user/Documents/image.png", ".png"); // "image" + * ``` + * + * @param path - path to extract the name from. + * @param [suffix] - suffix to remove from extracted name. + */ +export function basename(path: string, suffix = ""): string { + return isWindows + ? windowsBasename(path, suffix) + : posixBasename(path, suffix); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/common.ts b/vendor/jsr.io/@std/path/0.221.0/common.ts new file mode 100644 index 0000000..b393462 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/common.ts @@ -0,0 +1,24 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _common } from "./_common/common.ts"; +import { SEPARATOR } from "./constants.ts"; + +/** Determines the common path from a set of paths, using an optional separator, + * which defaults to the OS default separator. + * + * ```ts + * import { common } from "@std/path"; + * const p = common([ + * "./deno/std/path/mod.ts", + * "./deno/std/fs/mod.ts", + * ]); + * console.log(p); // "./deno/std/" + * ``` + */ +export function common( + paths: string[], + sep: string = SEPARATOR, +): string { + return _common(paths, sep); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/constants.ts b/vendor/jsr.io/@std/path/0.221.0/constants.ts new file mode 100644 index 0000000..2e1c08e --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/constants.ts @@ -0,0 +1,7 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { isWindows } from "./_os.ts"; + +export const DELIMITER = isWindows ? ";" as const : ":" as const; +export const SEPARATOR = isWindows ? "\\" as const : "/" as const; +export const SEPARATOR_PATTERN = isWindows ? /[\\/]+/ : /\/+/; diff --git a/vendor/jsr.io/@std/path/0.221.0/dirname.ts b/vendor/jsr.io/@std/path/0.221.0/dirname.ts new file mode 100644 index 0000000..a990271 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/dirname.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { dirname as posixDirname } from "./posix/dirname.ts"; +import { dirname as windowsDirname } from "./windows/dirname.ts"; + +/** + * Return the directory path of a `path`. + * @param path - path to extract the directory from. + */ +export function dirname(path: string): string { + return isWindows ? windowsDirname(path) : posixDirname(path); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/extname.ts b/vendor/jsr.io/@std/path/0.221.0/extname.ts new file mode 100644 index 0000000..753d521 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/extname.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { extname as posixExtname } from "./posix/extname.ts"; +import { extname as windowsExtname } from "./windows/extname.ts"; +/** + * Return the extension of the `path` with leading period. + * @param path with extension + * @returns extension (ex. for `file.ts` returns `.ts`) + */ +export function extname(path: string): string { + return isWindows ? windowsExtname(path) : posixExtname(path); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/format.ts b/vendor/jsr.io/@std/path/0.221.0/format.ts new file mode 100644 index 0000000..5389081 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/format.ts @@ -0,0 +1,17 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { format as posixFormat } from "./posix/format.ts"; +import { format as windowsFormat } from "./windows/format.ts"; +import type { FormatInputPathObject } from "./_interface.ts"; + +/** + * Generate a path from `FormatInputPathObject` object. It does the opposite + * of `parse`. + * + * @param pathObject with path + */ +export function format(pathObject: FormatInputPathObject): string { + return isWindows ? windowsFormat(pathObject) : posixFormat(pathObject); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/from_file_url.ts b/vendor/jsr.io/@std/path/0.221.0/from_file_url.ts new file mode 100644 index 0000000..4b66153 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/from_file_url.ts @@ -0,0 +1,26 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { fromFileUrl as posixFromFileUrl } from "./posix/from_file_url.ts"; +import { fromFileUrl as windowsFromFileUrl } from "./windows/from_file_url.ts"; + +/** + * Converts a file URL to a path string. + * + * ```ts + * import { fromFileUrl } from "@std/path/from-file-url"; + * + * // posix + * fromFileUrl("file:///home/foo"); // "/home/foo" + * + * // win32 + * fromFileUrl("file:///home/foo"); // "\\home\\foo" + * fromFileUrl("file:///C:/Users/foo"); // "C:\\Users\\foo" + * fromFileUrl("file://localhost/home/foo"); // "\\\\localhost\\home\\foo" + * ``` + * @param url of a file URL + */ +export function fromFileUrl(url: string | URL): string { + return isWindows ? windowsFromFileUrl(url) : posixFromFileUrl(url); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/glob_to_regexp.ts b/vendor/jsr.io/@std/path/0.221.0/glob_to_regexp.ts new file mode 100644 index 0000000..2fcda4f --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/glob_to_regexp.ts @@ -0,0 +1,80 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "./_common/glob_to_reg_exp.ts"; +import { isWindows, type OSType } from "./_os.ts"; + +import { globToRegExp as posixGlobToRegExp } from "./posix/glob_to_regexp.ts"; +import { + globToRegExp as windowsGlobToRegExp, +} from "./windows/glob_to_regexp.ts"; + +export type { GlobOptions }; + +export type GlobToRegExpOptions = GlobOptions & { + os?: OSType; +}; + +/** Convert a glob string to a regular expression. + * + * Tries to match bash glob expansion as closely as possible. + * + * Basic glob syntax: + * - `*` - Matches everything without leaving the path segment. + * - `?` - Matches any single character. + * - `{foo,bar}` - Matches `foo` or `bar`. + * - `[abcd]` - Matches `a`, `b`, `c` or `d`. + * - `[a-d]` - Matches `a`, `b`, `c` or `d`. + * - `[!abcd]` - Matches any single character besides `a`, `b`, `c` or `d`. + * - `[[::]]` - Matches any character belonging to ``. + * - `[[:alnum:]]` - Matches any digit or letter. + * - `[[:digit:]abc]` - Matches any digit, `a`, `b` or `c`. + * - See https://facelessuser.github.io/wcmatch/glob/#posix-character-classes + * for a complete list of supported character classes. + * - `\` - Escapes the next character for an `os` other than `"windows"`. + * - \` - Escapes the next character for `os` set to `"windows"`. + * - `/` - Path separator. + * - `\` - Additional path separator only for `os` set to `"windows"`. + * + * Extended syntax: + * - Requires `{ extended: true }`. + * - `?(foo|bar)` - Matches 0 or 1 instance of `{foo,bar}`. + * - `@(foo|bar)` - Matches 1 instance of `{foo,bar}`. They behave the same. + * - `*(foo|bar)` - Matches _n_ instances of `{foo,bar}`. + * - `+(foo|bar)` - Matches _n > 0_ instances of `{foo,bar}`. + * - `!(foo|bar)` - Matches anything other than `{foo,bar}`. + * - See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * Globstar syntax: + * - Requires `{ globstar: true }`. + * - `**` - Matches any number of any path segments. + * - Must comprise its entire path segment in the provided glob. + * - See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * + * Note the following properties: + * - The generated `RegExp` is anchored at both start and end. + * - Repeating and trailing separators are tolerated. Trailing separators in the + * provided glob have no meaning and are discarded. + * - Absolute globs will only match absolute paths, etc. + * - Empty globs will match nothing. + * - Any special glob syntax must be contained to one path segment. For example, + * `?(foo|bar/baz)` is invalid. The separator will take precedence and the + * first segment ends with an unclosed group. + * - If a path segment ends with unclosed groups or a dangling escape prefix, a + * parse error has occurred. Every character for that segment is taken + * literally in this event. + * + * Limitations: + * - A negative group like `!(foo|bar)` will wrongly be converted to a negative + * look-ahead followed by a wildcard. This means that `!(foo).js` will wrongly + * fail to match `foobar.js`, even though `foobar` is not `foo`. Effectively, + * `!(foo|bar)` is treated like `!(@(foo|bar)*)`. This will work correctly if + * the group occurs not nested at the end of the segment. */ +export function globToRegExp( + glob: string, + options: GlobToRegExpOptions = {}, +): RegExp { + return options.os === "windows" || (!options.os && isWindows) + ? windowsGlobToRegExp(glob, options) + : posixGlobToRegExp(glob, options); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/is_absolute.ts b/vendor/jsr.io/@std/path/0.221.0/is_absolute.ts new file mode 100644 index 0000000..be580fd --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/is_absolute.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { isAbsolute as posixIsAbsolute } from "./posix/is_absolute.ts"; +import { isAbsolute as windowsIsAbsolute } from "./windows/is_absolute.ts"; + +/** + * Verifies whether provided path is absolute + * @param path to be verified as absolute + */ +export function isAbsolute(path: string): boolean { + return isWindows ? windowsIsAbsolute(path) : posixIsAbsolute(path); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/is_glob.ts b/vendor/jsr.io/@std/path/0.221.0/is_glob.ts new file mode 100644 index 0000000..2d481e4 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/is_glob.ts @@ -0,0 +1,35 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** Test whether the given string is a glob */ +export function isGlob(str: string): boolean { + const chars: Record = { "{": "}", "(": ")", "[": "]" }; + const regex = + /\\(.)|(^!|\*|\?|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; + + if (str === "") { + return false; + } + + let match: RegExpExecArray | null; + + while ((match = regex.exec(str))) { + if (match[2]) return true; + let idx = match.index + match[0].length; + + // if an open bracket/brace/paren is escaped, + // set the index to the next closing character + const open = match[1]; + const close = open ? chars[open] : null; + if (open && close) { + const n = str.indexOf(close, idx); + if (n !== -1) { + idx = n + 1; + } + } + + str = str.slice(idx); + } + + return false; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/join.ts b/vendor/jsr.io/@std/path/0.221.0/join.ts new file mode 100644 index 0000000..aa21198 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/join.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { join as posixJoin } from "./posix/join.ts"; +import { join as windowsJoin } from "./windows/join.ts"; + +/** + * Join all given a sequence of `paths`,then normalizes the resulting path. + * @param paths to be joined and normalized + */ +export function join(...paths: string[]): string { + return isWindows ? windowsJoin(...paths) : posixJoin(...paths); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/join_globs.ts b/vendor/jsr.io/@std/path/0.221.0/join_globs.ts new file mode 100644 index 0000000..0c9e0d2 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/join_globs.ts @@ -0,0 +1,19 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "./_common/glob_to_reg_exp.ts"; +import { isWindows } from "./_os.ts"; +import { joinGlobs as posixJoinGlobs } from "./posix/join_globs.ts"; +import { joinGlobs as windowsJoinGlobs } from "./windows/join_globs.ts"; + +export type { GlobOptions }; + +/** Like join(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function joinGlobs( + globs: string[], + options: GlobOptions = {}, +): string { + return isWindows + ? windowsJoinGlobs(globs, options) + : posixJoinGlobs(globs, options); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/mod.ts b/vendor/jsr.io/@std/path/0.221.0/mod.ts new file mode 100644 index 0000000..4e018aa --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/mod.ts @@ -0,0 +1,65 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported mostly from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +/** + * Utilities for working with OS-specific file paths. + * + * Functions from this module will automatically switch to support the path style + * of the current OS, either `windows` for Microsoft Windows, or `posix` for + * every other operating system, eg. Linux, MacOS, BSD etc. + * + * To use functions for a specific path style regardless of the current OS + * import the modules from the platform sub directory instead. + * + * Example, for `posix`: + * + * ```ts + * import { fromFileUrl } from "@std/path/posix/from-file-url"; + * const p = fromFileUrl("file:///home/foo"); + * console.log(p); // "/home/foo" + * ``` + * + * or, for `windows`: + * + * ```ts + * import { fromFileUrl } from "@std/path/windows/from-file-url"; + * const p = fromFileUrl("file:///home/foo"); + * console.log(p); // "\\home\\foo" + * ``` + * + * This module is browser compatible. + * + * @module + */ + +import * as _windows from "./windows/mod.ts"; +import * as _posix from "./posix/mod.ts"; + +/** @deprecated (will be removed after 1.0.0) Import from {@link https://deno.land/std/path/windows/mod.ts} instead. */ +export const win32: typeof _windows = _windows; + +/** @deprecated (will be removed after 1.0.0) Import from {@link https://deno.land/std/path/posix/mod.ts} instead. */ +export const posix: typeof _posix = _posix; + +export * from "./basename.ts"; +export * from "./constants.ts"; +export * from "./dirname.ts"; +export * from "./extname.ts"; +export * from "./format.ts"; +export * from "./from_file_url.ts"; +export * from "./is_absolute.ts"; +export * from "./join.ts"; +export * from "./normalize.ts"; +export * from "./parse.ts"; +export * from "./relative.ts"; +export * from "./resolve.ts"; +export * from "./to_file_url.ts"; +export * from "./to_namespaced_path.ts"; +export * from "./common.ts"; +export * from "./_interface.ts"; +export * from "./glob_to_regexp.ts"; +export * from "./is_glob.ts"; +export * from "./join_globs.ts"; +export * from "./normalize_glob.ts"; diff --git a/vendor/jsr.io/@std/path/0.221.0/normalize.ts b/vendor/jsr.io/@std/path/0.221.0/normalize.ts new file mode 100644 index 0000000..aab9fb1 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/normalize.ts @@ -0,0 +1,15 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { normalize as posixNormalize } from "./posix/normalize.ts"; +import { normalize as windowsNormalize } from "./windows/normalize.ts"; +/** + * Normalize the `path`, resolving `'..'` and `'.'` segments. + * Note that resolving these segments does not necessarily mean that all will be eliminated. + * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. + * @param path to be normalized + */ +export function normalize(path: string): string { + return isWindows ? windowsNormalize(path) : posixNormalize(path); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/normalize_glob.ts b/vendor/jsr.io/@std/path/0.221.0/normalize_glob.ts new file mode 100644 index 0000000..ae8f520 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/normalize_glob.ts @@ -0,0 +1,21 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "./_common/glob_to_reg_exp.ts"; +import { isWindows } from "./_os.ts"; +import { normalizeGlob as posixNormalizeGlob } from "./posix/normalize_glob.ts"; +import { + normalizeGlob as windowsNormalizeGlob, +} from "./windows/normalize_glob.ts"; + +export type { GlobOptions }; + +/** Like normalize(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function normalizeGlob( + glob: string, + options: GlobOptions = {}, +): string { + return isWindows + ? windowsNormalizeGlob(glob, options) + : posixNormalizeGlob(glob, options); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/parse.ts b/vendor/jsr.io/@std/path/0.221.0/parse.ts new file mode 100644 index 0000000..3ac6b07 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/parse.ts @@ -0,0 +1,27 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import type { ParsedPath } from "./_interface.ts"; +import { parse as posixParse } from "./posix/parse.ts"; +import { parse as windowsParse } from "./windows/parse.ts"; + +/** + * Return a `ParsedPath` object of the `path`. Use `format` to reverse the result. + * + * @example + * ```ts + * import { parse } from "@std/path"; + * + * const parsedPathObj = parse("/path/to/dir/script.ts"); + * parsedPathObj.root; // "/" + * parsedPathObj.dir; // "/path/to/dir" + * parsedPathObj.base; // "script.ts" + * parsedPathObj.ext; // ".ts" + * parsedPathObj.name; // "script" + * ``` + * @param path to process + */ +export function parse(path: string): ParsedPath { + return isWindows ? windowsParse(path) : posixParse(path); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/_util.ts b/vendor/jsr.io/@std/path/0.221.0/posix/_util.ts new file mode 100644 index 0000000..b446155 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/_util.ts @@ -0,0 +1,10 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +import { CHAR_FORWARD_SLASH } from "../_common/constants.ts"; + +export function isPosixPathSeparator(code: number): boolean { + return code === CHAR_FORWARD_SLASH; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/basename.ts b/vendor/jsr.io/@std/path/0.221.0/posix/basename.ts new file mode 100644 index 0000000..0488fd6 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/basename.ts @@ -0,0 +1,37 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + assertArgs, + lastPathSegment, + stripSuffix, +} from "../_common/basename.ts"; +import { stripTrailingSeparators } from "../_common/strip_trailing_separators.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Return the last portion of a `path`. + * Trailing directory separators are ignored, and optional suffix is removed. + * + * @example + * ```ts + * import { basename } from "@std/path/basename"; + * + * console.log(basename("/home/user/Documents/")); // "Documents" + * console.log(basename("/home/user/Documents/image.png")); // "image.png" + * console.log(basename("/home/user/Documents/image.png", ".png")); // "image" + * ``` + * + * @param path - path to extract the name from. + * @param [suffix] - suffix to remove from extracted name. + */ +export function basename(path: string, suffix = ""): string { + assertArgs(path, suffix); + + const lastSegment = lastPathSegment(path, isPosixPathSeparator); + const strippedSegment = stripTrailingSeparators( + lastSegment, + isPosixPathSeparator, + ); + return suffix ? stripSuffix(strippedSegment, suffix) : strippedSegment; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/common.ts b/vendor/jsr.io/@std/path/0.221.0/posix/common.ts new file mode 100644 index 0000000..9d31bd8 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/common.ts @@ -0,0 +1,24 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _common } from "../_common/common.ts"; +import { SEPARATOR } from "./constants.ts"; + +/** Determines the common path from a set of paths, using an optional separator, + * which defaults to the OS default separator. + * + * ```ts + * import { common } from "@std/path"; + * const p = common([ + * "./deno/std/path/mod.ts", + * "./deno/std/fs/mod.ts", + * ]); + * console.log(p); // "./deno/std/" + * ``` + */ +export function common( + paths: string[], + sep: string = SEPARATOR, +): string { + return _common(paths, sep); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/constants.ts b/vendor/jsr.io/@std/path/0.221.0/posix/constants.ts new file mode 100644 index 0000000..0612e5b --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/constants.ts @@ -0,0 +1,6 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export const DELIMITER = ":" as const; +export const SEPARATOR = "/" as const; +export const SEPARATOR_PATTERN = /\/+/; diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/dirname.ts b/vendor/jsr.io/@std/path/0.221.0/posix/dirname.ts new file mode 100644 index 0000000..4e21e05 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/dirname.ts @@ -0,0 +1,53 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/dirname.ts"; +import { stripTrailingSeparators } from "../_common/strip_trailing_separators.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Return the directory path of a `path`. + * + * @example + * ```ts + * import { dirname } from "@std/path/dirname"; + * + * console.log(dirname("/home/user/Documents/")); // "/home/user" + * console.log(dirname("/home/user/Documents/image.png")); // "/home/user/Documents" + * ``` + * + * @param path - path to extract the directory from. + */ +export function dirname(path: string): string { + assertArg(path); + + let end = -1; + let matchedNonSeparator = false; + + for (let i = path.length - 1; i >= 1; --i) { + if (isPosixPathSeparator(path.charCodeAt(i))) { + if (matchedNonSeparator) { + end = i; + break; + } + } else { + matchedNonSeparator = true; + } + } + + // No matches. Fallback based on provided path: + // + // - leading slashes paths + // "/foo" => "/" + // "///foo" => "/" + // - no slash path + // "foo" => "." + if (end === -1) { + return isPosixPathSeparator(path.charCodeAt(0)) ? "/" : "."; + } + + return stripTrailingSeparators( + path.slice(0, end), + isPosixPathSeparator, + ); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/extname.ts b/vendor/jsr.io/@std/path/0.221.0/posix/extname.ts new file mode 100644 index 0000000..9bd74c0 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/extname.ts @@ -0,0 +1,71 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_DOT } from "../_common/constants.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Return the extension of the `path` with leading period. + * + * @example + * ```ts + * import { extname } from "@std/path/extname"; + * + * console.log(extname("/home/user/Documents/")); // "" + * console.log(extname("/home/user/Documents/image.png")); // ".png" + * ``` + * + * @param path with extension + * @returns extension (ex. for `file.ts` returns `.ts`) + */ +export function extname(path: string): string { + assertPath(path); + + let startDot = -1; + let startPart = 0; + let end = -1; + let matchedSlash = true; + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + for (let i = path.length - 1; i >= 0; --i) { + const code = path.charCodeAt(i); + if (isPosixPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + return ""; + } + return path.slice(startDot, end); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/format.ts b/vendor/jsr.io/@std/path/0.221.0/posix/format.ts new file mode 100644 index 0000000..eb73976 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/format.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _format, assertArg } from "../_common/format.ts"; +import type { FormatInputPathObject } from "../_interface.ts"; + +/** + * Generate a path from `FormatInputPathObject` object. + * @param pathObject with path + */ +export function format(pathObject: FormatInputPathObject): string { + assertArg(pathObject); + return _format("/", pathObject); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/from_file_url.ts b/vendor/jsr.io/@std/path/0.221.0/posix/from_file_url.ts new file mode 100644 index 0000000..10c4606 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/from_file_url.ts @@ -0,0 +1,21 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/from_file_url.ts"; + +/** + * Converts a file URL to a path string. + * + * ```ts + * import { fromFileUrl } from "@std/path/posix/from-file-url"; + * + * fromFileUrl("file:///home/foo"); // "/home/foo" + * ``` + * @param url of a file URL + */ +export function fromFileUrl(url: URL | string): string { + url = assertArg(url); + return decodeURIComponent( + url.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"), + ); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/glob_to_regexp.ts b/vendor/jsr.io/@std/path/0.221.0/posix/glob_to_regexp.ts new file mode 100644 index 0000000..344abe7 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/glob_to_regexp.ts @@ -0,0 +1,79 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + _globToRegExp, + type GlobConstants, + type GlobToRegExpOptions, +} from "../_common/glob_to_reg_exp.ts"; + +const constants: GlobConstants = { + sep: "/+", + sepMaybe: "/*", + seps: ["/"], + globstar: "(?:[^/]*(?:/|$)+)*", + wildcard: "[^/]*", + escapePrefix: "\\", +}; + +/** Convert a glob string to a regular expression. + * + * Tries to match bash glob expansion as closely as possible. + * + * Basic glob syntax: + * - `*` - Matches everything without leaving the path segment. + * - `?` - Matches any single character. + * - `{foo,bar}` - Matches `foo` or `bar`. + * - `[abcd]` - Matches `a`, `b`, `c` or `d`. + * - `[a-d]` - Matches `a`, `b`, `c` or `d`. + * - `[!abcd]` - Matches any single character besides `a`, `b`, `c` or `d`. + * - `[[::]]` - Matches any character belonging to ``. + * - `[[:alnum:]]` - Matches any digit or letter. + * - `[[:digit:]abc]` - Matches any digit, `a`, `b` or `c`. + * - See https://facelessuser.github.io/wcmatch/glob/#posix-character-classes + * for a complete list of supported character classes. + * - `\` - Escapes the next character for an `os` other than `"windows"`. + * - \` - Escapes the next character for `os` set to `"windows"`. + * - `/` - Path separator. + * - `\` - Additional path separator only for `os` set to `"windows"`. + * + * Extended syntax: + * - Requires `{ extended: true }`. + * - `?(foo|bar)` - Matches 0 or 1 instance of `{foo,bar}`. + * - `@(foo|bar)` - Matches 1 instance of `{foo,bar}`. They behave the same. + * - `*(foo|bar)` - Matches _n_ instances of `{foo,bar}`. + * - `+(foo|bar)` - Matches _n > 0_ instances of `{foo,bar}`. + * - `!(foo|bar)` - Matches anything other than `{foo,bar}`. + * - See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * Globstar syntax: + * - Requires `{ globstar: true }`. + * - `**` - Matches any number of any path segments. + * - Must comprise its entire path segment in the provided glob. + * - See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * + * Note the following properties: + * - The generated `RegExp` is anchored at both start and end. + * - Repeating and trailing separators are tolerated. Trailing separators in the + * provided glob have no meaning and are discarded. + * - Absolute globs will only match absolute paths, etc. + * - Empty globs will match nothing. + * - Any special glob syntax must be contained to one path segment. For example, + * `?(foo|bar/baz)` is invalid. The separator will take precedence and the + * first segment ends with an unclosed group. + * - If a path segment ends with unclosed groups or a dangling escape prefix, a + * parse error has occurred. Every character for that segment is taken + * literally in this event. + * + * Limitations: + * - A negative group like `!(foo|bar)` will wrongly be converted to a negative + * look-ahead followed by a wildcard. This means that `!(foo).js` will wrongly + * fail to match `foobar.js`, even though `foobar` is not `foo`. Effectively, + * `!(foo|bar)` is treated like `!(@(foo|bar)*)`. This will work correctly if + * the group occurs not nested at the end of the segment. */ +export function globToRegExp( + glob: string, + options: GlobToRegExpOptions = {}, +): RegExp { + return _globToRegExp(constants, glob, options); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/is_absolute.ts b/vendor/jsr.io/@std/path/0.221.0/posix/is_absolute.ts new file mode 100644 index 0000000..3dbc3ed --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/is_absolute.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Verifies whether provided path is absolute + * @param path to be verified as absolute + */ +export function isAbsolute(path: string): boolean { + assertPath(path); + return path.length > 0 && isPosixPathSeparator(path.charCodeAt(0)); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/is_glob.ts b/vendor/jsr.io/@std/path/0.221.0/posix/is_glob.ts new file mode 100644 index 0000000..6b97e68 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/is_glob.ts @@ -0,0 +1,4 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export { isGlob } from "../is_glob.ts"; diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/join.ts b/vendor/jsr.io/@std/path/0.221.0/posix/join.ts new file mode 100644 index 0000000..625762a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/join.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "../_common/assert_path.ts"; +import { normalize } from "./normalize.ts"; + +/** + * Join all given a sequence of `paths`,then normalizes the resulting path. + * @param paths to be joined and normalized + */ +export function join(...paths: string[]): string { + if (paths.length === 0) return "."; + + let joined: string | undefined; + for (let i = 0; i < paths.length; ++i) { + const path = paths[i]!; + assertPath(path); + if (path.length > 0) { + if (!joined) joined = path; + else joined += `/${path}`; + } + } + if (!joined) return "."; + return normalize(joined); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/join_globs.ts b/vendor/jsr.io/@std/path/0.221.0/posix/join_globs.ts new file mode 100644 index 0000000..f30a114 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/join_globs.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "../_common/glob_to_reg_exp.ts"; +import { join } from "./join.ts"; +import { SEPARATOR } from "./constants.ts"; +import { normalizeGlob } from "./normalize_glob.ts"; + +export type { GlobOptions }; + +/** Like join(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function joinGlobs( + globs: string[], + { extended = true, globstar = false }: GlobOptions = {}, +): string { + if (!globstar || globs.length === 0) { + return join(...globs); + } + if (globs.length === 0) return "."; + let joined: string | undefined; + for (const glob of globs) { + const path = glob; + if (path.length > 0) { + if (!joined) joined = path; + else joined += `${SEPARATOR}${path}`; + } + } + if (!joined) return "."; + return normalizeGlob(joined, { extended, globstar }); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/mod.ts b/vendor/jsr.io/@std/path/0.221.0/posix/mod.ts new file mode 100644 index 0000000..3c5a27a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/mod.ts @@ -0,0 +1,43 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported mostly from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +/** + * Utilities for working with OS-specific file paths. + * + * Codes in the examples uses POSIX path but it automatically use Windows path + * on Windows. Use methods under `posix` or `win32` object instead to handle non + * platform specific path like: + * ```ts + * import { posix, win32 } from "@std/path"; + * const p1 = posix.fromFileUrl("file:///home/foo"); + * const p2 = win32.fromFileUrl("file:///home/foo"); + * console.log(p1); // "/home/foo" + * console.log(p2); // "\\home\\foo" + * ``` + * + * This module is browser compatible. + * + * @module + */ +export * from "./basename.ts"; +export * from "./constants.ts"; +export * from "./dirname.ts"; +export * from "./extname.ts"; +export * from "./format.ts"; +export * from "./from_file_url.ts"; +export * from "./is_absolute.ts"; +export * from "./join.ts"; +export * from "./normalize.ts"; +export * from "./parse.ts"; +export * from "./relative.ts"; +export * from "./resolve.ts"; +export * from "./to_file_url.ts"; +export * from "./to_namespaced_path.ts"; +export * from "./common.ts"; +export * from "../_interface.ts"; +export * from "./glob_to_regexp.ts"; +export * from "./is_glob.ts"; +export * from "./join_globs.ts"; +export * from "./normalize_glob.ts"; diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/normalize.ts b/vendor/jsr.io/@std/path/0.221.0/posix/normalize.ts new file mode 100644 index 0000000..8e88ad2 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/normalize.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/normalize.ts"; +import { normalizeString } from "../_common/normalize_string.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Normalize the `path`, resolving `'..'` and `'.'` segments. + * Note that resolving these segments does not necessarily mean that all will be eliminated. + * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. + * @param path to be normalized + */ +export function normalize(path: string): string { + assertArg(path); + + const isAbsolute = isPosixPathSeparator(path.charCodeAt(0)); + const trailingSeparator = isPosixPathSeparator( + path.charCodeAt(path.length - 1), + ); + + // Normalize the path + path = normalizeString(path, !isAbsolute, "/", isPosixPathSeparator); + + if (path.length === 0 && !isAbsolute) path = "."; + if (path.length > 0 && trailingSeparator) path += "/"; + + if (isAbsolute) return `/${path}`; + return path; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/normalize_glob.ts b/vendor/jsr.io/@std/path/0.221.0/posix/normalize_glob.ts new file mode 100644 index 0000000..49aa71a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/normalize_glob.ts @@ -0,0 +1,27 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "../_common/glob_to_reg_exp.ts"; +import { normalize } from "./normalize.ts"; +import { SEPARATOR_PATTERN } from "./constants.ts"; + +export type { GlobOptions }; + +/** Like normalize(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function normalizeGlob( + glob: string, + { globstar = false }: GlobOptions = {}, +): string { + if (glob.match(/\0/g)) { + throw new Error(`Glob contains invalid characters: "${glob}"`); + } + if (!globstar) { + return normalize(glob); + } + const s = SEPARATOR_PATTERN.source; + const badParentPattern = new RegExp( + `(?<=(${s}|^)\\*\\*${s})\\.\\.(?=${s}|$)`, + "g", + ); + return normalize(glob.replace(badParentPattern, "\0")).replace(/\0/g, ".."); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/parse.ts b/vendor/jsr.io/@std/path/0.221.0/posix/parse.ts new file mode 100644 index 0000000..676cd38 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/parse.ts @@ -0,0 +1,102 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_DOT } from "../_common/constants.ts"; +import type { ParsedPath } from "../_interface.ts"; +import { stripTrailingSeparators } from "../_common/strip_trailing_separators.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Return a `ParsedPath` object of the `path`. + * @param path to process + */ +export function parse(path: string): ParsedPath { + assertPath(path); + + const ret: ParsedPath = { root: "", dir: "", base: "", ext: "", name: "" }; + if (path.length === 0) return ret; + const isAbsolute = isPosixPathSeparator(path.charCodeAt(0)); + let start: number; + if (isAbsolute) { + ret.root = "/"; + start = 1; + } else { + start = 0; + } + let startDot = -1; + let startPart = 0; + let end = -1; + let matchedSlash = true; + let i = path.length - 1; + + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + + // Get non-dir info + for (; i >= start; --i) { + const code = path.charCodeAt(i); + if (isPosixPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + if (end !== -1) { + if (startPart === 0 && isAbsolute) { + ret.base = ret.name = path.slice(1, end); + } else { + ret.base = ret.name = path.slice(startPart, end); + } + } + // Fallback to '/' in case there is no basename + ret.base = ret.base || "/"; + } else { + if (startPart === 0 && isAbsolute) { + ret.name = path.slice(1, startDot); + ret.base = path.slice(1, end); + } else { + ret.name = path.slice(startPart, startDot); + ret.base = path.slice(startPart, end); + } + ret.ext = path.slice(startDot, end); + } + + if (startPart > 0) { + ret.dir = stripTrailingSeparators( + path.slice(0, startPart - 1), + isPosixPathSeparator, + ); + } else if (isAbsolute) ret.dir = "/"; + + return ret; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/relative.ts b/vendor/jsr.io/@std/path/0.221.0/posix/relative.ts new file mode 100644 index 0000000..eec8e85 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/relative.ts @@ -0,0 +1,91 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isPosixPathSeparator } from "./_util.ts"; +import { resolve } from "./resolve.ts"; +import { assertArgs } from "../_common/relative.ts"; + +/** + * Return the relative path from `from` to `to` based on current working directory. + * + * @param from path in current working directory + * @param to path in current working directory + */ +export function relative(from: string, to: string): string { + assertArgs(from, to); + + from = resolve(from); + to = resolve(to); + + if (from === to) return ""; + + // Trim any leading backslashes + let fromStart = 1; + const fromEnd = from.length; + for (; fromStart < fromEnd; ++fromStart) { + if (!isPosixPathSeparator(from.charCodeAt(fromStart))) break; + } + const fromLen = fromEnd - fromStart; + + // Trim any leading backslashes + let toStart = 1; + const toEnd = to.length; + for (; toStart < toEnd; ++toStart) { + if (!isPosixPathSeparator(to.charCodeAt(toStart))) break; + } + const toLen = toEnd - toStart; + + // Compare paths to find the longest common path from root + const length = fromLen < toLen ? fromLen : toLen; + let lastCommonSep = -1; + let i = 0; + for (; i <= length; ++i) { + if (i === length) { + if (toLen > length) { + if (isPosixPathSeparator(to.charCodeAt(toStart + i))) { + // We get here if `from` is the exact base path for `to`. + // For example: from='/foo/bar'; to='/foo/bar/baz' + return to.slice(toStart + i + 1); + } else if (i === 0) { + // We get here if `from` is the root + // For example: from='/'; to='/foo' + return to.slice(toStart + i); + } + } else if (fromLen > length) { + if (isPosixPathSeparator(from.charCodeAt(fromStart + i))) { + // We get here if `to` is the exact base path for `from`. + // For example: from='/foo/bar/baz'; to='/foo/bar' + lastCommonSep = i; + } else if (i === 0) { + // We get here if `to` is the root. + // For example: from='/foo'; to='/' + lastCommonSep = 0; + } + } + break; + } + const fromCode = from.charCodeAt(fromStart + i); + const toCode = to.charCodeAt(toStart + i); + if (fromCode !== toCode) break; + else if (isPosixPathSeparator(fromCode)) lastCommonSep = i; + } + + let out = ""; + // Generate the relative path based on the path difference between `to` + // and `from` + for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { + if (i === fromEnd || isPosixPathSeparator(from.charCodeAt(i))) { + if (out.length === 0) out += ".."; + else out += "/.."; + } + } + + // Lastly, append the rest of the destination (`to`) path that comes after + // the common path parts + if (out.length > 0) return out + to.slice(toStart + lastCommonSep); + else { + toStart += lastCommonSep; + if (isPosixPathSeparator(to.charCodeAt(toStart))) ++toStart; + return to.slice(toStart); + } +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/resolve.ts b/vendor/jsr.io/@std/path/0.221.0/posix/resolve.ts new file mode 100644 index 0000000..196a08a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/resolve.ts @@ -0,0 +1,56 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { normalizeString } from "../_common/normalize_string.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Resolves path segments into a `path` + * @param pathSegments to process to path + */ +export function resolve(...pathSegments: string[]): string { + let resolvedPath = ""; + let resolvedAbsolute = false; + + for (let i = pathSegments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + let path: string; + + if (i >= 0) path = pathSegments[i]!; + else { + // deno-lint-ignore no-explicit-any + const { Deno } = globalThis as any; + if (typeof Deno?.cwd !== "function") { + throw new TypeError("Resolved a relative path without a CWD."); + } + path = Deno.cwd(); + } + + assertPath(path); + + // Skip empty entries + if (path.length === 0) { + continue; + } + + resolvedPath = `${path}/${resolvedPath}`; + resolvedAbsolute = isPosixPathSeparator(path.charCodeAt(0)); + } + + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when Deno.cwd() fails) + + // Normalize the path + resolvedPath = normalizeString( + resolvedPath, + !resolvedAbsolute, + "/", + isPosixPathSeparator, + ); + + if (resolvedAbsolute) { + if (resolvedPath.length > 0) return `/${resolvedPath}`; + else return "/"; + } else if (resolvedPath.length > 0) return resolvedPath; + else return "."; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/to_file_url.ts b/vendor/jsr.io/@std/path/0.221.0/posix/to_file_url.ts new file mode 100644 index 0000000..45553ee --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/to_file_url.ts @@ -0,0 +1,27 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { encodeWhitespace } from "../_common/to_file_url.ts"; +import { isAbsolute } from "./is_absolute.ts"; + +/** + * Converts a path string to a file URL. + * + * ```ts + * import { toFileUrl } from "@std/path/posix/to-file-url"; + * + * toFileUrl("/home/foo"); // new URL("file:///home/foo") + * ``` + * @param path to convert to file URL + */ +export function toFileUrl(path: string): URL { + if (!isAbsolute(path)) { + throw new TypeError("Must be an absolute path."); + } + + const url = new URL("file:///"); + url.pathname = encodeWhitespace( + path.replace(/%/g, "%25").replace(/\\/g, "%5C"), + ); + return url; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/posix/to_namespaced_path.ts b/vendor/jsr.io/@std/path/0.221.0/posix/to_namespaced_path.ts new file mode 100644 index 0000000..39e05ab --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/posix/to_namespaced_path.ts @@ -0,0 +1,11 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Resolves path to a namespace path + * @param path to resolve to namespace + */ +export function toNamespacedPath(path: string): string { + // Non-op on posix systems + return path; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/relative.ts b/vendor/jsr.io/@std/path/0.221.0/relative.ts new file mode 100644 index 0000000..01a6ca7 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/relative.ts @@ -0,0 +1,21 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { relative as posixRelative } from "./posix/relative.ts"; +import { relative as windowsRelative } from "./windows/relative.ts"; + +/** + * Return the relative path from `from` to `to` based on current working directory. + * + * An example in windws, for instance: + * from = 'C:\\orandea\\test\\aaa' + * to = 'C:\\orandea\\impl\\bbb' + * The output of the function should be: '..\\..\\impl\\bbb' + * + * @param from path in current working directory + * @param to path in current working directory + */ +export function relative(from: string, to: string): string { + return isWindows ? windowsRelative(from, to) : posixRelative(from, to); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/resolve.ts b/vendor/jsr.io/@std/path/0.221.0/resolve.ts new file mode 100644 index 0000000..86300b1 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/resolve.ts @@ -0,0 +1,16 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { resolve as posixResolve } from "./posix/resolve.ts"; +import { resolve as windowsResolve } from "./windows/resolve.ts"; + +/** + * Resolves path segments into a `path` + * @param pathSegments to process to path + */ +export function resolve(...pathSegments: string[]): string { + return isWindows + ? windowsResolve(...pathSegments) + : posixResolve(...pathSegments); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/to_file_url.ts b/vendor/jsr.io/@std/path/0.221.0/to_file_url.ts new file mode 100644 index 0000000..357f21e --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/to_file_url.ts @@ -0,0 +1,26 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { toFileUrl as posixToFileUrl } from "./posix/to_file_url.ts"; +import { toFileUrl as windowsToFileUrl } from "./windows/to_file_url.ts"; + +/** + * Converts a path string to a file URL. + * + * ```ts + * import { toFileUrl } from "@std/path/to-file-url"; + * + * // posix + * toFileUrl("/home/foo"); // new URL("file:///home/foo") + * + * // win32 + * toFileUrl("\\home\\foo"); // new URL("file:///home/foo") + * toFileUrl("C:\\Users\\foo"); // new URL("file:///C:/Users/foo") + * toFileUrl("\\\\127.0.0.1\\home\\foo"); // new URL("file://127.0.0.1/home/foo") + * ``` + * @param path to convert to file URL + */ +export function toFileUrl(path: string): URL { + return isWindows ? windowsToFileUrl(path) : posixToFileUrl(path); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/to_namespaced_path.ts b/vendor/jsr.io/@std/path/0.221.0/to_namespaced_path.ts new file mode 100644 index 0000000..89db22d --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/to_namespaced_path.ts @@ -0,0 +1,16 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { toNamespacedPath as posixToNamespacedPath } from "./posix/to_namespaced_path.ts"; +import { toNamespacedPath as windowsToNamespacedPath } from "./windows/to_namespaced_path.ts"; + +/** + * Resolves path to a namespace path + * @param path to resolve to namespace + */ +export function toNamespacedPath(path: string): string { + return isWindows + ? windowsToNamespacedPath(path) + : posixToNamespacedPath(path); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/_util.ts b/vendor/jsr.io/@std/path/0.221.0/windows/_util.ts new file mode 100644 index 0000000..d4f8f8b --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/_util.ts @@ -0,0 +1,28 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +import { + CHAR_BACKWARD_SLASH, + CHAR_FORWARD_SLASH, + CHAR_LOWERCASE_A, + CHAR_LOWERCASE_Z, + CHAR_UPPERCASE_A, + CHAR_UPPERCASE_Z, +} from "../_common/constants.ts"; + +export function isPosixPathSeparator(code: number): boolean { + return code === CHAR_FORWARD_SLASH; +} + +export function isPathSeparator(code: number): boolean { + return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; +} + +export function isWindowsDeviceRoot(code: number): boolean { + return ( + (code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z) || + (code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z) + ); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/basename.ts b/vendor/jsr.io/@std/path/0.221.0/windows/basename.ts new file mode 100644 index 0000000..d8629da --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/basename.ts @@ -0,0 +1,46 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + assertArgs, + lastPathSegment, + stripSuffix, +} from "../_common/basename.ts"; +import { CHAR_COLON } from "../_common/constants.ts"; +import { stripTrailingSeparators } from "../_common/strip_trailing_separators.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Return the last portion of a `path`. + * Trailing directory separators are ignored, and optional suffix is removed. + * + * @example + * ```ts + * import { basename } from "@std/path/basename"; + * + * basename("C:\\user\\Documents\\"); // "Documents" + * basename("C:\\user\\Documents\\image.png"); // "image.png" + * basename("C:\\user\\Documents\\image.png", ".png"); // "image" + * ``` + * + * @param path - path to extract the name from. + * @param [suffix] - suffix to remove from extracted name. + */ +export function basename(path: string, suffix = ""): string { + assertArgs(path, suffix); + + // Check for a drive letter prefix so as not to mistake the following + // path separator as an extra separator at the end of the path that can be + // disregarded + let start = 0; + if (path.length >= 2) { + const drive = path.charCodeAt(0); + if (isWindowsDeviceRoot(drive)) { + if (path.charCodeAt(1) === CHAR_COLON) start = 2; + } + } + + const lastSegment = lastPathSegment(path, isPathSeparator, start); + const strippedSegment = stripTrailingSeparators(lastSegment, isPathSeparator); + return suffix ? stripSuffix(strippedSegment, suffix) : strippedSegment; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/common.ts b/vendor/jsr.io/@std/path/0.221.0/windows/common.ts new file mode 100644 index 0000000..9d31bd8 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/common.ts @@ -0,0 +1,24 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _common } from "../_common/common.ts"; +import { SEPARATOR } from "./constants.ts"; + +/** Determines the common path from a set of paths, using an optional separator, + * which defaults to the OS default separator. + * + * ```ts + * import { common } from "@std/path"; + * const p = common([ + * "./deno/std/path/mod.ts", + * "./deno/std/fs/mod.ts", + * ]); + * console.log(p); // "./deno/std/" + * ``` + */ +export function common( + paths: string[], + sep: string = SEPARATOR, +): string { + return _common(paths, sep); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/constants.ts b/vendor/jsr.io/@std/path/0.221.0/windows/constants.ts new file mode 100644 index 0000000..b88dc1b --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/constants.ts @@ -0,0 +1,6 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export const DELIMITER = ";" as const; +export const SEPARATOR = "\\" as const; +export const SEPARATOR_PATTERN = /[\\/]+/; diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/dirname.ts b/vendor/jsr.io/@std/path/0.221.0/windows/dirname.ts new file mode 100644 index 0000000..d5c0ed8 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/dirname.ts @@ -0,0 +1,103 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/dirname.ts"; +import { CHAR_COLON } from "../_common/constants.ts"; +import { stripTrailingSeparators } from "../_common/strip_trailing_separators.ts"; +import { + isPathSeparator, + isPosixPathSeparator, + isWindowsDeviceRoot, +} from "./_util.ts"; + +/** + * Return the directory path of a `path`. + * @param path - path to extract the directory from. + */ +export function dirname(path: string): string { + assertArg(path); + + const len = path.length; + let rootEnd = -1; + let end = -1; + let matchedSlash = true; + let offset = 0; + const code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + rootEnd = offset = 1; + + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + return path; + } + if (j !== last) { + // We matched a UNC root with leftovers + + // Offset by 1 to include the separator after the UNC root to + // treat it as a "normal root" on top of a (UNC) root + rootEnd = offset = j + 1; + } + } + } + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + rootEnd = offset = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) rootEnd = offset = 3; + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator, exit early to avoid + // unnecessary work + return path; + } + + for (let i = len - 1; i >= offset; --i) { + if (isPathSeparator(path.charCodeAt(i))) { + if (!matchedSlash) { + end = i; + break; + } + } else { + // We saw the first non-path separator + matchedSlash = false; + } + } + + if (end === -1) { + if (rootEnd === -1) return "."; + else end = rootEnd; + } + return stripTrailingSeparators(path.slice(0, end), isPosixPathSeparator); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/extname.ts b/vendor/jsr.io/@std/path/0.221.0/windows/extname.ts new file mode 100644 index 0000000..23f81b2 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/extname.ts @@ -0,0 +1,76 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON, CHAR_DOT } from "../_common/constants.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Return the extension of the `path` with leading period. + * @param path with extension + * @returns extension (ex. for `file.ts` returns `.ts`) + */ +export function extname(path: string): string { + assertPath(path); + + let start = 0; + let startDot = -1; + let startPart = 0; + let end = -1; + let matchedSlash = true; + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + + // Check for a drive letter prefix so as not to mistake the following + // path separator as an extra separator at the end of the path that can be + // disregarded + + if ( + path.length >= 2 && + path.charCodeAt(1) === CHAR_COLON && + isWindowsDeviceRoot(path.charCodeAt(0)) + ) { + start = startPart = 2; + } + + for (let i = path.length - 1; i >= start; --i) { + const code = path.charCodeAt(i); + if (isPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + return ""; + } + return path.slice(startDot, end); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/format.ts b/vendor/jsr.io/@std/path/0.221.0/windows/format.ts new file mode 100644 index 0000000..b6b9658 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/format.ts @@ -0,0 +1,14 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _format, assertArg } from "../_common/format.ts"; +import type { FormatInputPathObject } from "../_interface.ts"; + +/** + * Generate a path from `FormatInputPathObject` object. + * @param pathObject with path + */ +export function format(pathObject: FormatInputPathObject): string { + assertArg(pathObject); + return _format("\\", pathObject); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/from_file_url.ts b/vendor/jsr.io/@std/path/0.221.0/windows/from_file_url.ts new file mode 100644 index 0000000..bda7667 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/from_file_url.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/from_file_url.ts"; + +/** + * Converts a file URL to a path string. + * + * ```ts + * import { fromFileUrl } from "@std/path/windows/from-file-url"; + * + * fromFileUrl("file:///home/foo"); // "\\home\\foo" + * fromFileUrl("file:///C:/Users/foo"); // "C:\\Users\\foo" + * fromFileUrl("file://localhost/home/foo"); // "\\\\localhost\\home\\foo" + * ``` + * @param url of a file URL + */ +export function fromFileUrl(url: URL | string): string { + url = assertArg(url); + let path = decodeURIComponent( + url.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25"), + ).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\"); + if (url.hostname !== "") { + // Note: The `URL` implementation guarantees that the drive letter and + // hostname are mutually exclusive. Otherwise it would not have been valid + // to append the hostname and path like this. + path = `\\\\${url.hostname}${path}`; + } + return path; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/glob_to_regexp.ts b/vendor/jsr.io/@std/path/0.221.0/windows/glob_to_regexp.ts new file mode 100644 index 0000000..ad450c8 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/glob_to_regexp.ts @@ -0,0 +1,79 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + _globToRegExp, + type GlobConstants, + type GlobToRegExpOptions, +} from "../_common/glob_to_reg_exp.ts"; + +const constants: GlobConstants = { + sep: "(?:\\\\|/)+", + sepMaybe: "(?:\\\\|/)*", + seps: ["\\", "/"], + globstar: "(?:[^\\\\/]*(?:\\\\|/|$)+)*", + wildcard: "[^\\\\/]*", + escapePrefix: "`", +}; + +/** Convert a glob string to a regular expression. + * + * Tries to match bash glob expansion as closely as possible. + * + * Basic glob syntax: + * - `*` - Matches everything without leaving the path segment. + * - `?` - Matches any single character. + * - `{foo,bar}` - Matches `foo` or `bar`. + * - `[abcd]` - Matches `a`, `b`, `c` or `d`. + * - `[a-d]` - Matches `a`, `b`, `c` or `d`. + * - `[!abcd]` - Matches any single character besides `a`, `b`, `c` or `d`. + * - `[[::]]` - Matches any character belonging to ``. + * - `[[:alnum:]]` - Matches any digit or letter. + * - `[[:digit:]abc]` - Matches any digit, `a`, `b` or `c`. + * - See https://facelessuser.github.io/wcmatch/glob/#posix-character-classes + * for a complete list of supported character classes. + * - `\` - Escapes the next character for an `os` other than `"windows"`. + * - \` - Escapes the next character for `os` set to `"windows"`. + * - `/` - Path separator. + * - `\` - Additional path separator only for `os` set to `"windows"`. + * + * Extended syntax: + * - Requires `{ extended: true }`. + * - `?(foo|bar)` - Matches 0 or 1 instance of `{foo,bar}`. + * - `@(foo|bar)` - Matches 1 instance of `{foo,bar}`. They behave the same. + * - `*(foo|bar)` - Matches _n_ instances of `{foo,bar}`. + * - `+(foo|bar)` - Matches _n > 0_ instances of `{foo,bar}`. + * - `!(foo|bar)` - Matches anything other than `{foo,bar}`. + * - See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * Globstar syntax: + * - Requires `{ globstar: true }`. + * - `**` - Matches any number of any path segments. + * - Must comprise its entire path segment in the provided glob. + * - See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * + * Note the following properties: + * - The generated `RegExp` is anchored at both start and end. + * - Repeating and trailing separators are tolerated. Trailing separators in the + * provided glob have no meaning and are discarded. + * - Absolute globs will only match absolute paths, etc. + * - Empty globs will match nothing. + * - Any special glob syntax must be contained to one path segment. For example, + * `?(foo|bar/baz)` is invalid. The separator will take precedence and the + * first segment ends with an unclosed group. + * - If a path segment ends with unclosed groups or a dangling escape prefix, a + * parse error has occurred. Every character for that segment is taken + * literally in this event. + * + * Limitations: + * - A negative group like `!(foo|bar)` will wrongly be converted to a negative + * look-ahead followed by a wildcard. This means that `!(foo).js` will wrongly + * fail to match `foobar.js`, even though `foobar` is not `foo`. Effectively, + * `!(foo|bar)` is treated like `!(@(foo|bar)*)`. This will work correctly if + * the group occurs not nested at the end of the segment. */ +export function globToRegExp( + glob: string, + options: GlobToRegExpOptions = {}, +): RegExp { + return _globToRegExp(constants, glob, options); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/is_absolute.ts b/vendor/jsr.io/@std/path/0.221.0/windows/is_absolute.ts new file mode 100644 index 0000000..44902cd --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/is_absolute.ts @@ -0,0 +1,29 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON } from "../_common/constants.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Verifies whether provided path is absolute + * @param path to be verified as absolute + */ +export function isAbsolute(path: string): boolean { + assertPath(path); + + const len = path.length; + if (len === 0) return false; + + const code = path.charCodeAt(0); + if (isPathSeparator(code)) { + return true; + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (len > 2 && path.charCodeAt(1) === CHAR_COLON) { + if (isPathSeparator(path.charCodeAt(2))) return true; + } + } + return false; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/is_glob.ts b/vendor/jsr.io/@std/path/0.221.0/windows/is_glob.ts new file mode 100644 index 0000000..6b97e68 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/is_glob.ts @@ -0,0 +1,4 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export { isGlob } from "../is_glob.ts"; diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/join.ts b/vendor/jsr.io/@std/path/0.221.0/windows/join.ts new file mode 100644 index 0000000..e53a7b5 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/join.ts @@ -0,0 +1,72 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assert } from "jsr:/@std/assert@^0.221.0/assert"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPathSeparator } from "./_util.ts"; +import { normalize } from "./normalize.ts"; + +/** + * Join all given a sequence of `paths`,then normalizes the resulting path. + * @param paths to be joined and normalized + */ +export function join(...paths: string[]): string { + if (paths.length === 0) return "."; + + let joined: string | undefined; + let firstPart: string | null = null; + for (let i = 0; i < paths.length; ++i) { + const path = paths[i]!; + assertPath(path); + if (path.length > 0) { + if (joined === undefined) joined = firstPart = path; + else joined += `\\${path}`; + } + } + + if (joined === undefined) return "."; + + // Make sure that the joined path doesn't start with two slashes, because + // normalize() will mistake it for an UNC path then. + // + // This step is skipped when it is very clear that the user actually + // intended to point at an UNC path. This is assumed when the first + // non-empty string arguments starts with exactly two slashes followed by + // at least one more non-slash character. + // + // Note that for normalize() to treat a path as an UNC path it needs to + // have at least 2 components, so we don't filter for that here. + // This means that the user can use join to construct UNC paths from + // a server name and a share name; for example: + // path.join('//server', 'share') -> '\\\\server\\share\\') + let needsReplace = true; + let slashCount = 0; + assert(firstPart !== null); + if (isPathSeparator(firstPart.charCodeAt(0))) { + ++slashCount; + const firstLen = firstPart.length; + if (firstLen > 1) { + if (isPathSeparator(firstPart.charCodeAt(1))) { + ++slashCount; + if (firstLen > 2) { + if (isPathSeparator(firstPart.charCodeAt(2))) ++slashCount; + else { + // We matched a UNC path in the first part + needsReplace = false; + } + } + } + } + } + if (needsReplace) { + // Find any more consecutive slashes we need to replace + for (; slashCount < joined.length; ++slashCount) { + if (!isPathSeparator(joined.charCodeAt(slashCount))) break; + } + + // Replace the slashes if needed + if (slashCount >= 2) joined = `\\${joined.slice(slashCount)}`; + } + + return normalize(joined); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/join_globs.ts b/vendor/jsr.io/@std/path/0.221.0/windows/join_globs.ts new file mode 100644 index 0000000..f30a114 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/join_globs.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "../_common/glob_to_reg_exp.ts"; +import { join } from "./join.ts"; +import { SEPARATOR } from "./constants.ts"; +import { normalizeGlob } from "./normalize_glob.ts"; + +export type { GlobOptions }; + +/** Like join(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function joinGlobs( + globs: string[], + { extended = true, globstar = false }: GlobOptions = {}, +): string { + if (!globstar || globs.length === 0) { + return join(...globs); + } + if (globs.length === 0) return "."; + let joined: string | undefined; + for (const glob of globs) { + const path = glob; + if (path.length > 0) { + if (!joined) joined = path; + else joined += `${SEPARATOR}${path}`; + } + } + if (!joined) return "."; + return normalizeGlob(joined, { extended, globstar }); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/mod.ts b/vendor/jsr.io/@std/path/0.221.0/windows/mod.ts new file mode 100644 index 0000000..3c5a27a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/mod.ts @@ -0,0 +1,43 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported mostly from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +/** + * Utilities for working with OS-specific file paths. + * + * Codes in the examples uses POSIX path but it automatically use Windows path + * on Windows. Use methods under `posix` or `win32` object instead to handle non + * platform specific path like: + * ```ts + * import { posix, win32 } from "@std/path"; + * const p1 = posix.fromFileUrl("file:///home/foo"); + * const p2 = win32.fromFileUrl("file:///home/foo"); + * console.log(p1); // "/home/foo" + * console.log(p2); // "\\home\\foo" + * ``` + * + * This module is browser compatible. + * + * @module + */ +export * from "./basename.ts"; +export * from "./constants.ts"; +export * from "./dirname.ts"; +export * from "./extname.ts"; +export * from "./format.ts"; +export * from "./from_file_url.ts"; +export * from "./is_absolute.ts"; +export * from "./join.ts"; +export * from "./normalize.ts"; +export * from "./parse.ts"; +export * from "./relative.ts"; +export * from "./resolve.ts"; +export * from "./to_file_url.ts"; +export * from "./to_namespaced_path.ts"; +export * from "./common.ts"; +export * from "../_interface.ts"; +export * from "./glob_to_regexp.ts"; +export * from "./is_glob.ts"; +export * from "./join_globs.ts"; +export * from "./normalize_glob.ts"; diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/normalize.ts b/vendor/jsr.io/@std/path/0.221.0/windows/normalize.ts new file mode 100644 index 0000000..8e571fe --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/normalize.ts @@ -0,0 +1,127 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/normalize.ts"; +import { CHAR_COLON } from "../_common/constants.ts"; +import { normalizeString } from "../_common/normalize_string.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Normalize the `path`, resolving `'..'` and `'.'` segments. + * Note that resolving these segments does not necessarily mean that all will be eliminated. + * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. + * @param path to be normalized + */ +export function normalize(path: string): string { + assertArg(path); + + const len = path.length; + let rootEnd = 0; + let device: string | undefined; + let isAbsolute = false; + const code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + // If we started with a separator, we know we at least have an absolute + // path of some kind (UNC or otherwise) + isAbsolute = true; + + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + const firstPart = path.slice(last, j); + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + // Return the normalized version of the UNC root since there + // is nothing left to process + + return `\\\\${firstPart}\\${path.slice(last)}\\`; + } else if (j !== last) { + // We matched a UNC root with leftovers + + device = `\\\\${firstPart}\\${path.slice(last, j)}`; + rootEnd = j; + } + } + } + } else { + rootEnd = 1; + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + device = path.slice(0, 2); + rootEnd = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) { + // Treat separator following drive name as an absolute path + // indicator + isAbsolute = true; + rootEnd = 3; + } + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator, exit early to avoid unnecessary + // work + return "\\"; + } + + let tail: string; + if (rootEnd < len) { + tail = normalizeString( + path.slice(rootEnd), + !isAbsolute, + "\\", + isPathSeparator, + ); + } else { + tail = ""; + } + if (tail.length === 0 && !isAbsolute) tail = "."; + if (tail.length > 0 && isPathSeparator(path.charCodeAt(len - 1))) { + tail += "\\"; + } + if (device === undefined) { + if (isAbsolute) { + if (tail.length > 0) return `\\${tail}`; + else return "\\"; + } else if (tail.length > 0) { + return tail; + } else { + return ""; + } + } else if (isAbsolute) { + if (tail.length > 0) return `${device}\\${tail}`; + else return `${device}\\`; + } else if (tail.length > 0) { + return device + tail; + } else { + return device; + } +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/normalize_glob.ts b/vendor/jsr.io/@std/path/0.221.0/windows/normalize_glob.ts new file mode 100644 index 0000000..49aa71a --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/normalize_glob.ts @@ -0,0 +1,27 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "../_common/glob_to_reg_exp.ts"; +import { normalize } from "./normalize.ts"; +import { SEPARATOR_PATTERN } from "./constants.ts"; + +export type { GlobOptions }; + +/** Like normalize(), but doesn't collapse "**\/.." when `globstar` is true. */ +export function normalizeGlob( + glob: string, + { globstar = false }: GlobOptions = {}, +): string { + if (glob.match(/\0/g)) { + throw new Error(`Glob contains invalid characters: "${glob}"`); + } + if (!globstar) { + return normalize(glob); + } + const s = SEPARATOR_PATTERN.source; + const badParentPattern = new RegExp( + `(?<=(${s}|^)\\*\\*${s})\\.\\.(?=${s}|$)`, + "g", + ); + return normalize(glob.replace(badParentPattern, "\0")).replace(/\0/g, ".."); +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/parse.ts b/vendor/jsr.io/@std/path/0.221.0/windows/parse.ts new file mode 100644 index 0000000..2b75b9b --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/parse.ts @@ -0,0 +1,165 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON, CHAR_DOT } from "../_common/constants.ts"; +import type { ParsedPath } from "../_interface.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Return a `ParsedPath` object of the `path`. + * @param path to process + */ +export function parse(path: string): ParsedPath { + assertPath(path); + + const ret: ParsedPath = { root: "", dir: "", base: "", ext: "", name: "" }; + + const len = path.length; + if (len === 0) return ret; + + let rootEnd = 0; + let code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + rootEnd = 1; + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + + rootEnd = j; + } else if (j !== last) { + // We matched a UNC root with leftovers + + rootEnd = j + 1; + } + } + } + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + rootEnd = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) { + if (len === 3) { + // `path` contains just a drive root, exit early to avoid + // unnecessary work + ret.root = ret.dir = path; + ret.base = "\\"; + return ret; + } + rootEnd = 3; + } + } else { + // `path` contains just a relative drive root, exit early to avoid + // unnecessary work + ret.root = ret.dir = path; + return ret; + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator, exit early to avoid + // unnecessary work + ret.root = ret.dir = path; + ret.base = "\\"; + return ret; + } + + if (rootEnd > 0) ret.root = path.slice(0, rootEnd); + + let startDot = -1; + let startPart = rootEnd; + let end = -1; + let matchedSlash = true; + let i = path.length - 1; + + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + + // Get non-dir info + for (; i >= rootEnd; --i) { + code = path.charCodeAt(i); + if (isPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + if (end !== -1) { + ret.base = ret.name = path.slice(startPart, end); + } + } else { + ret.name = path.slice(startPart, startDot); + ret.base = path.slice(startPart, end); + ret.ext = path.slice(startDot, end); + } + + // Fallback to '\' in case there is no basename + ret.base = ret.base || "\\"; + + // If the directory is the root, use the entire root as the `dir` including + // the trailing slash if any (`C:\abc` -> `C:\`). Otherwise, strip out the + // trailing slash (`C:\abc\def` -> `C:\abc`). + if (startPart > 0 && startPart !== rootEnd) { + ret.dir = path.slice(0, startPart - 1); + } else ret.dir = ret.root; + + return ret; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/relative.ts b/vendor/jsr.io/@std/path/0.221.0/windows/relative.ts new file mode 100644 index 0000000..90ba227 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/relative.ts @@ -0,0 +1,118 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_BACKWARD_SLASH } from "../_common/constants.ts"; +import { resolve } from "./resolve.ts"; +import { assertArgs } from "../_common/relative.ts"; + +/** + * Return the relative path from `from` to `to` based on current working directory. + * + * An example in windws, for instance: + * from = 'C:\\orandea\\test\\aaa' + * to = 'C:\\orandea\\impl\\bbb' + * The output of the function should be: '..\\..\\impl\\bbb' + * + * @param from path in current working directory + * @param to path in current working directory + */ +export function relative(from: string, to: string): string { + assertArgs(from, to); + + const fromOrig = resolve(from); + const toOrig = resolve(to); + + if (fromOrig === toOrig) return ""; + + from = fromOrig.toLowerCase(); + to = toOrig.toLowerCase(); + + if (from === to) return ""; + + // Trim any leading backslashes + let fromStart = 0; + let fromEnd = from.length; + for (; fromStart < fromEnd; ++fromStart) { + if (from.charCodeAt(fromStart) !== CHAR_BACKWARD_SLASH) break; + } + // Trim trailing backslashes (applicable to UNC paths only) + for (; fromEnd - 1 > fromStart; --fromEnd) { + if (from.charCodeAt(fromEnd - 1) !== CHAR_BACKWARD_SLASH) break; + } + const fromLen = fromEnd - fromStart; + + // Trim any leading backslashes + let toStart = 0; + let toEnd = to.length; + for (; toStart < toEnd; ++toStart) { + if (to.charCodeAt(toStart) !== CHAR_BACKWARD_SLASH) break; + } + // Trim trailing backslashes (applicable to UNC paths only) + for (; toEnd - 1 > toStart; --toEnd) { + if (to.charCodeAt(toEnd - 1) !== CHAR_BACKWARD_SLASH) break; + } + const toLen = toEnd - toStart; + + // Compare paths to find the longest common path from root + const length = fromLen < toLen ? fromLen : toLen; + let lastCommonSep = -1; + let i = 0; + for (; i <= length; ++i) { + if (i === length) { + if (toLen > length) { + if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) { + // We get here if `from` is the exact base path for `to`. + // For example: from='C:\\foo\\bar'; to='C:\\foo\\bar\\baz' + return toOrig.slice(toStart + i + 1); + } else if (i === 2) { + // We get here if `from` is the device root. + // For example: from='C:\\'; to='C:\\foo' + return toOrig.slice(toStart + i); + } + } + if (fromLen > length) { + if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) { + // We get here if `to` is the exact base path for `from`. + // For example: from='C:\\foo\\bar'; to='C:\\foo' + lastCommonSep = i; + } else if (i === 2) { + // We get here if `to` is the device root. + // For example: from='C:\\foo\\bar'; to='C:\\' + lastCommonSep = 3; + } + } + break; + } + const fromCode = from.charCodeAt(fromStart + i); + const toCode = to.charCodeAt(toStart + i); + if (fromCode !== toCode) break; + else if (fromCode === CHAR_BACKWARD_SLASH) lastCommonSep = i; + } + + // We found a mismatch before the first common path separator was seen, so + // return the original `to`. + if (i !== length && lastCommonSep === -1) { + return toOrig; + } + + let out = ""; + if (lastCommonSep === -1) lastCommonSep = 0; + // Generate the relative path based on the path difference between `to` and + // `from` + for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { + if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) { + if (out.length === 0) out += ".."; + else out += "\\.."; + } + } + + // Lastly, append the rest of the destination (`to`) path that comes after + // the common path parts + if (out.length > 0) { + return out + toOrig.slice(toStart + lastCommonSep, toEnd); + } else { + toStart += lastCommonSep; + if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) ++toStart; + return toOrig.slice(toStart, toEnd); + } +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/resolve.ts b/vendor/jsr.io/@std/path/0.221.0/windows/resolve.ts new file mode 100644 index 0000000..c34f1e8 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/resolve.ts @@ -0,0 +1,161 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON } from "../_common/constants.ts"; +import { normalizeString } from "../_common/normalize_string.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Resolves path segments into a `path` + * @param pathSegments to process to path + */ +export function resolve(...pathSegments: string[]): string { + let resolvedDevice = ""; + let resolvedTail = ""; + let resolvedAbsolute = false; + + for (let i = pathSegments.length - 1; i >= -1; i--) { + let path: string; + // deno-lint-ignore no-explicit-any + const { Deno } = globalThis as any; + if (i >= 0) { + path = pathSegments[i]!; + } else if (!resolvedDevice) { + if (typeof Deno?.cwd !== "function") { + throw new TypeError("Resolved a drive-letter-less path without a CWD."); + } + path = Deno.cwd(); + } else { + if ( + typeof Deno?.env?.get !== "function" || typeof Deno?.cwd !== "function" + ) { + throw new TypeError("Resolved a relative path without a CWD."); + } + path = Deno.cwd(); + + // Verify that a cwd was found and that it actually points + // to our drive. If not, default to the drive's root. + if ( + path === undefined || + path.slice(0, 3).toLowerCase() !== `${resolvedDevice.toLowerCase()}\\` + ) { + path = `${resolvedDevice}\\`; + } + } + + assertPath(path); + + const len = path.length; + + // Skip empty entries + if (len === 0) continue; + + let rootEnd = 0; + let device = ""; + let isAbsolute = false; + const code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + // If we started with a separator, we know we at least have an + // absolute path of some kind (UNC or otherwise) + isAbsolute = true; + + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + const firstPart = path.slice(last, j); + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + device = `\\\\${firstPart}\\${path.slice(last)}`; + rootEnd = j; + } else if (j !== last) { + // We matched a UNC root with leftovers + + device = `\\\\${firstPart}\\${path.slice(last, j)}`; + rootEnd = j; + } + } + } + } else { + rootEnd = 1; + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + device = path.slice(0, 2); + rootEnd = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) { + // Treat separator following drive name as an absolute path + // indicator + isAbsolute = true; + rootEnd = 3; + } + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator + rootEnd = 1; + isAbsolute = true; + } + + if ( + device.length > 0 && + resolvedDevice.length > 0 && + device.toLowerCase() !== resolvedDevice.toLowerCase() + ) { + // This path points to another device so it is not applicable + continue; + } + + if (resolvedDevice.length === 0 && device.length > 0) { + resolvedDevice = device; + } + if (!resolvedAbsolute) { + resolvedTail = `${path.slice(rootEnd)}\\${resolvedTail}`; + resolvedAbsolute = isAbsolute; + } + + if (resolvedAbsolute && resolvedDevice.length > 0) break; + } + + // At this point the path should be resolved to a full absolute path, + // but handle relative paths to be safe (might happen when Deno.cwd() + // fails) + + // Normalize the tail path + resolvedTail = normalizeString( + resolvedTail, + !resolvedAbsolute, + "\\", + isPathSeparator, + ); + + return resolvedDevice + (resolvedAbsolute ? "\\" : "") + resolvedTail || "."; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/to_file_url.ts b/vendor/jsr.io/@std/path/0.221.0/windows/to_file_url.ts new file mode 100644 index 0000000..047d655 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/to_file_url.ts @@ -0,0 +1,35 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { encodeWhitespace } from "../_common/to_file_url.ts"; +import { isAbsolute } from "./is_absolute.ts"; + +/** + * Converts a path string to a file URL. + * + * ```ts + * import { toFileUrl } from "@std/path/windows/to-file-url"; + * + * toFileUrl("\\home\\foo"); // new URL("file:///home/foo") + * toFileUrl("C:\\Users\\foo"); // new URL("file:///C:/Users/foo") + * toFileUrl("\\\\127.0.0.1\\home\\foo"); // new URL("file://127.0.0.1/home/foo") + * ``` + * @param path to convert to file URL + */ +export function toFileUrl(path: string): URL { + if (!isAbsolute(path)) { + throw new TypeError("Must be an absolute path."); + } + const [, hostname, pathname] = path.match( + /^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/, + )!; + const url = new URL("file:///"); + url.pathname = encodeWhitespace(pathname!.replace(/%/g, "%25")); + if (hostname !== undefined && hostname !== "localhost") { + url.hostname = hostname; + if (!url.hostname) { + throw new TypeError("Invalid hostname."); + } + } + return url; +} diff --git a/vendor/jsr.io/@std/path/0.221.0/windows/to_namespaced_path.ts b/vendor/jsr.io/@std/path/0.221.0/windows/to_namespaced_path.ts new file mode 100644 index 0000000..8f680a5 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0/windows/to_namespaced_path.ts @@ -0,0 +1,49 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + CHAR_BACKWARD_SLASH, + CHAR_COLON, + CHAR_DOT, + CHAR_QUESTION_MARK, +} from "../_common/constants.ts"; +import { isWindowsDeviceRoot } from "./_util.ts"; +import { resolve } from "./resolve.ts"; + +/** + * Resolves path to a namespace path + * @param path to resolve to namespace + */ +export function toNamespacedPath(path: string): string { + // Note: this will *probably* throw somewhere. + if (typeof path !== "string") return path; + if (path.length === 0) return ""; + + const resolvedPath = resolve(path); + + if (resolvedPath.length >= 3) { + if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) { + // Possible UNC root + + if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) { + const code = resolvedPath.charCodeAt(2); + if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) { + // Matched non-long UNC root, convert the path to a long UNC path + return `\\\\?\\UNC\\${resolvedPath.slice(2)}`; + } + } + } else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0))) { + // Possible device root + + if ( + resolvedPath.charCodeAt(1) === CHAR_COLON && + resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH + ) { + // Matched device root, convert the path to a long UNC path + return `\\\\?\\${resolvedPath}`; + } + } + } + + return path; +} diff --git a/vendor/jsr.io/@std/path/0.221.0_meta.json b/vendor/jsr.io/@std/path/0.221.0_meta.json new file mode 100644 index 0000000..757eb65 --- /dev/null +++ b/vendor/jsr.io/@std/path/0.221.0_meta.json @@ -0,0 +1,4028 @@ +{ + "manifest": { + "/windows/is_glob.ts": { + "size": 154, + "checksum": "sha256-8a8b08c08bf731acf2c1232218f1f45a11131bc01de81e5f803450a5914434b9" + }, + "/relative.ts": { + "size": 788, + "checksum": "sha256-ab739d727180ed8727e34ed71d976912461d98e2b76de3d3de834c1066667add" + }, + "/from_file_url.ts": { + "size": 861, + "checksum": "sha256-fd8cb1c239af16b8fb05531ebf88e604749ab31004365886840b7bffefe69f7a" + }, + "/windows/parse.ts": { + "size": 4925, + "checksum": "sha256-dbdfe2bc6db482d755b5f63f7207cd019240fcac02ad2efa582adf67ff10553a" + }, + "/common_test.ts": { + "size": 1864, + "checksum": "sha256-92b020d391632ca70d0a8214993ace91036b84b468ec4b1f3d66233168fc85de" + }, + "/posix/dirname.ts": { + "size": 1345, + "checksum": "sha256-578f8321cdf6e30b3b081c2506d6037ef1b140c0bb92fbeaa25d6508af6c19be" + }, + "/is_absolute.ts": { + "size": 521, + "checksum": "sha256-4791afc8bfd0c87f0526eaa616b0d16e7b3ab6a65b62942e50eac68de4ef67d7" + }, + "/windows/join.ts": { + "size": 2483, + "checksum": "sha256-90ce785290a143ca6c893c2ebeaa0c9baff7c3aa5e99c7f64afdfb71d81555fb" + }, + "/windows/glob_to_regexp.ts": { + "size": 3430, + "checksum": "sha256-e45f1f89bf3fc36f94ab7b3b9d0026729829fabc486c77f414caebef3b7304f8" + }, + "/deno.json": { + "size": 2819, + "checksum": "sha256-5925592e446a865bb4b9c84acfee2ce86e61e6b141aff15d0f7a39e2532a6b0d" + }, + "/posix/from_file_url.ts": { + "size": 560, + "checksum": "sha256-ae4759d7968f84382dd00f633288fb3a92cb65df5fe536b618c33636aed9e8bb" + }, + "/posix/parse.ts": { + "size": 3067, + "checksum": "sha256-0b1fc4cb890dbb699ec1d2c232d274843b4a7142e1ad976b69fe51c954eb6080" + }, + "/windows/to_file_url.ts": { + "size": 1133, + "checksum": "sha256-1bb2e5f816c11f564e04fd13199da049f2effd0d74641305c82c11eec4c66a2c" + }, + "/parse.ts": { + "size": 853, + "checksum": "sha256-34c1fd6956b2439514cbea8622998aad012f1fc423e4b65e47bb4250ccd023d9" + }, + "/join_globs_test.ts": { + "size": 364, + "checksum": "sha256-8224102af69173e4e45609ab1a6447b024a5d8203163c59befd1c9d509f305fe" + }, + "/posix/basename.ts": { + "size": 1212, + "checksum": "sha256-5bbb43e7534681d998d1d0bdf0add365e276b7e70f108274d5fe0cdcec070e81" + }, + "/common.ts": { + "size": 671, + "checksum": "sha256-4c80da2ee5563eb31f87cf7d21879db90d614a3fae83358670625e4b90342745" + }, + "/windows/join_globs.ts": { + "size": 931, + "checksum": "sha256-a9475b44645feddceb484ee0498e456f4add112e181cb94042cdc6d47d1cdd25" + }, + "/normalize_test.ts": { + "size": 350, + "checksum": "sha256-3500b4f69c8d133a1a8fb6a7c6b48e1d8772a394d9ba686315d64b4d2877b0f9" + }, + "/to_file_url_test.ts": { + "size": 2014, + "checksum": "sha256-bb228e835d012a15e83f3646e882aaa82d5c1ad84e915280f07bffbda280bfa0" + }, + "/posix/join_globs.ts": { + "size": 931, + "checksum": "sha256-a9475b44645feddceb484ee0498e456f4add112e181cb94042cdc6d47d1cdd25" + }, + "/windows/common.ts": { + "size": 672, + "checksum": "sha256-94c4636992f54309767fdf2edd7647142a4c20d06f712f4decdd43bde3e20872" + }, + "/to_namespaced_path.ts": { + "size": 572, + "checksum": "sha256-b706a4103b104cfadc09600a5f838c2ba94dbcdb642344557122dda444526e40" + }, + "/windows/extname.ts": { + "size": 2342, + "checksum": "sha256-165a61b00d781257fda1e9606a48c78b06815385e7d703232548dbfc95346bef" + }, + "/windows/relative.ts": { + "size": 3978, + "checksum": "sha256-3e1abc7977ee6cc0db2730d1f9cb38be87b0ce4806759d271a70e4997fc638d7" + }, + "/glob_to_regexp_test.ts": { + "size": 18207, + "checksum": "sha256-e0e525ee27e08cc6f36ed00547bff9dd0e918ca46b1067d2b156794b096eba6c" + }, + "/relative_test.ts": { + "size": 2996, + "checksum": "sha256-5dafeef37940d083025d2da99f6b50b2b791f1d188df57e44787364c41ff4c5a" + }, + "/is_glob_test.ts": { + "size": 3616, + "checksum": "sha256-6fb18ac3dbc34659930d161de71c5274f245cdff76b0c922d38f6da82a0974f6" + }, + "/windows/to_namespaced_path.ts": { + "size": 1457, + "checksum": "sha256-4ffa4fb6fae321448d5fe810b3ca741d84df4d7897e61ee29be961a6aac89a4c" + }, + "/_common/glob_to_reg_exp.ts": { + "size": 7448, + "checksum": "sha256-6cac16d5c2dc23af7d66348a7ce430e5de4e70b0eede074bdbcf4903f4374d8d" + }, + "/windows/resolve.ts": { + "size": 4848, + "checksum": "sha256-8dae1dadfed9d46ff46cc337c9525c0c7d959fb400a6308f34595c45bdca1972" + }, + "/_common/normalize.ts": { + "size": 263, + "checksum": "sha256-684df4aa71a04bbcc346c692c8485594fc8a90b9408dfbc26ff32cf3e0c98cc8" + }, + "/normalize.ts": { + "size": 695, + "checksum": "sha256-4155743ccceeed319b350c1e62e931600272fad8ad00c417b91df093867a8352" + }, + "/windows/from_file_url.ts": { + "size": 1058, + "checksum": "sha256-2d4600f4e4295e82336410e2aac69f5e949b739a6b72ae1bbce40b2c44e23480" + }, + "/posix/to_namespaced_path.ts": { + "size": 301, + "checksum": "sha256-28b216b3c76f892a4dca9734ff1cc0045d135532bfd9c435ae4858bfa5a2ebf0" + }, + "/posix/_util.ts": { + "size": 391, + "checksum": "sha256-1e3937da30f080bfc99fe45d7ed23c47dd8585c5e473b2d771380d3a6937cf9d" + }, + "/_common/basename.ts": { + "size": 1262, + "checksum": "sha256-569744855bc8445f3a56087fd2aed56bdad39da971a8d92b138c9913aecc5fa2" + }, + "/format.ts": { + "size": 615, + "checksum": "sha256-6ce1779b0980296cf2bc20d66436b12792102b831fd281ab9eb08fa8a3e6f6ac" + }, + "/parse_format_test.ts": { + "size": 5933, + "checksum": "sha256-9466177a1d9855a395face31524daad2c1a0c8d376c088579afc2201d8099559" + }, + "/posix/join.ts": { + "size": 721, + "checksum": "sha256-7fc2cb3716aa1b863e990baf30b101d768db479e70b7313b4866a088db016f63" + }, + "/_interface.ts": { + "size": 1055, + "checksum": "sha256-15e29b85eccab375b98e0b4c3772c3090b81fedf2b2e01af01afcfcfb793aa76" + }, + "/posix/resolve.ts": { + "size": 1586, + "checksum": "sha256-08b699cfeee10cb6857ccab38fa4b2ec703b0ea33e8e69964f29d02a2d5257cf" + }, + "/_common/from_file_url.ts": { + "size": 312, + "checksum": "sha256-d672bdeebc11bf80e99bf266f886c70963107bdd31134c4e249eef51133ceccf" + }, + "/_common/assert_path.ts": { + "size": 307, + "checksum": "sha256-dbdd757a465b690b2cc72fc5fb7698c51507dec6bfafce4ca500c46b76ff7bd8" + }, + "/windows/basename.ts": { + "size": 1579, + "checksum": "sha256-e3b685e251537b7ee242ccd03205c7e604b1334a77966bffc155c32365a64ea8" + }, + "/_common/common.ts": { + "size": 719, + "checksum": "sha256-ef73c2860694775fe8ffcbcdd387f9f97c7a656febf0daa8c73b56f4d8a7bd4c" + }, + "/posix/to_file_url.ts": { + "size": 728, + "checksum": "sha256-0326f2b51a5693d917567cd8c4915e52f1eb5a49f2151d0060ef1c4af57b60d3" + }, + "/constants.ts": { + "size": 348, + "checksum": "sha256-0c206169ca104938ede9da48ac952de288f23343304a1c3cb6ec7625e7325f36" + }, + "/_common/to_file_url.ts": { + "size": 440, + "checksum": "sha256-7f76adbc83ece1bba173e6e98a27c647712cab773d3f8cbe0398b74afc817883" + }, + "/dirname.ts": { + "size": 498, + "checksum": "sha256-85bd955bf31d62c9aafdd7ff561c4b5fb587d11a9a5a45e2b01aedffa4238a7c" + }, + "/posix/relative.ts": { + "size": 3000, + "checksum": "sha256-3907d6eda41f0ff723d336125a1ad4349112cd4d48f693859980314d5b9da31c" + }, + "/windows/normalize.ts": { + "size": 3786, + "checksum": "sha256-78126170ab917f0ca355a9af9e65ad6bfa5be14d574c5fb09bb1920f52577780" + }, + "/_common/strip_trailing_separators.ts": { + "size": 592, + "checksum": "sha256-7024a93447efcdcfeaa9339a98fa63ef9d53de363f1fbe9858970f1bba02655a" + }, + "/windows/is_absolute.ts": { + "size": 818, + "checksum": "sha256-4a8f6853f8598cf91a835f41abed42112cebab09478b072e4beb00ec81f8ca8a" + }, + "/windows/mod.ts": { + "size": 1429, + "checksum": "sha256-2961fe0f4cf310807ffdf791f94d17678760a48e9f097610201d65810db27030" + }, + "/windows/format.ts": { + "size": 463, + "checksum": "sha256-bbb5ecf379305b472b1082cd2fdc010e44a0020030414974d6029be9ad52aeb6" + }, + "/from_file_url_test.ts": { + "size": 2369, + "checksum": "sha256-e6362b462f17ad55e65efde688d95fd86b80254b598d36b5d168cd38b5e38183" + }, + "/posix/glob_to_regexp.ts": { + "size": 3394, + "checksum": "sha256-76f012fcdb22c04b633f536c0b9644d100861bea36e9da56a94b9c589a742e8f" + }, + "/posix/constants.ts": { + "size": 232, + "checksum": "sha256-93481efb98cdffa4c719c22a0182b994e5a6aed3047e1962f6c2c75b7592bef1" + }, + "/normalize_glob_test.ts": { + "size": 405, + "checksum": "sha256-aaa65cfba0585cf9bb7fb760be198503854605d135c269e3b0691f2b406570c0" + }, + "/normalize_glob.ts": { + "size": 689, + "checksum": "sha256-cc89a77a7d3b1d01053b9dcd59462b75482b11e9068ae6c754b5cf5d794b374f" + }, + "/basename.ts": { + "size": 942, + "checksum": "sha256-e6c0613c1ea72130f872e31c648c2e2f9fefc3d925e4dcb8392033e77b8a4ae0" + }, + "/_common/dirname.ts": { + "size": 263, + "checksum": "sha256-684df4aa71a04bbcc346c692c8485594fc8a90b9408dfbc26ff32cf3e0c98cc8" + }, + "/posix/common.ts": { + "size": 672, + "checksum": "sha256-94c4636992f54309767fdf2edd7647142a4c20d06f712f4decdd43bde3e20872" + }, + "/_common/normalize_string.ts": { + "size": 2301, + "checksum": "sha256-33edef773c2a8e242761f731adeb2bd6d683e9c69e4e3d0092985bede74f4ac3" + }, + "/extname.ts": { + "size": 547, + "checksum": "sha256-593303db8ae8c865cbd9ceec6e55d4b9ac5410c1e276bfd3131916591b954441" + }, + "/posix/format.ts": { + "size": 462, + "checksum": "sha256-185e9ee2091a42dd39e2a3b8e4925370ee8407572cee1ae52838aed96310c5c1" + }, + "/dirname_test.ts": { + "size": 2908, + "checksum": "sha256-e9c757a6adbcdd6abc9ce75fb0593046fa5da7b6b24863ae42a83c25375a0119" + }, + "/resolve_test.ts": { + "size": 2078, + "checksum": "sha256-d70a6e5908fa41052f3b736559831e94223c32d4b62346c0a990e1ed1a487335" + }, + "/posix/is_glob.ts": { + "size": 154, + "checksum": "sha256-8a8b08c08bf731acf2c1232218f1f45a11131bc01de81e5f803450a5914434b9" + }, + "/windows/_util.ts": { + "size": 828, + "checksum": "sha256-d5f47363e5293fced22c984550d5e70e98e266cc3f31769e1710511803d04808" + }, + "/join.ts": { + "size": 510, + "checksum": "sha256-ae2ec5ca44c7e84a235fd532e4a0116bfb1f2368b394db1c4fb75e3c0f26a33a" + }, + "/posix/is_absolute.ts": { + "size": 462, + "checksum": "sha256-cebe561ad0ae294f0ce0365a1879dcfca8abd872821519b4fcc8d8967f888ede" + }, + "/posix/normalize.ts": { + "size": 1056, + "checksum": "sha256-baeb49816a8299f90a0237d214cef46f00ba3e95c0d2ceb74205a6a584b58a91" + }, + "/basename_test.ts": { + "size": 4074, + "checksum": "sha256-6e76801f4fcdf09486683759ac1cbaee119706975b0a8ffd3717073bd1ce6dec" + }, + "/_common/constants.ts": { + "size": 2020, + "checksum": "sha256-dc5f8057159f4b48cd304eb3027e42f1148cf4df1fb4240774d3492b5d12ac0c" + }, + "/_common/relative.ts": { + "size": 287, + "checksum": "sha256-faa2753d9b32320ed4ada0733261e3357c186e5705678d9dd08b97527deae607" + }, + "/glob_to_regexp.ts": { + "size": 3592, + "checksum": "sha256-7f30f0a21439cadfdae1be1bf370880b415e676097fda584a63ce319053b5972" + }, + "/windows/dirname.ts": { + "size": 2879, + "checksum": "sha256-33e421be5a5558a1346a48e74c330b8e560be7424ed7684ea03c12c21b627bc9" + }, + "/_common/format.ts": { + "size": 827, + "checksum": "sha256-92500e91ea5de21c97f5fe91e178bae62af524b72d5fcd246d6d60ae4bcada8b" + }, + "/_os.ts": { + "size": 705, + "checksum": "sha256-8fb9b90fb6b753bd8c77cfd8a33c2ff6c5f5bc185f50de8ca4ac6a05710b2c15" + }, + "/join_test.ts": { + "size": 4492, + "checksum": "sha256-8f99a5f49804f0db4511f7217fc282b72dff3e3433cd249bb723f02e6b2b17b7" + }, + "/extname_test.ts": { + "size": 2682, + "checksum": "sha256-f1474b366c74f478196a13d6fa9ad84b040198d3b3c494ec24e0b0559d7550e4" + }, + "/is_glob.ts": { + "size": 938, + "checksum": "sha256-a65f6195d3058c3050ab905705891b412ff942a292bcbaa1a807a74439a14141" + }, + "/is_absolute_test.ts": { + "size": 1793, + "checksum": "sha256-b0c0e2b15a9810e6c0b7d85337a98287181d6eb3729302d93a4e5964aaea3ecb" + }, + "/join_globs.ts": { + "size": 650, + "checksum": "sha256-5b3bf248b93247194f94fa6947b612ab9d3abd571ca8386cf7789038545e54a0" + }, + "/resolve.ts": { + "size": 528, + "checksum": "sha256-a6f977bdb4272e79d8d0ed4333e3d71367cc3926acf15ac271f1d059c8494d8d" + }, + "/mod.ts": { + "size": 2162, + "checksum": "sha256-d404a7b2be2ee0e1c4f0db80cb6a96f6901da7e3efd9419acfbc89fed2c886d8" + }, + "/windows/constants.ts": { + "size": 236, + "checksum": "sha256-5afaac0a1f67b68b0a380a4ef391bf59feb55856aa8c60dfc01bd3b6abb813f5" + }, + "/posix/normalize_glob.ts": { + "size": 857, + "checksum": "sha256-9c87a829b6c0f445d03b3ecadc14492e2864c3ebb966f4cea41e98326e4435c6" + }, + "/windows/normalize_glob.ts": { + "size": 857, + "checksum": "sha256-9c87a829b6c0f445d03b3ecadc14492e2864c3ebb966f4cea41e98326e4435c6" + }, + "/to_file_url.ts": { + "size": 871, + "checksum": "sha256-960ade4f72cc561c3227822d46cd63bd9b686e937474feb7e507a60c051b9cef" + }, + "/posix/mod.ts": { + "size": 1429, + "checksum": "sha256-2961fe0f4cf310807ffdf791f94d17678760a48e9f097610201d65810db27030" + }, + "/posix/extname.ts": { + "size": 2186, + "checksum": "sha256-d9973c3f51608750f3afe76cdfeb048a8a1bfb9a67d2d708da38c1e330026f3d" + } + }, + "moduleGraph1": { + "/posix/extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/_common/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/_common/assert_path.ts": {}, + "/to_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/to_file_url.ts", + "specifierRange": [ + [ + 4, + 44 + ], + [ + 4, + 68 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/to_file_url.ts", + "specifierRange": [ + [ + 5, + 46 + ], + [ + 5, + 72 + ] + ] + } + ] + }, + "/windows/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./basename.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./dirname.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./extname.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./format.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./parse.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./relative.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_file_url.ts", + "specifierRange": [ + [ + 35, + 14 + ], + [ + 35, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_namespaced_path.ts", + "specifierRange": [ + [ + 36, + 14 + ], + [ + 36, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./common.ts", + "specifierRange": [ + [ + 37, + 14 + ], + [ + 37, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "../_interface.ts", + "specifierRange": [ + [ + 38, + 14 + ], + [ + 38, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./glob_to_regexp.ts", + "specifierRange": [ + [ + 39, + 14 + ], + [ + 39, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_glob.ts", + "specifierRange": [ + [ + 40, + 14 + ], + [ + 40, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join_globs.ts", + "specifierRange": [ + [ + 41, + 14 + ], + [ + 41, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 42, + 14 + ], + [ + 42, + 35 + ] + ] + } + ] + }, + "/glob_to_regexp.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 4, + 39 + ], + [ + 4, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/glob_to_regexp.ts", + "specifierRange": [ + [ + 6, + 50 + ], + [ + 6, + 77 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/glob_to_regexp.ts", + "specifierRange": [ + [ + 9, + 7 + ], + [ + 9, + 36 + ] + ] + } + ] + }, + "/windows/to_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/to_file_url.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 45 + ] + ] + } + ] + }, + "/_common/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/normalize_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/normalize_glob.ts", + "specifierRange": [ + [ + 5, + 52 + ], + [ + 5, + 79 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/normalize_glob.ts", + "specifierRange": [ + [ + 8, + 7 + ], + [ + 8, + 36 + ] + ] + } + ] + }, + "/_common/glob_to_reg_exp.ts": {}, + "/_interface.ts": {}, + "/windows/join_globs.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./join.ts", + "specifierRange": [ + [ + 4, + 21 + ], + [ + 4, + 32 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 26 + ], + [ + 5, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 6, + 30 + ], + [ + 6, + 51 + ] + ] + } + ] + }, + "/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/format.ts", + "specifierRange": [ + [ + 4, + 38 + ], + [ + 4, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/format.ts", + "specifierRange": [ + [ + 5, + 40 + ], + [ + 5, + 61 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./_interface.ts", + "specifierRange": [ + [ + 6, + 43 + ], + [ + 6, + 60 + ] + ] + } + ] + }, + "/posix/common.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/common.ts", + "specifierRange": [ + [ + 3, + 24 + ], + [ + 3, + 46 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/is_absolute.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/is_absolute.ts", + "specifierRange": [ + [ + 4, + 46 + ], + [ + 4, + 70 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/is_absolute.ts", + "specifierRange": [ + [ + 5, + 48 + ], + [ + 5, + 74 + ] + ] + } + ] + }, + "/_common/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/_os.ts": {}, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./windows/mod.ts", + "specifierRange": [ + [ + 36, + 26 + ], + [ + 36, + 44 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/mod.ts", + "specifierRange": [ + [ + 37, + 24 + ], + [ + 37, + 40 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./basename.ts", + "specifierRange": [ + [ + 45, + 14 + ], + [ + 45, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 46, + 14 + ], + [ + 46, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./dirname.ts", + "specifierRange": [ + [ + 47, + 14 + ], + [ + 47, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./extname.ts", + "specifierRange": [ + [ + 48, + 14 + ], + [ + 48, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./format.ts", + "specifierRange": [ + [ + 49, + 14 + ], + [ + 49, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 50, + 14 + ], + [ + 50, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 51, + 14 + ], + [ + 51, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join.ts", + "specifierRange": [ + [ + 52, + 14 + ], + [ + 52, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 53, + 14 + ], + [ + 53, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./parse.ts", + "specifierRange": [ + [ + 54, + 14 + ], + [ + 54, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./relative.ts", + "specifierRange": [ + [ + 55, + 14 + ], + [ + 55, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 56, + 14 + ], + [ + 56, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_file_url.ts", + "specifierRange": [ + [ + 57, + 14 + ], + [ + 57, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_namespaced_path.ts", + "specifierRange": [ + [ + 58, + 14 + ], + [ + 58, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./common.ts", + "specifierRange": [ + [ + 59, + 14 + ], + [ + 59, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./_interface.ts", + "specifierRange": [ + [ + 60, + 14 + ], + [ + 60, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./glob_to_regexp.ts", + "specifierRange": [ + [ + 61, + 14 + ], + [ + 61, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_glob.ts", + "specifierRange": [ + [ + 62, + 14 + ], + [ + 62, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join_globs.ts", + "specifierRange": [ + [ + 63, + 14 + ], + [ + 63, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 64, + 14 + ], + [ + 64, + 35 + ] + ] + } + ] + }, + "/_common/from_file_url.ts": {}, + "/from_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/from_file_url.ts", + "specifierRange": [ + [ + 4, + 48 + ], + [ + 4, + 74 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/from_file_url.ts", + "specifierRange": [ + [ + 5, + 50 + ], + [ + 5, + 78 + ] + ] + } + ] + }, + "/_common/common.ts": {}, + "/resolve.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/resolve.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/resolve.ts", + "specifierRange": [ + [ + 5, + 42 + ], + [ + 5, + 64 + ] + ] + } + ] + }, + "/posix/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/basename.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 31 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 8, + 40 + ], + [ + 8, + 81 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 9, + 37 + ], + [ + 9, + 49 + ] + ] + } + ] + }, + "/is_glob.ts": {}, + "/posix/join_globs.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./join.ts", + "specifierRange": [ + [ + 4, + 21 + ], + [ + 4, + 32 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 26 + ], + [ + 5, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 6, + 30 + ], + [ + 6, + 51 + ] + ] + } + ] + }, + "/posix/to_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/to_file_url.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 45 + ] + ] + } + ] + }, + "/_common/normalize_string.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 45 + ], + [ + 5, + 61 + ] + ] + } + ] + }, + "/windows/to_namespaced_path.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 8, + 7 + ], + [ + 8, + 32 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 9, + 36 + ], + [ + 9, + 48 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 10, + 24 + ], + [ + 10, + 38 + ] + ] + } + ] + }, + "/windows/constants.ts": {}, + "/posix/join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/posix/constants.ts": {}, + "/posix/glob_to_regexp.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 38 + ] + ] + } + ] + }, + "/posix/is_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "../is_glob.ts", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 38 + ] + ] + } + ] + }, + "/_common/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "../_interface.ts", + "specifierRange": [ + [ + 3, + 43 + ], + [ + 3, + 61 + ] + ] + } + ] + }, + "/join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/join.ts", + "specifierRange": [ + [ + 4, + 34 + ], + [ + 4, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/join.ts", + "specifierRange": [ + [ + 5, + 36 + ], + [ + 5, + 55 + ] + ] + } + ] + }, + "/posix/to_namespaced_path.ts": {}, + "/windows/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/basename.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 31 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 8, + 27 + ], + [ + 8, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 9, + 40 + ], + [ + 9, + 81 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 10, + 53 + ], + [ + 10, + 65 + ] + ] + } + ] + }, + "/windows/parse.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 37 + ], + [ + 3, + 62 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "../_interface.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 6, + 53 + ], + [ + 6, + 65 + ] + ] + } + ] + }, + "/_common/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/windows/is_absolute.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 53 + ], + [ + 5, + 65 + ] + ] + } + ] + }, + "/to_namespaced_path.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/to_namespaced_path.ts", + "specifierRange": [ + [ + 4, + 58 + ], + [ + 4, + 89 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/to_namespaced_path.ts", + "specifierRange": [ + [ + 5, + 60 + ], + [ + 5, + 93 + ] + ] + } + ] + }, + "/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/normalize.ts", + "specifierRange": [ + [ + 4, + 44 + ], + [ + 4, + 66 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/normalize.ts", + "specifierRange": [ + [ + 5, + 46 + ], + [ + 5, + 70 + ] + ] + } + ] + }, + "/windows/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/dirname.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 5, + 40 + ], + [ + 5, + 81 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 10, + 7 + ], + [ + 10, + 19 + ] + ] + } + ] + }, + "/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/relative.ts", + "specifierRange": [ + [ + 4, + 42 + ], + [ + 4, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/relative.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 67 + ] + ] + } + ] + }, + "/windows/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize_string.ts", + "specifierRange": [ + [ + 5, + 32 + ], + [ + 5, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 6, + 53 + ], + [ + 6, + 65 + ] + ] + } + ] + }, + "/windows/normalize_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 34 + ], + [ + 5, + 50 + ] + ] + } + ] + }, + "/posix/from_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/from_file_url.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 55 + ] + ] + } + ] + }, + "/parse.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./_interface.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/parse.ts", + "specifierRange": [ + [ + 5, + 36 + ], + [ + 5, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/parse.ts", + "specifierRange": [ + [ + 6, + 38 + ], + [ + 6, + 58 + ] + ] + } + ] + }, + "/constants.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 2, + 26 + ], + [ + 2, + 36 + ] + ] + } + ] + }, + "/posix/parse.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 50 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "../_interface.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 5, + 40 + ], + [ + 5, + 81 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 6, + 27 + ], + [ + 6, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 7, + 37 + ], + [ + 7, + 49 + ] + ] + } + ] + }, + "/windows/resolve.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize_string.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 6, + 53 + ], + [ + 6, + 65 + ] + ] + } + ] + }, + "/posix/normalize_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 34 + ], + [ + 5, + 50 + ] + ] + } + ] + }, + "/posix/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/dirname.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 81 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/windows/_util.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 12, + 7 + ], + [ + 12, + 32 + ] + ] + } + ] + }, + "/posix/resolve.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize_string.ts", + "specifierRange": [ + [ + 3, + 32 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/_common/strip_trailing_separators.ts": {}, + "/windows/is_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "../is_glob.ts", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 38 + ] + ] + } + ] + }, + "/posix/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 3, + 37 + ], + [ + 3, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 4, + 24 + ], + [ + 4, + 38 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/relative.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/windows/join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:/@std/assert@^0.221.0/assert", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 32 + ], + [ + 5, + 44 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 6, + 26 + ], + [ + 6, + 42 + ] + ] + } + ] + }, + "/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/dirname.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/dirname.ts", + "specifierRange": [ + [ + 5, + 42 + ], + [ + 5, + 64 + ] + ] + } + ] + }, + "/join_globs.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/join_globs.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 67 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/join_globs.ts", + "specifierRange": [ + [ + 6, + 46 + ], + [ + 6, + 71 + ] + ] + } + ] + }, + "/windows/extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 37 + ], + [ + 3, + 62 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 53 + ], + [ + 5, + 65 + ] + ] + } + ] + }, + "/posix/_util.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 5, + 35 + ], + [ + 5, + 60 + ] + ] + } + ] + }, + "/windows/from_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/from_file_url.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 55 + ] + ] + } + ] + }, + "/posix/is_absolute.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 4, + 37 + ], + [ + 4, + 49 + ] + ] + } + ] + }, + "/posix/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./basename.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./dirname.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./extname.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./format.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./parse.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./relative.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_file_url.ts", + "specifierRange": [ + [ + 35, + 14 + ], + [ + 35, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_namespaced_path.ts", + "specifierRange": [ + [ + 36, + 14 + ], + [ + 36, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./common.ts", + "specifierRange": [ + [ + 37, + 14 + ], + [ + 37, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "../_interface.ts", + "specifierRange": [ + [ + 38, + 14 + ], + [ + 38, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./glob_to_regexp.ts", + "specifierRange": [ + [ + 39, + 14 + ], + [ + 39, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_glob.ts", + "specifierRange": [ + [ + 40, + 14 + ], + [ + 40, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join_globs.ts", + "specifierRange": [ + [ + 41, + 14 + ], + [ + 41, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 42, + 14 + ], + [ + 42, + 35 + ] + ] + } + ] + }, + "/_common/constants.ts": {}, + "/posix/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize_string.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/common.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_common/common.ts", + "specifierRange": [ + [ + 3, + 24 + ], + [ + 3, + 45 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/windows/glob_to_regexp.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 38 + ] + ] + } + ] + }, + "/_common/to_file_url.ts": {}, + "/windows/common.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/common.ts", + "specifierRange": [ + [ + 3, + 24 + ], + [ + 3, + 46 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/basename.ts", + "specifierRange": [ + [ + 4, + 42 + ], + [ + 4, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/basename.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 67 + ] + ] + } + ] + }, + "/windows/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 36 + ], + [ + 3, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 4, + 24 + ], + [ + 4, + 38 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/relative.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/extname.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/extname.ts", + "specifierRange": [ + [ + 5, + 42 + ], + [ + 5, + 64 + ] + ] + } + ] + }, + "/windows/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/format.ts", + "specifierRange": [ + [ + 3, + 35 + ], + [ + 3, + 57 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "../_interface.ts", + "specifierRange": [ + [ + 4, + 43 + ], + [ + 4, + 61 + ] + ] + } + ] + }, + "/posix/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/format.ts", + "specifierRange": [ + [ + 3, + 35 + ], + [ + 3, + 57 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "../_interface.ts", + "specifierRange": [ + [ + 4, + 43 + ], + [ + 4, + 61 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./basename": "./basename.ts", + "./common": "./common.ts", + "./constants": "./constants.ts", + "./dirname": "./dirname.ts", + "./extname": "./extname.ts", + "./format": "./format.ts", + "./from-file-url": "./from_file_url.ts", + "./glob-to-regexp": "./glob_to_regexp.ts", + "./is-absolute": "./is_absolute.ts", + "./is-glob": "./is_glob.ts", + "./join": "./join.ts", + "./join-globs": "./join_globs.ts", + "./normalize": "./normalize.ts", + "./normalize-glob": "./normalize_glob.ts", + "./parse": "./parse.ts", + "./posix": "./posix/mod.ts", + "./posix/basename": "./posix/basename.ts", + "./posix/common": "./posix/common.ts", + "./posix/constants": "./posix/constants.ts", + "./posix/dirname": "./posix/dirname.ts", + "./posix/extname": "./posix/extname.ts", + "./posix/format": "./posix/format.ts", + "./posix/from-file-url": "./posix/from_file_url.ts", + "./posix/glob-to-regexp": "./posix/glob_to_regexp.ts", + "./posix/is-absolute": "./posix/is_absolute.ts", + "./posix/is-glob": "./posix/is_glob.ts", + "./posix/join": "./posix/join.ts", + "./posix/join-globs": "./posix/join_globs.ts", + "./posix/normalize": "./posix/normalize.ts", + "./posix/normalize-glob": "./posix/normalize_glob.ts", + "./posix/parse": "./posix/parse.ts", + "./posix/relative": "./posix/relative.ts", + "./posix/resolve": "./posix/resolve.ts", + "./posix/to-file-url": "./posix/to_file_url.ts", + "./posix/to-namespaced-path": "./posix/to_namespaced_path.ts", + "./relative": "./relative.ts", + "./resolve": "./resolve.ts", + "./to-file-url": "./to_file_url.ts", + "./to-namespaced-path": "./to_namespaced_path.ts", + "./windows": "./windows/mod.ts", + "./windows/basename": "./windows/basename.ts", + "./windows/common": "./windows/common.ts", + "./windows/constants": "./windows/constants.ts", + "./windows/dirname": "./windows/dirname.ts", + "./windows/extname": "./windows/extname.ts", + "./windows/format": "./windows/format.ts", + "./windows/from-file-url": "./windows/from_file_url.ts", + "./windows/glob-to-regexp": "./windows/glob_to_regexp.ts", + "./windows/is-absolute": "./windows/is_absolute.ts", + "./windows/is-glob": "./windows/is_glob.ts", + "./windows/join": "./windows/join.ts", + "./windows/join-globs": "./windows/join_globs.ts", + "./windows/normalize": "./windows/normalize.ts", + "./windows/normalize-glob": "./windows/normalize_glob.ts", + "./windows/parse": "./windows/parse.ts", + "./windows/relative": "./windows/relative.ts", + "./windows/resolve": "./windows/resolve.ts", + "./windows/to-file-url": "./windows/to_file_url.ts", + "./windows/to-namespaced-path": "./windows/to_namespaced_path.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/assert_path.ts b/vendor/jsr.io/@std/path/1.0.8/_common/assert_path.ts new file mode 100644 index 0000000..ca08d0e --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/assert_path.ts @@ -0,0 +1,10 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. + +export function assertPath(path?: string) { + if (typeof path !== "string") { + throw new TypeError( + `Path must be a string, received "${JSON.stringify(path)}"`, + ); + } +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/basename.ts b/vendor/jsr.io/@std/path/1.0.8/_common/basename.ts new file mode 100644 index 0000000..9d5ae9c --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/basename.ts @@ -0,0 +1,53 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function stripSuffix(name: string, suffix: string): string { + if (suffix.length >= name.length) { + return name; + } + + const lenDiff = name.length - suffix.length; + + for (let i = suffix.length - 1; i >= 0; --i) { + if (name.charCodeAt(lenDiff + i) !== suffix.charCodeAt(i)) { + return name; + } + } + + return name.slice(0, -suffix.length); +} + +export function lastPathSegment( + path: string, + isSep: (char: number) => boolean, + start = 0, +): string { + let matchedNonSeparator = false; + let end = path.length; + + for (let i = path.length - 1; i >= start; --i) { + if (isSep(path.charCodeAt(i))) { + if (matchedNonSeparator) { + start = i + 1; + break; + } + } else if (!matchedNonSeparator) { + matchedNonSeparator = true; + end = i + 1; + } + } + + return path.slice(start, end); +} + +export function assertArgs(path: string, suffix: string) { + assertPath(path); + if (path.length === 0) return path; + if (typeof suffix !== "string") { + throw new TypeError( + `Suffix must be a string, received "${JSON.stringify(suffix)}"`, + ); + } +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/common.ts b/vendor/jsr.io/@std/path/1.0.8/_common/common.ts new file mode 100644 index 0000000..d608774 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/common.ts @@ -0,0 +1,26 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export function common(paths: string[], sep: string): string { + const [first = "", ...remaining] = paths; + const parts = first.split(sep); + + let endOfPrefix = parts.length; + let append = ""; + for (const path of remaining) { + const compare = path.split(sep); + if (compare.length <= endOfPrefix) { + endOfPrefix = compare.length; + append = ""; + } + + for (let i = 0; i < endOfPrefix; i++) { + if (compare[i] !== parts[i]) { + endOfPrefix = i; + append = i === 0 ? "" : sep; + break; + } + } + } + return parts.slice(0, endOfPrefix).join(sep) + append; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/constants.ts b/vendor/jsr.io/@std/path/1.0.8/_common/constants.ts new file mode 100644 index 0000000..9bfd411 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/constants.ts @@ -0,0 +1,49 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +// Alphabet chars. +export const CHAR_UPPERCASE_A = 65; /* A */ +export const CHAR_LOWERCASE_A = 97; /* a */ +export const CHAR_UPPERCASE_Z = 90; /* Z */ +export const CHAR_LOWERCASE_Z = 122; /* z */ + +// Non-alphabetic chars. +export const CHAR_DOT = 46; /* . */ +export const CHAR_FORWARD_SLASH = 47; /* / */ +export const CHAR_BACKWARD_SLASH = 92; /* \ */ +export const CHAR_VERTICAL_LINE = 124; /* | */ +export const CHAR_COLON = 58; /* : */ +export const CHAR_QUESTION_MARK = 63; /* ? */ +export const CHAR_UNDERSCORE = 95; /* _ */ +export const CHAR_LINE_FEED = 10; /* \n */ +export const CHAR_CARRIAGE_RETURN = 13; /* \r */ +export const CHAR_TAB = 9; /* \t */ +export const CHAR_FORM_FEED = 12; /* \f */ +export const CHAR_EXCLAMATION_MARK = 33; /* ! */ +export const CHAR_HASH = 35; /* # */ +export const CHAR_SPACE = 32; /* */ +export const CHAR_NO_BREAK_SPACE = 160; /* \u00A0 */ +export const CHAR_ZERO_WIDTH_NOBREAK_SPACE = 65279; /* \uFEFF */ +export const CHAR_LEFT_SQUARE_BRACKET = 91; /* [ */ +export const CHAR_RIGHT_SQUARE_BRACKET = 93; /* ] */ +export const CHAR_LEFT_ANGLE_BRACKET = 60; /* < */ +export const CHAR_RIGHT_ANGLE_BRACKET = 62; /* > */ +export const CHAR_LEFT_CURLY_BRACKET = 123; /* { */ +export const CHAR_RIGHT_CURLY_BRACKET = 125; /* } */ +export const CHAR_HYPHEN_MINUS = 45; /* - */ +export const CHAR_PLUS = 43; /* + */ +export const CHAR_DOUBLE_QUOTE = 34; /* " */ +export const CHAR_SINGLE_QUOTE = 39; /* ' */ +export const CHAR_PERCENT = 37; /* % */ +export const CHAR_SEMICOLON = 59; /* ; */ +export const CHAR_CIRCUMFLEX_ACCENT = 94; /* ^ */ +export const CHAR_GRAVE_ACCENT = 96; /* ` */ +export const CHAR_AT = 64; /* @ */ +export const CHAR_AMPERSAND = 38; /* & */ +export const CHAR_EQUAL = 61; /* = */ + +// Digits +export const CHAR_0 = 48; /* 0 */ +export const CHAR_9 = 57; /* 9 */ diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/dirname.ts b/vendor/jsr.io/@std/path/1.0.8/_common/dirname.ts new file mode 100644 index 0000000..3a1a162 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/dirname.ts @@ -0,0 +1,9 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function assertArg(path: string) { + assertPath(path); + if (path.length === 0) return "."; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/format.ts b/vendor/jsr.io/@std/path/1.0.8/_common/format.ts new file mode 100644 index 0000000..576d641 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/format.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { ParsedPath } from "../types.ts"; + +export function _format( + sep: string, + pathObject: Partial, +): string { + const dir: string | undefined = pathObject.dir || pathObject.root; + const base: string = pathObject.base || + (pathObject.name ?? "") + (pathObject.ext ?? ""); + if (!dir) return base; + if (base === sep) return dir; + if (dir === pathObject.root) return dir + base; + return dir + sep + base; +} + +export function assertArg(pathObject: Partial) { + if (pathObject === null || typeof pathObject !== "object") { + throw new TypeError( + `The "pathObject" argument must be of type Object, received type "${typeof pathObject}"`, + ); + } +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/from_file_url.ts b/vendor/jsr.io/@std/path/1.0.8/_common/from_file_url.ts new file mode 100644 index 0000000..34d0ef8 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/from_file_url.ts @@ -0,0 +1,12 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +export function assertArg(url: URL | string) { + url = url instanceof URL ? url : new URL(url); + if (url.protocol !== "file:") { + throw new TypeError( + `URL must be a file URL: received "${url.protocol}"`, + ); + } + return url; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/glob_to_reg_exp.ts b/vendor/jsr.io/@std/path/1.0.8/_common/glob_to_reg_exp.ts new file mode 100644 index 0000000..f379697 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/glob_to_reg_exp.ts @@ -0,0 +1,290 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Options for {@linkcode globToRegExp}, {@linkcode joinGlobs}, + * {@linkcode normalizeGlob} and {@linkcode expandGlob}. + */ +export interface GlobOptions { + /** Extended glob syntax. + * See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * @default {true} + */ + extended?: boolean; + /** Globstar syntax. + * See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * If false, `**` is treated like `*`. + * + * @default {true} + */ + globstar?: boolean; + /** + * Whether globstar should be case-insensitive. + * + * @default {false} + */ + caseInsensitive?: boolean; +} + +const REG_EXP_ESCAPE_CHARS = [ + "!", + "$", + "(", + ")", + "*", + "+", + ".", + "=", + "?", + "[", + "\\", + "^", + "{", + "|", +] as const; +const RANGE_ESCAPE_CHARS = ["-", "\\", "]"] as const; + +type RegExpEscapeChar = typeof REG_EXP_ESCAPE_CHARS[number]; +type RangeEscapeChar = typeof RANGE_ESCAPE_CHARS[number]; +type EscapeChar = RegExpEscapeChar | RangeEscapeChar; + +export interface GlobConstants { + sep: string; + sepMaybe: string; + seps: string[]; + globstar: string; + wildcard: string; + escapePrefix: string; +} + +export function _globToRegExp( + c: GlobConstants, + glob: string, + { + extended = true, + globstar: globstarOption = true, + // os = osType, + caseInsensitive = false, + }: GlobOptions = {}, +): RegExp { + if (glob === "") { + return /(?!)/; + } + + // Remove trailing separators. + let newLength = glob.length; + for (; newLength > 1 && c.seps.includes(glob[newLength - 1]!); newLength--); + glob = glob.slice(0, newLength); + + let regExpString = ""; + + // Terminates correctly. Trust that `j` is incremented every iteration. + for (let j = 0; j < glob.length;) { + let segment = ""; + const groupStack: string[] = []; + let inRange = false; + let inEscape = false; + let endsWithSep = false; + let i = j; + + // Terminates with `i` at the non-inclusive end of the current segment. + for (; i < glob.length && !c.seps.includes(glob[i]!); i++) { + if (inEscape) { + inEscape = false; + const escapeChars = (inRange + ? RANGE_ESCAPE_CHARS + : REG_EXP_ESCAPE_CHARS) as unknown as EscapeChar[]; + segment += escapeChars.includes(glob[i]! as EscapeChar) + ? `\\${glob[i]}` + : glob[i]; + continue; + } + + if (glob[i] === c.escapePrefix) { + inEscape = true; + continue; + } + + if (glob[i] === "[") { + if (!inRange) { + inRange = true; + segment += "["; + if (glob[i + 1] === "!") { + i++; + segment += "^"; + } else if (glob[i + 1] === "^") { + i++; + segment += "\\^"; + } + continue; + } else if (glob[i + 1] === ":") { + let k = i + 1; + let value = ""; + while (glob[k + 1] !== undefined && glob[k + 1] !== ":") { + value += glob[k + 1]; + k++; + } + if (glob[k + 1] === ":" && glob[k + 2] === "]") { + i = k + 2; + if (value === "alnum") segment += "\\dA-Za-z"; + else if (value === "alpha") segment += "A-Za-z"; + else if (value === "ascii") segment += "\x00-\x7F"; + else if (value === "blank") segment += "\t "; + else if (value === "cntrl") segment += "\x00-\x1F\x7F"; + else if (value === "digit") segment += "\\d"; + else if (value === "graph") segment += "\x21-\x7E"; + else if (value === "lower") segment += "a-z"; + else if (value === "print") segment += "\x20-\x7E"; + else if (value === "punct") { + segment += "!\"#$%&'()*+,\\-./:;<=>?@[\\\\\\]^_‘{|}~"; + } else if (value === "space") segment += "\\s\v"; + else if (value === "upper") segment += "A-Z"; + else if (value === "word") segment += "\\w"; + else if (value === "xdigit") segment += "\\dA-Fa-f"; + continue; + } + } + } + + if (glob[i] === "]" && inRange) { + inRange = false; + segment += "]"; + continue; + } + + if (inRange) { + segment += glob[i]; + continue; + } + + if ( + glob[i] === ")" && groupStack.length > 0 && + groupStack[groupStack.length - 1] !== "BRACE" + ) { + segment += ")"; + const type = groupStack.pop()!; + if (type === "!") { + segment += c.wildcard; + } else if (type !== "@") { + segment += type; + } + continue; + } + + if ( + glob[i] === "|" && groupStack.length > 0 && + groupStack[groupStack.length - 1] !== "BRACE" + ) { + segment += "|"; + continue; + } + + if (glob[i] === "+" && extended && glob[i + 1] === "(") { + i++; + groupStack.push("+"); + segment += "(?:"; + continue; + } + + if (glob[i] === "@" && extended && glob[i + 1] === "(") { + i++; + groupStack.push("@"); + segment += "(?:"; + continue; + } + + if (glob[i] === "?") { + if (extended && glob[i + 1] === "(") { + i++; + groupStack.push("?"); + segment += "(?:"; + } else { + segment += "."; + } + continue; + } + + if (glob[i] === "!" && extended && glob[i + 1] === "(") { + i++; + groupStack.push("!"); + segment += "(?!"; + continue; + } + + if (glob[i] === "{") { + groupStack.push("BRACE"); + segment += "(?:"; + continue; + } + + if (glob[i] === "}" && groupStack[groupStack.length - 1] === "BRACE") { + groupStack.pop(); + segment += ")"; + continue; + } + + if (glob[i] === "," && groupStack[groupStack.length - 1] === "BRACE") { + segment += "|"; + continue; + } + + if (glob[i] === "*") { + if (extended && glob[i + 1] === "(") { + i++; + groupStack.push("*"); + segment += "(?:"; + } else { + const prevChar = glob[i - 1]; + let numStars = 1; + while (glob[i + 1] === "*") { + i++; + numStars++; + } + const nextChar = glob[i + 1]; + if ( + globstarOption && numStars === 2 && + [...c.seps, undefined].includes(prevChar) && + [...c.seps, undefined].includes(nextChar) + ) { + segment += c.globstar; + endsWithSep = true; + } else { + segment += c.wildcard; + } + } + continue; + } + + segment += REG_EXP_ESCAPE_CHARS.includes(glob[i]! as RegExpEscapeChar) + ? `\\${glob[i]}` + : glob[i]; + } + + // Check for unclosed groups or a dangling backslash. + if (groupStack.length > 0 || inRange || inEscape) { + // Parse failure. Take all characters from this segment literally. + segment = ""; + for (const c of glob.slice(j, i)) { + segment += REG_EXP_ESCAPE_CHARS.includes(c as RegExpEscapeChar) + ? `\\${c}` + : c; + endsWithSep = false; + } + } + + regExpString += segment; + if (!endsWithSep) { + regExpString += i < glob.length ? c.sep : c.sepMaybe; + endsWithSep = true; + } + + // Terminates with `i` at the start of the next segment. + while (c.seps.includes(glob[i]!)) i++; + + j = i; + } + + regExpString = `^${regExpString}$`; + return new RegExp(regExpString, caseInsensitive ? "i" : ""); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/normalize.ts b/vendor/jsr.io/@std/path/1.0.8/_common/normalize.ts new file mode 100644 index 0000000..3a1a162 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/normalize.ts @@ -0,0 +1,9 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function assertArg(path: string) { + assertPath(path); + if (path.length === 0) return "."; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/normalize_string.ts b/vendor/jsr.io/@std/path/1.0.8/_common/normalize_string.ts new file mode 100644 index 0000000..d8f0e09 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/normalize_string.ts @@ -0,0 +1,74 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +import { CHAR_DOT, CHAR_FORWARD_SLASH } from "./constants.ts"; + +// Resolves . and .. elements in a path with directory names +export function normalizeString( + path: string, + allowAboveRoot: boolean, + separator: string, + isPathSeparator: (code: number) => boolean, +): string { + let res = ""; + let lastSegmentLength = 0; + let lastSlash = -1; + let dots = 0; + let code: number | undefined; + for (let i = 0; i <= path.length; ++i) { + if (i < path.length) code = path.charCodeAt(i); + else if (isPathSeparator(code!)) break; + else code = CHAR_FORWARD_SLASH; + + if (isPathSeparator(code!)) { + if (lastSlash === i - 1 || dots === 1) { + // NOOP + } else if (lastSlash !== i - 1 && dots === 2) { + if ( + res.length < 2 || + lastSegmentLength !== 2 || + res.charCodeAt(res.length - 1) !== CHAR_DOT || + res.charCodeAt(res.length - 2) !== CHAR_DOT + ) { + if (res.length > 2) { + const lastSlashIndex = res.lastIndexOf(separator); + if (lastSlashIndex === -1) { + res = ""; + lastSegmentLength = 0; + } else { + res = res.slice(0, lastSlashIndex); + lastSegmentLength = res.length - 1 - res.lastIndexOf(separator); + } + lastSlash = i; + dots = 0; + continue; + } else if (res.length === 2 || res.length === 1) { + res = ""; + lastSegmentLength = 0; + lastSlash = i; + dots = 0; + continue; + } + } + if (allowAboveRoot) { + if (res.length > 0) res += `${separator}..`; + else res = ".."; + lastSegmentLength = 2; + } + } else { + if (res.length > 0) res += separator + path.slice(lastSlash + 1, i); + else res = path.slice(lastSlash + 1, i); + lastSegmentLength = i - lastSlash - 1; + } + lastSlash = i; + dots = 0; + } else if (code === CHAR_DOT && dots !== -1) { + ++dots; + } else { + dots = -1; + } + } + return res; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/relative.ts b/vendor/jsr.io/@std/path/1.0.8/_common/relative.ts new file mode 100644 index 0000000..0f9901f --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/relative.ts @@ -0,0 +1,10 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "./assert_path.ts"; + +export function assertArgs(from: string, to: string) { + assertPath(from); + assertPath(to); + if (from === to) return ""; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/strip_trailing_separators.ts b/vendor/jsr.io/@std/path/1.0.8/_common/strip_trailing_separators.ts new file mode 100644 index 0000000..852def6 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/strip_trailing_separators.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +export function stripTrailingSeparators( + segment: string, + isSep: (char: number) => boolean, +): string { + if (segment.length <= 1) { + return segment; + } + + let end = segment.length; + + for (let i = segment.length - 1; i > 0; i--) { + if (isSep(segment.charCodeAt(i))) { + end = i; + } else { + break; + } + } + + return segment.slice(0, end); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_common/to_file_url.ts b/vendor/jsr.io/@std/path/1.0.8/_common/to_file_url.ts new file mode 100644 index 0000000..ed98585 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_common/to_file_url.ts @@ -0,0 +1,17 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +const WHITESPACE_ENCODINGS: Record = { + "\u0009": "%09", + "\u000A": "%0A", + "\u000B": "%0B", + "\u000C": "%0C", + "\u000D": "%0D", + "\u0020": "%20", +}; + +export function encodeWhitespace(string: string): string { + return string.replaceAll(/[\s]/g, (c) => { + return WHITESPACE_ENCODINGS[c] ?? c; + }); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/_os.ts b/vendor/jsr.io/@std/path/1.0.8/_os.ts new file mode 100644 index 0000000..cba0bba --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/_os.ts @@ -0,0 +1,10 @@ +// deno-lint-ignore-file no-explicit-any +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +// Check Deno, then the remaining runtimes (e.g. Node, Bun and the browser) +export const isWindows: boolean = + (globalThis as any).Deno?.build.os === "windows" || + (globalThis as any).navigator?.platform?.startsWith("Win") || + (globalThis as any).process?.platform?.startsWith("win") || + false; diff --git a/vendor/jsr.io/@std/path/1.0.8/basename.ts b/vendor/jsr.io/@std/path/1.0.8/basename.ts new file mode 100644 index 0000000..6b9c602 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/basename.ts @@ -0,0 +1,38 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { basename as posixBasename } from "./posix/basename.ts"; +import { basename as windowsBasename } from "./windows/basename.ts"; + +/** + * Return the last portion of a path. + * + * The trailing directory separators are ignored, and optional suffix is + * removed. + * + * @example Usage + * ```ts + * import { basename } from "@std/path/basename"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(basename("C:\\user\\Documents\\image.png"), "image.png"); + * } else { + * assertEquals(basename("/home/user/Documents/image.png"), "image.png"); + * } + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `basename` from `@std/path/unstable-basename`. + * + * @param path Path to extract the name from. + * @param suffix Suffix to remove from extracted name. + * + * @returns The basename of the path. + */ +export function basename(path: string, suffix = ""): string { + return isWindows + ? windowsBasename(path, suffix) + : posixBasename(path, suffix); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/common.ts b/vendor/jsr.io/@std/path/1.0.8/common.ts new file mode 100644 index 0000000..b55d0ff --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/common.ts @@ -0,0 +1,35 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { common as _common } from "./_common/common.ts"; +import { SEPARATOR } from "./constants.ts"; + +/** + * Determines the common path from a set of paths for the given OS. + * + * @param paths Paths to search for common path. + * @returns The common path. + * + * @example Usage + * ```ts + * import { common } from "@std/path/common"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * const path = common([ + * "C:\\deno\\std\\path\\mod.ts", + * "C:\\deno\\std\\fs\\mod.ts" + * ]); + * assertEquals(path, "C:\\deno\\std\\"); + * } else { + * const path = common([ + * "./deno/std/path/mod.ts", + * "./deno/std/fs/mod.ts" + * ]); + * assertEquals(path, "./deno/std/"); + * } + * ``` + */ +export function common(paths: string[]): string { + return _common(paths, SEPARATOR); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/constants.ts b/vendor/jsr.io/@std/path/1.0.8/constants.ts new file mode 100644 index 0000000..04b2ce0 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/constants.ts @@ -0,0 +1,18 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. +import { isWindows } from "./_os.ts"; + +/** + * The character used to separate entries in the PATH environment variable. + * On Windows, this is `;`. On all other platforms, this is `:`. + */ +export const DELIMITER = isWindows ? ";" as const : ":" as const; +/** + * The character used to separate components of a file path. + * On Windows, this is `\`. On all other platforms, this is `/`. + */ +export const SEPARATOR = isWindows ? "\\" as const : "/" as const; +/** + * A regular expression that matches one or more path separators. + */ +export const SEPARATOR_PATTERN = isWindows ? /[\\/]+/ : /\/+/; diff --git a/vendor/jsr.io/@std/path/1.0.8/dirname.ts b/vendor/jsr.io/@std/path/1.0.8/dirname.ts new file mode 100644 index 0000000..f1df22e --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/dirname.ts @@ -0,0 +1,31 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { dirname as posixDirname } from "./posix/dirname.ts"; +import { dirname as windowsDirname } from "./windows/dirname.ts"; + +/** + * Return the directory path of a path. + * + * @example Usage + * ```ts + * import { dirname } from "@std/path/dirname"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(dirname("C:\\home\\user\\Documents\\image.png"), "C:\\home\\user\\Documents"); + * } else { + * assertEquals(dirname("/home/user/Documents/image.png"), "/home/user/Documents"); + * } + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `dirname` from `@std/path/unstable-dirname`. + * + * @param path Path to extract the directory from. + * @returns The directory path. + */ +export function dirname(path: string): string { + return isWindows ? windowsDirname(path) : posixDirname(path); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/extname.ts b/vendor/jsr.io/@std/path/1.0.8/extname.ts new file mode 100644 index 0000000..3ed109e --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/extname.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { extname as posixExtname } from "./posix/extname.ts"; +import { extname as windowsExtname } from "./windows/extname.ts"; +/** + * Return the extension of the path with leading period ("."). + * + * @example Usage + * ```ts + * import { extname } from "@std/path/extname"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(extname("C:\\home\\user\\Documents\\image.png"), ".png"); + * } else { + * assertEquals(extname("/home/user/Documents/image.png"), ".png"); + * } + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `extname` from `@std/path/unstable-extname`. + * + * @param path Path with extension. + * @returns The file extension. E.g. returns `.ts` for `file.ts`. + */ +export function extname(path: string): string { + return isWindows ? windowsExtname(path) : posixExtname(path); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/format.ts b/vendor/jsr.io/@std/path/1.0.8/format.ts new file mode 100644 index 0000000..808db20 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/format.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { format as posixFormat } from "./posix/format.ts"; +import { format as windowsFormat } from "./windows/format.ts"; +import type { ParsedPath } from "./types.ts"; + +/** + * Generate a path from a {@linkcode ParsedPath} object. It does the + * opposite of {@linkcode https://jsr.io/@std/path/doc/~/parse | parse()}. + * + * @example Usage + * ```ts + * import { format } from "@std/path/format"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(format({ dir: "C:\\path\\to", base: "script.ts" }), "C:\\path\\to\\script.ts"); + * } else { + * assertEquals(format({ dir: "/path/to/dir", base: "script.ts" }), "/path/to/dir/script.ts"); + * } + * ``` + * + * @param pathObject Object with path components. + * @returns The formatted path. + */ +export function format(pathObject: Partial): string { + return isWindows ? windowsFormat(pathObject) : posixFormat(pathObject); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/from_file_url.ts b/vendor/jsr.io/@std/path/1.0.8/from_file_url.ts new file mode 100644 index 0000000..4b2b6b6 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/from_file_url.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { fromFileUrl as posixFromFileUrl } from "./posix/from_file_url.ts"; +import { fromFileUrl as windowsFromFileUrl } from "./windows/from_file_url.ts"; + +/** + * Converts a file URL to a path string. + * + * @example Usage + * ```ts + * import { fromFileUrl } from "@std/path/from-file-url"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(fromFileUrl("file:///home/foo"), "\\home\\foo"); + * assertEquals(fromFileUrl("file:///C:/Users/foo"), "C:\\Users\\foo"); + * assertEquals(fromFileUrl("file://localhost/home/foo"), "\\home\\foo"); + * } else { + * assertEquals(fromFileUrl("file:///home/foo"), "/home/foo"); + * } + * ``` + * + * @param url The file URL to convert to a path. + * @returns The path string. + */ +export function fromFileUrl(url: string | URL): string { + return isWindows ? windowsFromFileUrl(url) : posixFromFileUrl(url); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/glob_to_regexp.ts b/vendor/jsr.io/@std/path/1.0.8/glob_to_regexp.ts new file mode 100644 index 0000000..224c439 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/glob_to_regexp.ts @@ -0,0 +1,94 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "./_common/glob_to_reg_exp.ts"; +import { isWindows } from "./_os.ts"; + +import { globToRegExp as posixGlobToRegExp } from "./posix/glob_to_regexp.ts"; +import { + globToRegExp as windowsGlobToRegExp, +} from "./windows/glob_to_regexp.ts"; + +export type { GlobOptions }; + +/** + * Converts a glob string to a regular expression. + * + * Tries to match bash glob expansion as closely as possible. + * + * Basic glob syntax: + * - `*` - Matches everything without leaving the path segment. + * - `?` - Matches any single character. + * - `{foo,bar}` - Matches `foo` or `bar`. + * - `[abcd]` - Matches `a`, `b`, `c` or `d`. + * - `[a-d]` - Matches `a`, `b`, `c` or `d`. + * - `[!abcd]` - Matches any single character besides `a`, `b`, `c` or `d`. + * - `[[::]]` - Matches any character belonging to ``. + * - `[[:alnum:]]` - Matches any digit or letter. + * - `[[:digit:]abc]` - Matches any digit, `a`, `b` or `c`. + * - See https://facelessuser.github.io/wcmatch/glob/#posix-character-classes + * for a complete list of supported character classes. + * - `\` - Escapes the next character for an `os` other than `"windows"`. + * - \` - Escapes the next character for `os` set to `"windows"`. + * - `/` - Path separator. + * - `\` - Additional path separator only for `os` set to `"windows"`. + * + * Extended syntax: + * - Requires `{ extended: true }`. + * - `?(foo|bar)` - Matches 0 or 1 instance of `{foo,bar}`. + * - `@(foo|bar)` - Matches 1 instance of `{foo,bar}`. They behave the same. + * - `*(foo|bar)` - Matches _n_ instances of `{foo,bar}`. + * - `+(foo|bar)` - Matches _n > 0_ instances of `{foo,bar}`. + * - `!(foo|bar)` - Matches anything other than `{foo,bar}`. + * - See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * Globstar syntax: + * - Requires `{ globstar: true }`. + * - `**` - Matches any number of any path segments. + * - Must comprise its entire path segment in the provided glob. + * - See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * + * Note the following properties: + * - The generated `RegExp` is anchored at both start and end. + * - Repeating and trailing separators are tolerated. Trailing separators in the + * provided glob have no meaning and are discarded. + * - Absolute globs will only match absolute paths, etc. + * - Empty globs will match nothing. + * - Any special glob syntax must be contained to one path segment. For example, + * `?(foo|bar/baz)` is invalid. The separator will take precedence and the + * first segment ends with an unclosed group. + * - If a path segment ends with unclosed groups or a dangling escape prefix, a + * parse error has occurred. Every character for that segment is taken + * literally in this event. + * + * Limitations: + * - A negative group like `!(foo|bar)` will wrongly be converted to a negative + * look-ahead followed by a wildcard. This means that `!(foo).js` will wrongly + * fail to match `foobar.js`, even though `foobar` is not `foo`. Effectively, + * `!(foo|bar)` is treated like `!(@(foo|bar)*)`. This will work correctly if + * the group occurs not nested at the end of the segment. + * + * @example Usage + * ```ts + * import { globToRegExp } from "@std/path/glob-to-regexp"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(globToRegExp("*.js"), /^[^\\/]*\.js(?:\\|\/)*$/); + * } else { + * assertEquals(globToRegExp("*.js"), /^[^/]*\.js\/*$/); + * } + * ``` + * + * @param glob Glob string to convert. + * @param options Conversion options. + * @returns The regular expression equivalent to the glob. + */ +export function globToRegExp( + glob: string, + options: GlobOptions = {}, +): RegExp { + return isWindows + ? windowsGlobToRegExp(glob, options) + : posixGlobToRegExp(glob, options); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/is_absolute.ts b/vendor/jsr.io/@std/path/1.0.8/is_absolute.ts new file mode 100644 index 0000000..87f9ef5 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/is_absolute.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { isAbsolute as posixIsAbsolute } from "./posix/is_absolute.ts"; +import { isAbsolute as windowsIsAbsolute } from "./windows/is_absolute.ts"; + +/** + * Verifies whether provided path is absolute. + * + * @example Usage + * ```ts + * import { isAbsolute } from "@std/path/is-absolute"; + * import { assert, assertFalse } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assert(isAbsolute("C:\\home\\foo")); + * assertFalse(isAbsolute("home\\foo")); + * } else { + * assert(isAbsolute("/home/foo")); + * assertFalse(isAbsolute("home/foo")); + * } + * ``` + * + * @param path Path to be verified as absolute. + * @returns `true` if path is absolute, `false` otherwise + */ +export function isAbsolute(path: string): boolean { + return isWindows ? windowsIsAbsolute(path) : posixIsAbsolute(path); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/is_glob.ts b/vendor/jsr.io/@std/path/1.0.8/is_glob.ts new file mode 100644 index 0000000..9142111 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/is_glob.ts @@ -0,0 +1,49 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Test whether the given string is a glob. + * + * @example Usage + * ```ts + * import { isGlob } from "@std/path/is-glob"; + * import { assert } from "@std/assert"; + * + * assert(!isGlob("foo/bar/../baz")); + * assert(isGlob("foo/*ar/../baz")); + * ``` + * + * @param str String to test. + * @returns `true` if the given string is a glob, otherwise `false` + */ +export function isGlob(str: string): boolean { + const chars: Record = { "{": "}", "(": ")", "[": "]" }; + const regex = + /\\(.)|(^!|\*|\?|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/; + + if (str === "") { + return false; + } + + let match: RegExpExecArray | null; + + while ((match = regex.exec(str))) { + if (match[2]) return true; + let idx = match.index + match[0].length; + + // if an open bracket/brace/paren is escaped, + // set the index to the next closing character + const open = match[1]; + const close = open ? chars[open] : null; + if (open && close) { + const n = str.indexOf(close, idx); + if (n !== -1) { + idx = n + 1; + } + } + + str = str.slice(idx); + } + + return false; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/join.ts b/vendor/jsr.io/@std/path/1.0.8/join.ts new file mode 100644 index 0000000..320a1aa --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/join.ts @@ -0,0 +1,31 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { join as posixJoin } from "./posix/join.ts"; +import { join as windowsJoin } from "./windows/join.ts"; + +/** + * Joins a sequence of paths, then normalizes the resulting path. + * + * @example Usage + * ```ts + * import { join } from "@std/path/join"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(join("C:\\foo", "bar", "baz\\quux", "garply", ".."), "C:\\foo\\bar\\baz\\quux"); + * } else { + * assertEquals(join("/foo", "bar", "baz/quux", "garply", ".."), "/foo/bar/baz/quux"); + * } + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `join` from `@std/path/unstable-join`. + * + * @param paths Paths to be joined and normalized. + * @returns The joined and normalized path. + */ +export function join(...paths: string[]): string { + return isWindows ? windowsJoin(...paths) : posixJoin(...paths); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/join_globs.ts b/vendor/jsr.io/@std/path/1.0.8/join_globs.ts new file mode 100644 index 0000000..5b0d6b8 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/join_globs.ts @@ -0,0 +1,42 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "./_common/glob_to_reg_exp.ts"; +import { isWindows } from "./_os.ts"; +import { joinGlobs as posixJoinGlobs } from "./posix/join_globs.ts"; +import { joinGlobs as windowsJoinGlobs } from "./windows/join_globs.ts"; + +export type { GlobOptions }; + +/** + * Joins a sequence of globs, then normalizes the resulting glob. + * + * Behaves like {@linkcode https://jsr.io/@std/path/doc/~/join | join()}, but + * doesn't collapse `**\/..` when `globstar` is true. + * + * @example Usage + * ```ts + * import { joinGlobs } from "@std/path/join-globs"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(joinGlobs(["foo", "bar", "..", "baz"]), "foo\\baz"); + * assertEquals(joinGlobs(["foo", "**", "bar", "..", "baz"], { globstar: true }), "foo\\**\\baz"); + * } else { + * assertEquals(joinGlobs(["foo", "bar", "..", "baz"]), "foo/baz"); + * assertEquals(joinGlobs(["foo", "**", "bar", "..", "baz"], { globstar: true }), "foo/**\/baz"); + * } + * ``` + * + * @param globs Globs to be joined and normalized. + * @param options Glob options. + * @returns The joined and normalized glob string. + */ +export function joinGlobs( + globs: string[], + options: GlobOptions = {}, +): string { + return isWindows + ? windowsJoinGlobs(globs, options) + : posixJoinGlobs(globs, options); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/mod.ts b/vendor/jsr.io/@std/path/1.0.8/mod.ts new file mode 100644 index 0000000..1ae80ea --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/mod.ts @@ -0,0 +1,58 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported mostly from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +/** + * Utilities for working with OS-specific file paths. + * + * Functions from this module will automatically switch to support the path style + * of the current OS, either `windows` for Microsoft Windows, or `posix` for + * every other operating system, eg. Linux, MacOS, BSD etc. + * + * To use functions for a specific path style regardless of the current OS + * import the modules from the platform sub directory instead. + * + * Example, for POSIX: + * + * ```ts + * import { fromFileUrl } from "@std/path/posix/from-file-url"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(fromFileUrl("file:///home/foo"), "/home/foo"); + * ``` + * + * Or, for Windows: + * + * ```ts + * import { fromFileUrl } from "@std/path/windows/from-file-url"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(fromFileUrl("file:///home/foo"), "\\home\\foo"); + * ``` + * + * Functions for working with URLs can be found in + * {@link ./doc/posix/~ | @std/path/posix}. + * + * @module + */ +export * from "./basename.ts"; +export * from "./constants.ts"; +export * from "./dirname.ts"; +export * from "./extname.ts"; +export * from "./format.ts"; +export * from "./from_file_url.ts"; +export * from "./is_absolute.ts"; +export * from "./join.ts"; +export * from "./normalize.ts"; +export * from "./parse.ts"; +export * from "./relative.ts"; +export * from "./resolve.ts"; +export * from "./to_file_url.ts"; +export * from "./to_namespaced_path.ts"; +export * from "./common.ts"; +export * from "./types.ts"; +export * from "./glob_to_regexp.ts"; +export * from "./is_glob.ts"; +export * from "./join_globs.ts"; +export * from "./normalize_glob.ts"; diff --git a/vendor/jsr.io/@std/path/1.0.8/normalize.ts b/vendor/jsr.io/@std/path/1.0.8/normalize.ts new file mode 100644 index 0000000..d4fb0d8 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/normalize.ts @@ -0,0 +1,34 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { normalize as posixNormalize } from "./posix/normalize.ts"; +import { normalize as windowsNormalize } from "./windows/normalize.ts"; +/** + * Normalize the path, resolving `'..'` and `'.'` segments. + * + * Note: Resolving these segments does not necessarily mean that all will be + * eliminated. A `'..'` at the top-level will be preserved, and an empty path is + * canonically `'.'`. + * + * @example Usage + * ```ts + * import { normalize } from "@std/path/normalize"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(normalize("C:\\foo\\bar\\..\\baz\\quux"), "C:\\foo\\baz\\quux"); + * } else { + * assertEquals(normalize("/foo/bar/../baz/quux"), "/foo/baz/quux"); + * } + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `normalize` from `@std/path/unstable-normalize`. + * + * @param path Path to be normalized + * @returns The normalized path. + */ +export function normalize(path: string): string { + return isWindows ? windowsNormalize(path) : posixNormalize(path); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/normalize_glob.ts b/vendor/jsr.io/@std/path/1.0.8/normalize_glob.ts new file mode 100644 index 0000000..0d14fe9 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/normalize_glob.ts @@ -0,0 +1,45 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "./_common/glob_to_reg_exp.ts"; +import { isWindows } from "./_os.ts"; +import { normalizeGlob as posixNormalizeGlob } from "./posix/normalize_glob.ts"; +import { + normalizeGlob as windowsNormalizeGlob, +} from "./windows/normalize_glob.ts"; + +export type { GlobOptions }; + +/** + * Normalizes a glob string. + * + * Behaves like + * {@linkcode https://jsr.io/@std/path/doc/~/normalize | normalize()}, but + * doesn't collapse "**\/.." when `globstar` is true. + * + * @example Usage + * ```ts + * import { normalizeGlob } from "@std/path/normalize-glob"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(normalizeGlob("foo\\bar\\..\\baz"), "foo\\baz"); + * assertEquals(normalizeGlob("foo\\**\\..\\bar\\..\\baz", { globstar: true }), "foo\\**\\..\\baz"); + * } else { + * assertEquals(normalizeGlob("foo/bar/../baz"), "foo/baz"); + * assertEquals(normalizeGlob("foo/**\/../bar/../baz", { globstar: true }), "foo/**\/../baz"); + * } + * ``` + * + * @param glob Glob string to normalize. + * @param options Glob options. + * @returns The normalized glob string. + */ +export function normalizeGlob( + glob: string, + options: GlobOptions = {}, +): string { + return isWindows + ? windowsNormalizeGlob(glob, options) + : posixNormalizeGlob(glob, options); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/parse.ts b/vendor/jsr.io/@std/path/1.0.8/parse.ts new file mode 100644 index 0000000..0a71e03 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/parse.ts @@ -0,0 +1,44 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import type { ParsedPath } from "./types.ts"; +import { parse as posixParse } from "./posix/parse.ts"; +import { parse as windowsParse } from "./windows/parse.ts"; + +export type { ParsedPath } from "./types.ts"; + +/** + * Return an object containing the parsed components of the path. + * + * Use {@linkcode https://jsr.io/@std/path/doc/~/format | format()} to reverse + * the result. + * + * @example Usage + * ```ts + * import { parse } from "@std/path/parse"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * const parsedPathObj = parse("C:\\path\\to\\script.ts"); + * assertEquals(parsedPathObj.root, "C:\\"); + * assertEquals(parsedPathObj.dir, "C:\\path\\to"); + * assertEquals(parsedPathObj.base, "script.ts"); + * assertEquals(parsedPathObj.ext, ".ts"); + * assertEquals(parsedPathObj.name, "script"); + * } else { + * const parsedPathObj = parse("/path/to/dir/script.ts"); + * parsedPathObj.root; // "/" + * parsedPathObj.dir; // "/path/to/dir" + * parsedPathObj.base; // "script.ts" + * parsedPathObj.ext; // ".ts" + * parsedPathObj.name; // "script" + * } + * ``` + * + * @param path Path to process + * @returns An object with the parsed path components. + */ +export function parse(path: string): ParsedPath { + return isWindows ? windowsParse(path) : posixParse(path); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/_util.ts b/vendor/jsr.io/@std/path/1.0.8/posix/_util.ts new file mode 100644 index 0000000..b446155 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/_util.ts @@ -0,0 +1,10 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +import { CHAR_FORWARD_SLASH } from "../_common/constants.ts"; + +export function isPosixPathSeparator(code: number): boolean { + return code === CHAR_FORWARD_SLASH; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/basename.ts b/vendor/jsr.io/@std/path/1.0.8/posix/basename.ts new file mode 100644 index 0000000..b772a21 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/basename.ts @@ -0,0 +1,59 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + assertArgs, + lastPathSegment, + stripSuffix, +} from "../_common/basename.ts"; +import { stripTrailingSeparators } from "../_common/strip_trailing_separators.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Return the last portion of a `path`. + * Trailing directory separators are ignored, and optional suffix is removed. + * + * @example Usage + * ```ts + * import { basename } from "@std/path/posix/basename"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(basename("/home/user/Documents/"), "Documents"); + * assertEquals(basename("/home/user/Documents/image.png"), "image.png"); + * assertEquals(basename("/home/user/Documents/image.png", ".png"), "image"); + * ``` + * + * @example Working with URLs + * + * Note: This function doesn't automatically strip hash and query parts from + * URLs. If your URL contains a hash or query, remove them before passing the + * URL to the function. This can be done by passing the URL to `new URL(url)`, + * and setting the `hash` and `search` properties to empty strings. + * + * ```ts + * import { basename } from "@std/path/posix/basename"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(basename("https://deno.land/std/path/mod.ts"), "mod.ts"); + * assertEquals(basename("https://deno.land/std/path/mod.ts", ".ts"), "mod"); + * assertEquals(basename("https://deno.land/std/path/mod.ts?a=b"), "mod.ts?a=b"); + * assertEquals(basename("https://deno.land/std/path/mod.ts#header"), "mod.ts#header"); + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `basename` from `@std/path/posix/unstable-basename`. + * + * @param path The path to extract the name from. + * @param suffix The suffix to remove from extracted name. + * @returns The extracted name. + */ +export function basename(path: string, suffix = ""): string { + assertArgs(path, suffix); + + const lastSegment = lastPathSegment(path, isPosixPathSeparator); + const strippedSegment = stripTrailingSeparators( + lastSegment, + isPosixPathSeparator, + ); + return suffix ? stripSuffix(strippedSegment, suffix) : strippedSegment; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/constants.ts b/vendor/jsr.io/@std/path/1.0.8/posix/constants.ts new file mode 100644 index 0000000..ef8968e --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/constants.ts @@ -0,0 +1,15 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * The character used to separate entries in the PATH environment variable. + */ +export const DELIMITER = ":" as const; +/** + * The character used to separate components of a file path. + */ +export const SEPARATOR = "/" as const; +/** + * A regular expression that matches one or more path separators. + */ +export const SEPARATOR_PATTERN = /\/+/; diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/dirname.ts b/vendor/jsr.io/@std/path/1.0.8/posix/dirname.ts new file mode 100644 index 0000000..38064b8 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/dirname.ts @@ -0,0 +1,70 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/dirname.ts"; +import { stripTrailingSeparators } from "../_common/strip_trailing_separators.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Return the directory path of a `path`. + * + * @example Usage + * ```ts + * import { dirname } from "@std/path/posix/dirname"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(dirname("/home/user/Documents/"), "/home/user"); + * assertEquals(dirname("/home/user/Documents/image.png"), "/home/user/Documents"); + * assertEquals(dirname("https://deno.land/std/path/mod.ts"), "https://deno.land/std/path"); + * ``` + * + * @example Working with URLs + * + * ```ts + * import { dirname } from "@std/path/posix/dirname"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(dirname("https://deno.land/std/path/mod.ts"), "https://deno.land/std/path"); + * assertEquals(dirname("https://deno.land/std/path/mod.ts?a=b"), "https://deno.land/std/path"); + * assertEquals(dirname("https://deno.land/std/path/mod.ts#header"), "https://deno.land/std/path"); + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `dirname` from `@std/path/posix/unstable-dirname`. + * + * @param path The path to get the directory from. + * @returns The directory path. + */ +export function dirname(path: string): string { + assertArg(path); + + let end = -1; + let matchedNonSeparator = false; + + for (let i = path.length - 1; i >= 1; --i) { + if (isPosixPathSeparator(path.charCodeAt(i))) { + if (matchedNonSeparator) { + end = i; + break; + } + } else { + matchedNonSeparator = true; + } + } + + // No matches. Fallback based on provided path: + // + // - leading slashes paths + // "/foo" => "/" + // "///foo" => "/" + // - no slash path + // "foo" => "." + if (end === -1) { + return isPosixPathSeparator(path.charCodeAt(0)) ? "/" : "."; + } + + return stripTrailingSeparators( + path.slice(0, end), + isPosixPathSeparator, + ); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/extname.ts b/vendor/jsr.io/@std/path/1.0.8/posix/extname.ts new file mode 100644 index 0000000..eca1f61 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/extname.ts @@ -0,0 +1,92 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_DOT } from "../_common/constants.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Return the extension of the `path` with leading period. + * + * @example Usage + * ```ts + * import { extname } from "@std/path/posix/extname"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(extname("/home/user/Documents/file.ts"), ".ts"); + * assertEquals(extname("/home/user/Documents/"), ""); + * assertEquals(extname("/home/user/Documents/image.png"), ".png"); + * ``` + * + * @example Working with URLs + * + * Note: This function doesn't automatically strip hash and query parts from + * URLs. If your URL contains a hash or query, remove them before passing the + * URL to the function. This can be done by passing the URL to `new URL(url)`, + * and setting the `hash` and `search` properties to empty strings. + * + * ```ts + * import { extname } from "@std/path/posix/extname"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(extname("https://deno.land/std/path/mod.ts"), ".ts"); + * assertEquals(extname("https://deno.land/std/path/mod.ts?a=b"), ".ts?a=b"); + * assertEquals(extname("https://deno.land/std/path/mod.ts#header"), ".ts#header"); + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `extname` from `@std/path/posix/unstable-extname`. + * + * @param path The path to get the extension from. + * @returns The extension (ex. for `file.ts` returns `.ts`). + */ +export function extname(path: string): string { + assertPath(path); + + let startDot = -1; + let startPart = 0; + let end = -1; + let matchedSlash = true; + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + for (let i = path.length - 1; i >= 0; --i) { + const code = path.charCodeAt(i); + if (isPosixPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + return ""; + } + return path.slice(startDot, end); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/format.ts b/vendor/jsr.io/@std/path/1.0.8/posix/format.ts new file mode 100644 index 0000000..c6c6ba1 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/format.ts @@ -0,0 +1,31 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _format, assertArg } from "../_common/format.ts"; +import type { ParsedPath } from "../types.ts"; + +/** + * Generate a path from `ParsedPath` object. + * + * @example Usage + * ```ts + * import { format } from "@std/path/posix/format"; + * import { assertEquals } from "@std/assert"; + * + * const path = format({ + * root: "/", + * dir: "/path/dir", + * base: "file.txt", + * ext: ".txt", + * name: "file" + * }); + * assertEquals(path, "/path/dir/file.txt"); + * ``` + * + * @param pathObject The path object to format. + * @returns The formatted path. + */ +export function format(pathObject: Partial): string { + assertArg(pathObject); + return _format("/", pathObject); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/from_file_url.ts b/vendor/jsr.io/@std/path/1.0.8/posix/from_file_url.ts new file mode 100644 index 0000000..de0eb62 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/from_file_url.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/from_file_url.ts"; + +/** + * Converts a file URL to a path string. + * + * @example Usage + * ```ts + * import { fromFileUrl } from "@std/path/posix/from-file-url"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(fromFileUrl(new URL("file:///home/foo")), "/home/foo"); + * ``` + * + * @param url The file URL to convert. + * @returns The path string. + */ +export function fromFileUrl(url: URL | string): string { + url = assertArg(url); + return decodeURIComponent( + url.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"), + ); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/glob_to_regexp.ts b/vendor/jsr.io/@std/path/1.0.8/posix/glob_to_regexp.ts new file mode 100644 index 0000000..d96a5d6 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/glob_to_regexp.ts @@ -0,0 +1,94 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + _globToRegExp, + type GlobConstants, + type GlobOptions, +} from "../_common/glob_to_reg_exp.ts"; + +export type { GlobOptions }; + +const constants: GlobConstants = { + sep: "/+", + sepMaybe: "/*", + seps: ["/"], + globstar: "(?:[^/]*(?:/|$)+)*", + wildcard: "[^/]*", + escapePrefix: "\\", +}; + +/** Convert a glob string to a regular expression. + * + * Tries to match bash glob expansion as closely as possible. + * + * Basic glob syntax: + * - `*` - Matches everything without leaving the path segment. + * - `?` - Matches any single character. + * - `{foo,bar}` - Matches `foo` or `bar`. + * - `[abcd]` - Matches `a`, `b`, `c` or `d`. + * - `[a-d]` - Matches `a`, `b`, `c` or `d`. + * - `[!abcd]` - Matches any single character besides `a`, `b`, `c` or `d`. + * - `[[::]]` - Matches any character belonging to ``. + * - `[[:alnum:]]` - Matches any digit or letter. + * - `[[:digit:]abc]` - Matches any digit, `a`, `b` or `c`. + * - See https://facelessuser.github.io/wcmatch/glob/#posix-character-classes + * for a complete list of supported character classes. + * - `\` - Escapes the next character for an `os` other than `"windows"`. + * - \` - Escapes the next character for `os` set to `"windows"`. + * - `/` - Path separator. + * - `\` - Additional path separator only for `os` set to `"windows"`. + * + * Extended syntax: + * - Requires `{ extended: true }`. + * - `?(foo|bar)` - Matches 0 or 1 instance of `{foo,bar}`. + * - `@(foo|bar)` - Matches 1 instance of `{foo,bar}`. They behave the same. + * - `*(foo|bar)` - Matches _n_ instances of `{foo,bar}`. + * - `+(foo|bar)` - Matches _n > 0_ instances of `{foo,bar}`. + * - `!(foo|bar)` - Matches anything other than `{foo,bar}`. + * - See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * Globstar syntax: + * - Requires `{ globstar: true }`. + * - `**` - Matches any number of any path segments. + * - Must comprise its entire path segment in the provided glob. + * - See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * + * Note the following properties: + * - The generated `RegExp` is anchored at both start and end. + * - Repeating and trailing separators are tolerated. Trailing separators in the + * provided glob have no meaning and are discarded. + * - Absolute globs will only match absolute paths, etc. + * - Empty globs will match nothing. + * - Any special glob syntax must be contained to one path segment. For example, + * `?(foo|bar/baz)` is invalid. The separator will take precedence and the + * first segment ends with an unclosed group. + * - If a path segment ends with unclosed groups or a dangling escape prefix, a + * parse error has occurred. Every character for that segment is taken + * literally in this event. + * + * Limitations: + * - A negative group like `!(foo|bar)` will wrongly be converted to a negative + * look-ahead followed by a wildcard. This means that `!(foo).js` will wrongly + * fail to match `foobar.js`, even though `foobar` is not `foo`. Effectively, + * `!(foo|bar)` is treated like `!(@(foo|bar)*)`. This will work correctly if + * the group occurs not nested at the end of the segment. + * + * @example Usage + * ```ts + * import { globToRegExp } from "@std/path/posix/glob-to-regexp"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(globToRegExp("*.js"), /^[^/]*\.js\/*$/); + * ``` + * + * @param glob Glob string to convert. + * @param options Conversion options. + * @returns The regular expression equivalent to the glob. + */ +export function globToRegExp( + glob: string, + options: GlobOptions = {}, +): RegExp { + return _globToRegExp(constants, glob, options); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/is_absolute.ts b/vendor/jsr.io/@std/path/1.0.8/posix/is_absolute.ts new file mode 100644 index 0000000..ef89ce6 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/is_absolute.ts @@ -0,0 +1,25 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Verifies whether provided path is absolute. + * + * @example Usage + * ```ts + * import { isAbsolute } from "@std/path/posix/is-absolute"; + * import { assert, assertFalse } from "@std/assert"; + * + * assert(isAbsolute("/home/user/Documents/")); + * assertFalse(isAbsolute("home/user/Documents/")); + * ``` + * + * @param path The path to verify. + * @returns Whether the path is absolute. + */ +export function isAbsolute(path: string): boolean { + assertPath(path); + return path.length > 0 && isPosixPathSeparator(path.charCodeAt(0)); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/join.ts b/vendor/jsr.io/@std/path/1.0.8/posix/join.ts new file mode 100644 index 0000000..dc4ff98 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/join.ts @@ -0,0 +1,43 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "../_common/assert_path.ts"; +import { normalize } from "./normalize.ts"; + +/** + * Join all given a sequence of `paths`,then normalizes the resulting path. + * + * @example Usage + * ```ts + * import { join } from "@std/path/posix/join"; + * import { assertEquals } from "@std/assert"; + * + * const path = join("/foo", "bar", "baz/asdf", "quux", ".."); + * assertEquals(path, "/foo/bar/baz/asdf"); + * ``` + * + * @example Working with URLs + * ```ts + * import { join } from "@std/path/posix/join"; + * import { assertEquals } from "@std/assert"; + * + * const url = new URL("https://deno.land"); + * url.pathname = join("std", "path", "mod.ts"); + * assertEquals(url.href, "https://deno.land/std/path/mod.ts"); + * + * url.pathname = join("//std", "path/", "/mod.ts"); + * assertEquals(url.href, "https://deno.land/std/path/mod.ts"); + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `join` from `@std/path/posix/unstable-join`. + * + * @param paths The paths to join. + * @returns The joined path. + */ +export function join(...paths: string[]): string { + if (paths.length === 0) return "."; + paths.forEach((path) => assertPath(path)); + const joined = paths.filter((path) => path.length > 0).join("/"); + return joined === "" ? "." : normalize(joined); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/join_globs.ts b/vendor/jsr.io/@std/path/1.0.8/posix/join_globs.ts new file mode 100644 index 0000000..08fc39e --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/join_globs.ts @@ -0,0 +1,45 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "../_common/glob_to_reg_exp.ts"; +import { join } from "./join.ts"; +import { SEPARATOR } from "./constants.ts"; +import { normalizeGlob } from "./normalize_glob.ts"; + +export type { GlobOptions }; + +/** + * Like join(), but doesn't collapse "**\/.." when `globstar` is true. + * + * @example Usage + * ```ts + * import { joinGlobs } from "@std/path/posix/join-globs"; + * import { assertEquals } from "@std/assert"; + * + * const path = joinGlobs(["foo", "bar", "**"], { globstar: true }); + * assertEquals(path, "foo/bar/**"); + * ``` + * + * @param globs The globs to join. + * @param options The options to use. + * @returns The joined path. + */ +export function joinGlobs( + globs: string[], + options: Pick = {}, +): string { + const { globstar = false } = options; + if (!globstar || globs.length === 0) { + return join(...globs); + } + let joined: string | undefined; + for (const glob of globs) { + const path = glob; + if (path.length > 0) { + if (!joined) joined = path; + else joined += `${SEPARATOR}${path}`; + } + } + if (!joined) return "."; + return normalizeGlob(joined, { globstar }); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/normalize.ts b/vendor/jsr.io/@std/path/1.0.8/posix/normalize.ts new file mode 100644 index 0000000..e8bdb64 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/normalize.ts @@ -0,0 +1,62 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/normalize.ts"; +import { normalizeString } from "../_common/normalize_string.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Normalize the `path`, resolving `'..'` and `'.'` segments. + * Note that resolving these segments does not necessarily mean that all will be eliminated. + * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. + * + * @example Usage + * ```ts + * import { normalize } from "@std/path/posix/normalize"; + * import { assertEquals } from "@std/assert"; + * + * const path = normalize("/foo/bar//baz/asdf/quux/.."); + * assertEquals(path, "/foo/bar/baz/asdf"); + * ``` + * + * @example Working with URLs + * + * Note: This function will remove the double slashes from a URL's scheme. + * Hence, do not pass a full URL to this function. Instead, pass the pathname of + * the URL. + * + * ```ts + * import { normalize } from "@std/path/posix/normalize"; + * import { assertEquals } from "@std/assert"; + * + * const url = new URL("https://deno.land"); + * url.pathname = normalize("//std//assert//.//mod.ts"); + * assertEquals(url.href, "https://deno.land/std/assert/mod.ts"); + * + * url.pathname = normalize("std/assert/../async/retry.ts"); + * assertEquals(url.href, "https://deno.land/std/async/retry.ts"); + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `normalize` from `@std/path/posix/unstable-normalize`. + * + * @param path The path to normalize. + * @returns The normalized path. + */ +export function normalize(path: string): string { + assertArg(path); + + const isAbsolute = isPosixPathSeparator(path.charCodeAt(0)); + const trailingSeparator = isPosixPathSeparator( + path.charCodeAt(path.length - 1), + ); + + // Normalize the path + path = normalizeString(path, !isAbsolute, "/", isPosixPathSeparator); + + if (path.length === 0 && !isAbsolute) path = "."; + if (path.length > 0 && trailingSeparator) path += "/"; + + if (isAbsolute) return `/${path}`; + return path; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/normalize_glob.ts b/vendor/jsr.io/@std/path/1.0.8/posix/normalize_glob.ts new file mode 100644 index 0000000..4a049fa --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/normalize_glob.ts @@ -0,0 +1,43 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "../_common/glob_to_reg_exp.ts"; +import { normalize } from "./normalize.ts"; +import { SEPARATOR_PATTERN } from "./constants.ts"; + +export type { GlobOptions }; + +/** + * Like normalize(), but doesn't collapse "**\/.." when `globstar` is true. + * + * @example Usage + * ```ts + * import { normalizeGlob } from "@std/path/posix/normalize-glob"; + * import { assertEquals } from "@std/assert"; + * + * const path = normalizeGlob("foo/bar/../*", { globstar: true }); + * assertEquals(path, "foo/*"); + * ``` + * + * @param glob The glob to normalize. + * @param options The options to use. + * @returns The normalized path. + */ +export function normalizeGlob( + glob: string, + options: Pick = {}, +): string { + const { globstar = false }: GlobOptions = options; + if (glob.match(/\0/g)) { + throw new Error(`Glob contains invalid characters: "${glob}"`); + } + if (!globstar) { + return normalize(glob); + } + const s = SEPARATOR_PATTERN.source; + const badParentPattern = new RegExp( + `(?<=(${s}|^)\\*\\*${s})\\.\\.(?=${s}|$)`, + "g", + ); + return normalize(glob.replace(badParentPattern, "\0")).replace(/\0/g, ".."); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/parse.ts b/vendor/jsr.io/@std/path/1.0.8/posix/parse.ts new file mode 100644 index 0000000..d9e5b73 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/parse.ts @@ -0,0 +1,121 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_DOT } from "../_common/constants.ts"; +import type { ParsedPath } from "../types.ts"; +import { stripTrailingSeparators } from "../_common/strip_trailing_separators.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +export type { ParsedPath } from "../types.ts"; + +/** + * Return a `ParsedPath` object of the `path`. + * + * @example Usage + * ```ts + * import { parse } from "@std/path/posix/parse"; + * import { assertEquals } from "@std/assert"; + * + * const path = parse("/home/user/file.txt"); + * assertEquals(path, { + * root: "/", + * dir: "/home/user", + * base: "file.txt", + * ext: ".txt", + * name: "file" + * }); + * ``` + * + * @param path The path to parse. + * @returns The parsed path object. + */ +export function parse(path: string): ParsedPath { + assertPath(path); + + const ret: ParsedPath = { root: "", dir: "", base: "", ext: "", name: "" }; + if (path.length === 0) return ret; + const isAbsolute = isPosixPathSeparator(path.charCodeAt(0)); + let start: number; + if (isAbsolute) { + ret.root = "/"; + start = 1; + } else { + start = 0; + } + let startDot = -1; + let startPart = 0; + let end = -1; + let matchedSlash = true; + let i = path.length - 1; + + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + + // Get non-dir info + for (; i >= start; --i) { + const code = path.charCodeAt(i); + if (isPosixPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + if (end !== -1) { + if (startPart === 0 && isAbsolute) { + ret.base = ret.name = path.slice(1, end); + } else { + ret.base = ret.name = path.slice(startPart, end); + } + } + // Fallback to '/' in case there is no basename + ret.base = ret.base || "/"; + } else { + if (startPart === 0 && isAbsolute) { + ret.name = path.slice(1, startDot); + ret.base = path.slice(1, end); + } else { + ret.name = path.slice(startPart, startDot); + ret.base = path.slice(startPart, end); + } + ret.ext = path.slice(startDot, end); + } + + if (startPart > 0) { + ret.dir = stripTrailingSeparators( + path.slice(0, startPart - 1), + isPosixPathSeparator, + ); + } else if (isAbsolute) ret.dir = "/"; + + return ret; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/relative.ts b/vendor/jsr.io/@std/path/1.0.8/posix/relative.ts new file mode 100644 index 0000000..6c932c0 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/relative.ts @@ -0,0 +1,103 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isPosixPathSeparator } from "./_util.ts"; +import { resolve } from "./resolve.ts"; +import { assertArgs } from "../_common/relative.ts"; + +/** + * Return the relative path from `from` to `to` based on current working directory. + * + * If `from` and `to` are the same, return an empty string. + * + * @example Usage + * ```ts + * import { relative } from "@std/path/posix/relative"; + * import { assertEquals } from "@std/assert"; + * + * const path = relative("/data/orandea/test/aaa", "/data/orandea/impl/bbb"); + * assertEquals(path, "../../impl/bbb"); + * ``` + * + * @param from The path to start from. + * @param to The path to reach. + * @returns The relative path. + */ +export function relative(from: string, to: string): string { + assertArgs(from, to); + + from = resolve(from); + to = resolve(to); + + if (from === to) return ""; + + // Trim any leading backslashes + let fromStart = 1; + const fromEnd = from.length; + for (; fromStart < fromEnd; ++fromStart) { + if (!isPosixPathSeparator(from.charCodeAt(fromStart))) break; + } + const fromLen = fromEnd - fromStart; + + // Trim any leading backslashes + let toStart = 1; + const toEnd = to.length; + for (; toStart < toEnd; ++toStart) { + if (!isPosixPathSeparator(to.charCodeAt(toStart))) break; + } + const toLen = toEnd - toStart; + + // Compare paths to find the longest common path from root + const length = fromLen < toLen ? fromLen : toLen; + let lastCommonSep = -1; + let i = 0; + for (; i <= length; ++i) { + if (i === length) { + if (toLen > length) { + if (isPosixPathSeparator(to.charCodeAt(toStart + i))) { + // We get here if `from` is the exact base path for `to`. + // For example: from='/foo/bar'; to='/foo/bar/baz' + return to.slice(toStart + i + 1); + } else if (i === 0) { + // We get here if `from` is the root + // For example: from='/'; to='/foo' + return to.slice(toStart + i); + } + } else if (fromLen > length) { + if (isPosixPathSeparator(from.charCodeAt(fromStart + i))) { + // We get here if `to` is the exact base path for `from`. + // For example: from='/foo/bar/baz'; to='/foo/bar' + lastCommonSep = i; + } else if (i === 0) { + // We get here if `to` is the root. + // For example: from='/foo'; to='/' + lastCommonSep = 0; + } + } + break; + } + const fromCode = from.charCodeAt(fromStart + i); + const toCode = to.charCodeAt(toStart + i); + if (fromCode !== toCode) break; + else if (isPosixPathSeparator(fromCode)) lastCommonSep = i; + } + + let out = ""; + // Generate the relative path based on the path difference between `to` + // and `from` + for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { + if (i === fromEnd || isPosixPathSeparator(from.charCodeAt(i))) { + if (out.length === 0) out += ".."; + else out += "/.."; + } + } + + // Lastly, append the rest of the destination (`to`) path that comes after + // the common path parts + if (out.length > 0) return out + to.slice(toStart + lastCommonSep); + else { + toStart += lastCommonSep; + if (isPosixPathSeparator(to.charCodeAt(toStart))) ++toStart; + return to.slice(toStart); + } +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/resolve.ts b/vendor/jsr.io/@std/path/1.0.8/posix/resolve.ts new file mode 100644 index 0000000..64006ec --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/resolve.ts @@ -0,0 +1,69 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { normalizeString } from "../_common/normalize_string.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPosixPathSeparator } from "./_util.ts"; + +/** + * Resolves path segments into a `path`. + * + * @example Usage + * ```ts + * import { resolve } from "@std/path/posix/resolve"; + * import { assertEquals } from "@std/assert"; + * + * const path = resolve("/foo", "bar", "baz/asdf", "quux", ".."); + * assertEquals(path, "/foo/bar/baz/asdf"); + * ``` + * + * @param pathSegments The path segments to resolve. + * @returns The resolved path. + */ +export function resolve(...pathSegments: string[]): string { + let resolvedPath = ""; + let resolvedAbsolute = false; + + for (let i = pathSegments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + let path: string; + + if (i >= 0) path = pathSegments[i]!; + else { + // deno-lint-ignore no-explicit-any + const { Deno } = globalThis as any; + if (typeof Deno?.cwd !== "function") { + throw new TypeError( + "Resolved a relative path without a current working directory (CWD)", + ); + } + path = Deno.cwd(); + } + + assertPath(path); + + // Skip empty entries + if (path.length === 0) { + continue; + } + + resolvedPath = `${path}/${resolvedPath}`; + resolvedAbsolute = isPosixPathSeparator(path.charCodeAt(0)); + } + + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when Deno.cwd() fails) + + // Normalize the path + resolvedPath = normalizeString( + resolvedPath, + !resolvedAbsolute, + "/", + isPosixPathSeparator, + ); + + if (resolvedAbsolute) { + if (resolvedPath.length > 0) return `/${resolvedPath}`; + else return "/"; + } else if (resolvedPath.length > 0) return resolvedPath; + else return "."; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/to_file_url.ts b/vendor/jsr.io/@std/path/1.0.8/posix/to_file_url.ts new file mode 100644 index 0000000..0db1fff --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/to_file_url.ts @@ -0,0 +1,32 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { encodeWhitespace } from "../_common/to_file_url.ts"; +import { isAbsolute } from "./is_absolute.ts"; + +/** + * Converts a path string to a file URL. + * + * @example Usage + * ```ts + * import { toFileUrl } from "@std/path/posix/to-file-url"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(toFileUrl("/home/foo"), new URL("file:///home/foo")); + * assertEquals(toFileUrl("/home/foo bar"), new URL("file:///home/foo%20bar")); + * ``` + * + * @param path The path to convert. + * @returns The file URL. + */ +export function toFileUrl(path: string): URL { + if (!isAbsolute(path)) { + throw new TypeError(`Path must be absolute: received "${path}"`); + } + + const url = new URL("file:///"); + url.pathname = encodeWhitespace( + path.replace(/%/g, "%25").replace(/\\/g, "%5C"), + ); + return url; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/posix/to_namespaced_path.ts b/vendor/jsr.io/@std/path/1.0.8/posix/to_namespaced_path.ts new file mode 100644 index 0000000..344c0f4 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/posix/to_namespaced_path.ts @@ -0,0 +1,21 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * Converts a path to a namespaced path. This function returns the path as is on posix. + * + * @example Usage + * ```ts + * import { toNamespacedPath } from "@std/path/posix/to-namespaced-path"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(toNamespacedPath("/home/foo"), "/home/foo"); + * ``` + * + * @param path The path. + * @returns The namespaced path. + */ +export function toNamespacedPath(path: string): string { + // Non-op on posix systems + return path; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/relative.ts b/vendor/jsr.io/@std/path/1.0.8/relative.ts new file mode 100644 index 0000000..4e9446a --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/relative.ts @@ -0,0 +1,32 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { relative as posixRelative } from "./posix/relative.ts"; +import { relative as windowsRelative } from "./windows/relative.ts"; + +/** + * Return the relative path from `from` to `to` based on current working + * directory. + * + * @example Usage + * ```ts + * import { relative } from "@std/path/relative"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * const path = relative("C:\\foobar\\test\\aaa", "C:\\foobar\\impl\\bbb"); + * assertEquals(path, "..\\..\\impl\\bbb"); + * } else { + * const path = relative("/data/foobar/test/aaa", "/data/foobar/impl/bbb"); + * assertEquals(path, "../../impl/bbb"); + * } + * ``` + * + * @param from Path in current working directory. + * @param to Path in current working directory. + * @returns The relative path from `from` to `to`. + */ +export function relative(from: string, to: string): string { + return isWindows ? windowsRelative(from, to) : posixRelative(from, to); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/resolve.ts b/vendor/jsr.io/@std/path/1.0.8/resolve.ts new file mode 100644 index 0000000..b33a233 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/resolve.ts @@ -0,0 +1,32 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { resolve as posixResolve } from "./posix/resolve.ts"; +import { resolve as windowsResolve } from "./windows/resolve.ts"; + +/** + * Resolves path segments into a path. + * + * @example Usage + * ```ts + * import { resolve } from "@std/path/resolve"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(resolve("C:\\foo", "bar", "baz"), "C:\\foo\\bar\\baz"); + * assertEquals(resolve("C:\\foo", "C:\\bar", "baz"), "C:\\bar\\baz"); + * } else { + * assertEquals(resolve("/foo", "bar", "baz"), "/foo/bar/baz"); + * assertEquals(resolve("/foo", "/bar", "baz"), "/bar/baz"); + * } + * ``` + * + * @param pathSegments Path segments to process to path. + * @returns The resolved path. + */ +export function resolve(...pathSegments: string[]): string { + return isWindows + ? windowsResolve(...pathSegments) + : posixResolve(...pathSegments); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/to_file_url.ts b/vendor/jsr.io/@std/path/1.0.8/to_file_url.ts new file mode 100644 index 0000000..5990e92 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/to_file_url.ts @@ -0,0 +1,30 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { toFileUrl as posixToFileUrl } from "./posix/to_file_url.ts"; +import { toFileUrl as windowsToFileUrl } from "./windows/to_file_url.ts"; + +/** + * Converts a path string to a file URL. + * + * @example Usage + * ```ts + * import { toFileUrl } from "@std/path/to-file-url"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(toFileUrl("\\home\\foo"), new URL("file:///home/foo")); + * assertEquals(toFileUrl("C:\\Users\\foo"), new URL("file:///C:/Users/foo")); + * assertEquals(toFileUrl("\\\\127.0.0.1\\home\\foo"), new URL("file://127.0.0.1/home/foo")); + * } else { + * assertEquals(toFileUrl("/home/foo"), new URL("file:///home/foo")); + * } + * ``` + * + * @param path Path to convert to file URL. + * @returns The file URL equivalent to the path. + */ +export function toFileUrl(path: string): URL { + return isWindows ? windowsToFileUrl(path) : posixToFileUrl(path); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/to_namespaced_path.ts b/vendor/jsr.io/@std/path/1.0.8/to_namespaced_path.ts new file mode 100644 index 0000000..d255217 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/to_namespaced_path.ts @@ -0,0 +1,31 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { isWindows } from "./_os.ts"; +import { toNamespacedPath as posixToNamespacedPath } from "./posix/to_namespaced_path.ts"; +import { toNamespacedPath as windowsToNamespacedPath } from "./windows/to_namespaced_path.ts"; + +/** + * Resolves path to a namespace path. This is a no-op on + * non-windows systems. + * + * @example Usage + * ```ts + * import { toNamespacedPath } from "@std/path/to-namespaced-path"; + * import { assertEquals } from "@std/assert"; + * + * if (Deno.build.os === "windows") { + * assertEquals(toNamespacedPath("C:\\foo\\bar"), "\\\\?\\C:\\foo\\bar"); + * } else { + * assertEquals(toNamespacedPath("/foo/bar"), "/foo/bar"); + * } + * ``` + * + * @param path Path to resolve to namespace. + * @returns The resolved namespace path. + */ +export function toNamespacedPath(path: string): string { + return isWindows + ? windowsToNamespacedPath(path) + : posixToNamespacedPath(path); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/types.ts b/vendor/jsr.io/@std/path/1.0.8/types.ts new file mode 100644 index 0000000..9b90ae6 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/types.ts @@ -0,0 +1,40 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * A parsed path object generated by path.parse() or consumed by path.format(). + * + * @example + * ```ts + * import { parse } from "@std/path"; + * + * const parsedPathObj = parse("c:\\path\\dir\\index.html"); + * parsedPathObj.root; // "c:\\" + * parsedPathObj.dir; // "c:\\path\\dir" + * parsedPathObj.base; // "index.html" + * parsedPathObj.ext; // ".html" + * parsedPathObj.name; // "index" + * ``` + */ +export interface ParsedPath { + /** + * The root of the path such as '/' or 'c:\' + */ + root: string; + /** + * The full directory path of the parent such as '/home/user/dir' or 'c:\path\dir' + */ + dir: string; + /** + * The file name including extension (if any) such as 'index.html' + */ + base: string; + /** + * The file extension (if any) such as '.html' + */ + ext: string; + /** + * The file name without extension (if any) such as 'index' + */ + name: string; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/_util.ts b/vendor/jsr.io/@std/path/1.0.8/windows/_util.ts new file mode 100644 index 0000000..d4f8f8b --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/_util.ts @@ -0,0 +1,28 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// Copyright the Browserify authors. MIT License. +// Ported from https://github.com/browserify/path-browserify/ +// This module is browser compatible. + +import { + CHAR_BACKWARD_SLASH, + CHAR_FORWARD_SLASH, + CHAR_LOWERCASE_A, + CHAR_LOWERCASE_Z, + CHAR_UPPERCASE_A, + CHAR_UPPERCASE_Z, +} from "../_common/constants.ts"; + +export function isPosixPathSeparator(code: number): boolean { + return code === CHAR_FORWARD_SLASH; +} + +export function isPathSeparator(code: number): boolean { + return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; +} + +export function isWindowsDeviceRoot(code: number): boolean { + return ( + (code >= CHAR_LOWERCASE_A && code <= CHAR_LOWERCASE_Z) || + (code >= CHAR_UPPERCASE_A && code <= CHAR_UPPERCASE_Z) + ); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/basename.ts b/vendor/jsr.io/@std/path/1.0.8/windows/basename.ts new file mode 100644 index 0000000..11dd769 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/basename.ts @@ -0,0 +1,51 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + assertArgs, + lastPathSegment, + stripSuffix, +} from "../_common/basename.ts"; +import { CHAR_COLON } from "../_common/constants.ts"; +import { stripTrailingSeparators } from "../_common/strip_trailing_separators.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Return the last portion of a `path`. + * Trailing directory separators are ignored, and optional suffix is removed. + * + * @example Usage + * ```ts + * import { basename } from "@std/path/windows/basename"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(basename("C:\\user\\Documents\\"), "Documents"); + * assertEquals(basename("C:\\user\\Documents\\image.png"), "image.png"); + * assertEquals(basename("C:\\user\\Documents\\image.png", ".png"), "image"); + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `basename` from `@std/path/windows/unstable-basename`. + * + * @param path The path to extract the name from. + * @param suffix The suffix to remove from extracted name. + * @returns The extracted name. + */ +export function basename(path: string, suffix = ""): string { + assertArgs(path, suffix); + + // Check for a drive letter prefix so as not to mistake the following + // path separator as an extra separator at the end of the path that can be + // disregarded + let start = 0; + if (path.length >= 2) { + const drive = path.charCodeAt(0); + if (isWindowsDeviceRoot(drive)) { + if (path.charCodeAt(1) === CHAR_COLON) start = 2; + } + } + + const lastSegment = lastPathSegment(path, isPathSeparator, start); + const strippedSegment = stripTrailingSeparators(lastSegment, isPathSeparator); + return suffix ? stripSuffix(strippedSegment, suffix) : strippedSegment; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/constants.ts b/vendor/jsr.io/@std/path/1.0.8/windows/constants.ts new file mode 100644 index 0000000..24ea82a --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/constants.ts @@ -0,0 +1,15 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * The character used to separate entries in the PATH environment variable. + */ +export const DELIMITER = ";" as const; +/** + * The character used to separate components of a file path. + */ +export const SEPARATOR = "\\" as const; +/** + * A regular expression that matches one or more path separators. + */ +export const SEPARATOR_PATTERN = /[\\/]+/; diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/dirname.ts b/vendor/jsr.io/@std/path/1.0.8/windows/dirname.ts new file mode 100644 index 0000000..d70623d --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/dirname.ts @@ -0,0 +1,117 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/dirname.ts"; +import { CHAR_COLON } from "../_common/constants.ts"; +import { stripTrailingSeparators } from "../_common/strip_trailing_separators.ts"; +import { + isPathSeparator, + isPosixPathSeparator, + isWindowsDeviceRoot, +} from "./_util.ts"; + +/** + * Return the directory path of a `path`. + * + * @example Usage + * ```ts + * import { dirname } from "@std/path/windows/dirname"; + * import { assertEquals } from "@std/assert"; + * + * const dir = dirname("C:\\foo\\bar\\baz.ext"); + * assertEquals(dir, "C:\\foo\\bar"); + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `dirname` from `@std/path/windows/unstable-dirname`. + * + * @param path The path to get the directory from. + * @returns The directory path. + */ +export function dirname(path: string): string { + assertArg(path); + + const len = path.length; + let rootEnd = -1; + let end = -1; + let matchedSlash = true; + let offset = 0; + const code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + rootEnd = offset = 1; + + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + return path; + } + if (j !== last) { + // We matched a UNC root with leftovers + + // Offset by 1 to include the separator after the UNC root to + // treat it as a "normal root" on top of a (UNC) root + rootEnd = offset = j + 1; + } + } + } + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + rootEnd = offset = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) rootEnd = offset = 3; + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator, exit early to avoid + // unnecessary work + return path; + } + + for (let i = len - 1; i >= offset; --i) { + if (isPathSeparator(path.charCodeAt(i))) { + if (!matchedSlash) { + end = i; + break; + } + } else { + // We saw the first non-path separator + matchedSlash = false; + } + } + + if (end === -1) { + if (rootEnd === -1) return "."; + else end = rootEnd; + } + return stripTrailingSeparators(path.slice(0, end), isPosixPathSeparator); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/extname.ts b/vendor/jsr.io/@std/path/1.0.8/windows/extname.ts new file mode 100644 index 0000000..79179b4 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/extname.ts @@ -0,0 +1,89 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON, CHAR_DOT } from "../_common/constants.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Return the extension of the `path` with leading period. + * + * @example Usage + * ```ts + * import { extname } from "@std/path/windows/extname"; + * import { assertEquals } from "@std/assert"; + * + * const ext = extname("file.ts"); + * assertEquals(ext, ".ts"); + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `extname` from `@std/path/windows/unstable-extname`. + * + * @param path The path to get the extension from. + * @returns The extension of the `path`. + */ +export function extname(path: string): string { + assertPath(path); + + let start = 0; + let startDot = -1; + let startPart = 0; + let end = -1; + let matchedSlash = true; + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + + // Check for a drive letter prefix so as not to mistake the following + // path separator as an extra separator at the end of the path that can be + // disregarded + + if ( + path.length >= 2 && + path.charCodeAt(1) === CHAR_COLON && + isWindowsDeviceRoot(path.charCodeAt(0)) + ) { + start = startPart = 2; + } + + for (let i = path.length - 1; i >= start; --i) { + const code = path.charCodeAt(i); + if (isPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + return ""; + } + return path.slice(startDot, end); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/format.ts b/vendor/jsr.io/@std/path/1.0.8/windows/format.ts new file mode 100644 index 0000000..93865f8 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/format.ts @@ -0,0 +1,31 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { _format, assertArg } from "../_common/format.ts"; +import type { ParsedPath } from "../types.ts"; + +/** + * Generate a path from `ParsedPath` object. + * + * @example Usage + * ```ts + * import { format } from "@std/path/windows/format"; + * import { assertEquals } from "@std/assert"; + * + * const path = format({ + * root: "C:\\", + * dir: "C:\\path\\dir", + * base: "file.txt", + * ext: ".txt", + * name: "file" + * }); + * assertEquals(path, "C:\\path\\dir\\file.txt"); + * ``` + * + * @param pathObject The path object to format. + * @returns The formatted path. + */ +export function format(pathObject: Partial): string { + assertArg(pathObject); + return _format("\\", pathObject); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/from_file_url.ts b/vendor/jsr.io/@std/path/1.0.8/windows/from_file_url.ts new file mode 100644 index 0000000..db71483 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/from_file_url.ts @@ -0,0 +1,34 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/from_file_url.ts"; + +/** + * Converts a file URL to a path string. + * + * @example Usage + * ```ts + * import { fromFileUrl } from "@std/path/windows/from-file-url"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(fromFileUrl("file:///home/foo"), "\\home\\foo"); + * assertEquals(fromFileUrl("file:///C:/Users/foo"), "C:\\Users\\foo"); + * assertEquals(fromFileUrl("file://localhost/home/foo"), "\\home\\foo"); + * ``` + * + * @param url The file URL to convert. + * @returns The path string. + */ +export function fromFileUrl(url: URL | string): string { + url = assertArg(url); + let path = decodeURIComponent( + url.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25"), + ).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\"); + if (url.hostname !== "") { + // Note: The `URL` implementation guarantees that the drive letter and + // hostname are mutually exclusive. Otherwise it would not have been valid + // to append the hostname and path like this. + path = `\\\\${url.hostname}${path}`; + } + return path; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/glob_to_regexp.ts b/vendor/jsr.io/@std/path/1.0.8/windows/glob_to_regexp.ts new file mode 100644 index 0000000..83a43f4 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/glob_to_regexp.ts @@ -0,0 +1,92 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + _globToRegExp, + type GlobConstants, + type GlobOptions, +} from "../_common/glob_to_reg_exp.ts"; + +const constants: GlobConstants = { + sep: "(?:\\\\|/)+", + sepMaybe: "(?:\\\\|/)*", + seps: ["\\", "/"], + globstar: "(?:[^\\\\/]*(?:\\\\|/|$)+)*", + wildcard: "[^\\\\/]*", + escapePrefix: "`", +}; + +/** Convert a glob string to a regular expression. + * + * Tries to match bash glob expansion as closely as possible. + * + * Basic glob syntax: + * - `*` - Matches everything without leaving the path segment. + * - `?` - Matches any single character. + * - `{foo,bar}` - Matches `foo` or `bar`. + * - `[abcd]` - Matches `a`, `b`, `c` or `d`. + * - `[a-d]` - Matches `a`, `b`, `c` or `d`. + * - `[!abcd]` - Matches any single character besides `a`, `b`, `c` or `d`. + * - `[[::]]` - Matches any character belonging to ``. + * - `[[:alnum:]]` - Matches any digit or letter. + * - `[[:digit:]abc]` - Matches any digit, `a`, `b` or `c`. + * - See https://facelessuser.github.io/wcmatch/glob/#posix-character-classes + * for a complete list of supported character classes. + * - `\` - Escapes the next character for an `os` other than `"windows"`. + * - \` - Escapes the next character for `os` set to `"windows"`. + * - `/` - Path separator. + * - `\` - Additional path separator only for `os` set to `"windows"`. + * + * Extended syntax: + * - Requires `{ extended: true }`. + * - `?(foo|bar)` - Matches 0 or 1 instance of `{foo,bar}`. + * - `@(foo|bar)` - Matches 1 instance of `{foo,bar}`. They behave the same. + * - `*(foo|bar)` - Matches _n_ instances of `{foo,bar}`. + * - `+(foo|bar)` - Matches _n > 0_ instances of `{foo,bar}`. + * - `!(foo|bar)` - Matches anything other than `{foo,bar}`. + * - See https://www.linuxjournal.com/content/bash-extended-globbing. + * + * Globstar syntax: + * - Requires `{ globstar: true }`. + * - `**` - Matches any number of any path segments. + * - Must comprise its entire path segment in the provided glob. + * - See https://www.linuxjournal.com/content/globstar-new-bash-globbing-option. + * + * Note the following properties: + * - The generated `RegExp` is anchored at both start and end. + * - Repeating and trailing separators are tolerated. Trailing separators in the + * provided glob have no meaning and are discarded. + * - Absolute globs will only match absolute paths, etc. + * - Empty globs will match nothing. + * - Any special glob syntax must be contained to one path segment. For example, + * `?(foo|bar/baz)` is invalid. The separator will take precedence and the + * first segment ends with an unclosed group. + * - If a path segment ends with unclosed groups or a dangling escape prefix, a + * parse error has occurred. Every character for that segment is taken + * literally in this event. + * + * Limitations: + * - A negative group like `!(foo|bar)` will wrongly be converted to a negative + * look-ahead followed by a wildcard. This means that `!(foo).js` will wrongly + * fail to match `foobar.js`, even though `foobar` is not `foo`. Effectively, + * `!(foo|bar)` is treated like `!(@(foo|bar)*)`. This will work correctly if + * the group occurs not nested at the end of the segment. + * + * @example Usage + * ```ts + * import { globToRegExp } from "@std/path/windows/glob-to-regexp"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(globToRegExp("*.js"), /^[^\\/]*\.js(?:\\|\/)*$/); + * ``` + * + * @param glob Glob string to convert. + * @param options Conversion options. + * @returns The regular expression equivalent to the glob. + */ +export function globToRegExp( + glob: string, + options: GlobOptions = {}, +): RegExp { + return _globToRegExp(constants, glob, options); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/is_absolute.ts b/vendor/jsr.io/@std/path/1.0.8/windows/is_absolute.ts new file mode 100644 index 0000000..53408e8 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/is_absolute.ts @@ -0,0 +1,40 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON } from "../_common/constants.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Verifies whether provided path is absolute. + * + * @example Usage + * ```ts + * import { isAbsolute } from "@std/path/windows/is-absolute"; + * import { assert, assertFalse } from "@std/assert"; + * + * assert(isAbsolute("C:\\foo\\bar")); + * assertFalse(isAbsolute("..\\baz")); + * ``` + * + * @param path The path to verify. + * @returns `true` if the path is absolute, `false` otherwise. + */ +export function isAbsolute(path: string): boolean { + assertPath(path); + + const len = path.length; + if (len === 0) return false; + + const code = path.charCodeAt(0); + if (isPathSeparator(code)) { + return true; + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (len > 2 && path.charCodeAt(1) === CHAR_COLON) { + if (isPathSeparator(path.charCodeAt(2))) return true; + } + } + return false; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/join.ts b/vendor/jsr.io/@std/path/1.0.8/windows/join.ts new file mode 100644 index 0000000..77fb846 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/join.ts @@ -0,0 +1,75 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertPath } from "../_common/assert_path.ts"; +import { isPathSeparator } from "./_util.ts"; +import { normalize } from "./normalize.ts"; + +/** + * Join all given a sequence of `paths`,then normalizes the resulting path. + * + * @example Usage + * ```ts + * import { join } from "@std/path/windows/join"; + * import { assertEquals } from "@std/assert"; + * + * const joined = join("C:\\foo", "bar", "baz\\.."); + * assertEquals(joined, "C:\\foo\\bar"); + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `join` from `@std/path/windows/unstable-join`. + * + * @param paths The paths to join. + * @returns The joined path. + */ +export function join(...paths: string[]): string { + paths.forEach((path) => assertPath(path)); + paths = paths.filter((path) => path.length > 0); + if (paths.length === 0) return "."; + + // Make sure that the joined path doesn't start with two slashes, because + // normalize() will mistake it for an UNC path then. + // + // This step is skipped when it is very clear that the user actually + // intended to point at an UNC path. This is assumed when the first + // non-empty string arguments starts with exactly two slashes followed by + // at least one more non-slash character. + // + // Note that for normalize() to treat a path as an UNC path it needs to + // have at least 2 components, so we don't filter for that here. + // This means that the user can use join to construct UNC paths from + // a server name and a share name; for example: + // path.join('//server', 'share') -> '\\\\server\\share\\' + let needsReplace = true; + let slashCount = 0; + const firstPart = paths[0]!; + if (isPathSeparator(firstPart.charCodeAt(0))) { + ++slashCount; + const firstLen = firstPart.length; + if (firstLen > 1) { + if (isPathSeparator(firstPart.charCodeAt(1))) { + ++slashCount; + if (firstLen > 2) { + if (isPathSeparator(firstPart.charCodeAt(2))) ++slashCount; + else { + // We matched a UNC path in the first part + needsReplace = false; + } + } + } + } + } + let joined = paths.join("\\"); + if (needsReplace) { + // Find any more consecutive slashes we need to replace + for (; slashCount < joined.length; ++slashCount) { + if (!isPathSeparator(joined.charCodeAt(slashCount))) break; + } + + // Replace the slashes if needed + if (slashCount >= 2) joined = `\\${joined.slice(slashCount)}`; + } + + return normalize(joined); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/join_globs.ts b/vendor/jsr.io/@std/path/1.0.8/windows/join_globs.ts new file mode 100644 index 0000000..1b02854 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/join_globs.ts @@ -0,0 +1,46 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "../_common/glob_to_reg_exp.ts"; +import { join } from "./join.ts"; +import { SEPARATOR } from "./constants.ts"; +import { normalizeGlob } from "./normalize_glob.ts"; + +export type { GlobOptions }; + +/** + * Like join(), but doesn't collapse "**\/.." when `globstar` is true. + * + * @example Usage + * + * ```ts + * import { joinGlobs } from "@std/path/windows/join-globs"; + * import { assertEquals } from "@std/assert"; + * + * const joined = joinGlobs(["foo", "**", "bar"], { globstar: true }); + * assertEquals(joined, "foo\\**\\bar"); + * ``` + * + * @param globs The globs to join. + * @param options The options for glob pattern. + * @returns The joined glob pattern. + */ +export function joinGlobs( + globs: string[], + options: Pick = {}, +): string { + const { globstar = false } = options; + if (!globstar || globs.length === 0) { + return join(...globs); + } + let joined: string | undefined; + for (const glob of globs) { + const path = glob; + if (path.length > 0) { + if (!joined) joined = path; + else joined += `${SEPARATOR}${path}`; + } + } + if (!joined) return "."; + return normalizeGlob(joined, { globstar }); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/normalize.ts b/vendor/jsr.io/@std/path/1.0.8/windows/normalize.ts new file mode 100644 index 0000000..0c9f244 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/normalize.ts @@ -0,0 +1,135 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { assertArg } from "../_common/normalize.ts"; +import { CHAR_COLON } from "../_common/constants.ts"; +import { normalizeString } from "../_common/normalize_string.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Normalize the `path`, resolving `'..'` and `'.'` segments. + * Note that resolving these segments does not necessarily mean that all will be eliminated. + * A `'..'` at the top-level will be preserved, and an empty path is canonically `'.'`. + * + * @example Usage + * ```ts + * import { normalize } from "@std/path/windows/normalize"; + * import { assertEquals } from "@std/assert"; + * + * const normalized = normalize("C:\\foo\\..\\bar"); + * assertEquals(normalized, "C:\\bar"); + * ``` + * + * Note: If you are working with file URLs, + * use the new version of `normalize` from `@std/path/windows/unstable-normalize`. + * + * @param path The path to normalize + * @returns The normalized path + */ +export function normalize(path: string): string { + assertArg(path); + + const len = path.length; + let rootEnd = 0; + let device: string | undefined; + let isAbsolute = false; + const code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + // If we started with a separator, we know we at least have an absolute + // path of some kind (UNC or otherwise) + isAbsolute = true; + + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + const firstPart = path.slice(last, j); + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + // Return the normalized version of the UNC root since there + // is nothing left to process + + return `\\\\${firstPart}\\${path.slice(last)}\\`; + } else if (j !== last) { + // We matched a UNC root with leftovers + + device = `\\\\${firstPart}\\${path.slice(last, j)}`; + rootEnd = j; + } + } + } + } else { + rootEnd = 1; + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + device = path.slice(0, 2); + rootEnd = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) { + // Treat separator following drive name as an absolute path + // indicator + isAbsolute = true; + rootEnd = 3; + } + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator, exit early to avoid unnecessary + // work + return "\\"; + } + + let tail: string; + if (rootEnd < len) { + tail = normalizeString( + path.slice(rootEnd), + !isAbsolute, + "\\", + isPathSeparator, + ); + } else { + tail = ""; + } + if (tail.length === 0 && !isAbsolute) tail = "."; + if (tail.length > 0 && isPathSeparator(path.charCodeAt(len - 1))) { + tail += "\\"; + } + if (device === undefined) { + if (isAbsolute) { + if (tail.length > 0) return `\\${tail}`; + else return "\\"; + } + return tail; + } else if (isAbsolute) { + if (tail.length > 0) return `${device}\\${tail}`; + else return `${device}\\`; + } + return device + tail; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/normalize_glob.ts b/vendor/jsr.io/@std/path/1.0.8/windows/normalize_glob.ts new file mode 100644 index 0000000..263bf51 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/normalize_glob.ts @@ -0,0 +1,43 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import type { GlobOptions } from "../_common/glob_to_reg_exp.ts"; +import { normalize } from "./normalize.ts"; +import { SEPARATOR_PATTERN } from "./constants.ts"; + +export type { GlobOptions }; + +/** + * Like normalize(), but doesn't collapse "**\/.." when `globstar` is true. + * + * @example Usage + * ```ts + * import { normalizeGlob } from "@std/path/windows/normalize-glob"; + * import { assertEquals } from "@std/assert"; + * + * const normalized = normalizeGlob("**\\foo\\..\\bar", { globstar: true }); + * assertEquals(normalized, "**\\bar"); + * ``` + * + * @param glob The glob pattern to normalize. + * @param options The options for glob pattern. + * @returns The normalized glob pattern. + */ +export function normalizeGlob( + glob: string, + options: Pick = {}, +): string { + const { globstar = false }: GlobOptions = options; + if (glob.match(/\0/g)) { + throw new Error(`Glob contains invalid characters: "${glob}"`); + } + if (!globstar) { + return normalize(glob); + } + const s = SEPARATOR_PATTERN.source; + const badParentPattern = new RegExp( + `(?<=(${s}|^)\\*\\*${s})\\.\\.(?=${s}|$)`, + "g", + ); + return normalize(glob.replace(badParentPattern, "\0")).replace(/\0/g, ".."); +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/parse.ts b/vendor/jsr.io/@std/path/1.0.8/windows/parse.ts new file mode 100644 index 0000000..8ad161f --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/parse.ts @@ -0,0 +1,184 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON, CHAR_DOT } from "../_common/constants.ts"; +import type { ParsedPath } from "../types.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +export type { ParsedPath } from "../types.ts"; + +/** + * Return a `ParsedPath` object of the `path`. + * + * @example Usage + * ```ts + * import { parse } from "@std/path/windows/parse"; + * import { assertEquals } from "@std/assert"; + * + * const parsed = parse("C:\\foo\\bar\\baz.ext"); + * assertEquals(parsed, { + * root: "C:\\", + * dir: "C:\\foo\\bar", + * base: "baz.ext", + * ext: ".ext", + * name: "baz", + * }); + * ``` + * + * @param path The path to parse. + * @returns The `ParsedPath` object. + */ +export function parse(path: string): ParsedPath { + assertPath(path); + + const ret: ParsedPath = { root: "", dir: "", base: "", ext: "", name: "" }; + + const len = path.length; + if (len === 0) return ret; + + let rootEnd = 0; + let code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + rootEnd = 1; + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + + rootEnd = j; + } else if (j !== last) { + // We matched a UNC root with leftovers + + rootEnd = j + 1; + } + } + } + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + rootEnd = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) { + if (len === 3) { + // `path` contains just a drive root, exit early to avoid + // unnecessary work + ret.root = ret.dir = path; + ret.base = "\\"; + return ret; + } + rootEnd = 3; + } + } else { + // `path` contains just a relative drive root, exit early to avoid + // unnecessary work + ret.root = ret.dir = path; + return ret; + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator, exit early to avoid + // unnecessary work + ret.root = ret.dir = path; + ret.base = "\\"; + return ret; + } + + if (rootEnd > 0) ret.root = path.slice(0, rootEnd); + + let startDot = -1; + let startPart = rootEnd; + let end = -1; + let matchedSlash = true; + let i = path.length - 1; + + // Track the state of characters (if any) we see before our first dot and + // after any path separator we find + let preDotState = 0; + + // Get non-dir info + for (; i >= rootEnd; --i) { + code = path.charCodeAt(i); + if (isPathSeparator(code)) { + // If we reached a path separator that was not part of a set of path + // separators at the end of the string, stop now + if (!matchedSlash) { + startPart = i + 1; + break; + } + continue; + } + if (end === -1) { + // We saw the first non-path separator, mark this as the end of our + // extension + matchedSlash = false; + end = i + 1; + } + if (code === CHAR_DOT) { + // If this is our first dot, mark it as the start of our extension + if (startDot === -1) startDot = i; + else if (preDotState !== 1) preDotState = 1; + } else if (startDot !== -1) { + // We saw a non-dot and non-path separator before our dot, so we should + // have a good chance at having a non-empty extension + preDotState = -1; + } + } + + if ( + startDot === -1 || + end === -1 || + // We saw a non-dot character immediately before the dot + preDotState === 0 || + // The (right-most) trimmed path component is exactly '..' + (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) + ) { + if (end !== -1) { + ret.base = ret.name = path.slice(startPart, end); + } + } else { + ret.name = path.slice(startPart, startDot); + ret.base = path.slice(startPart, end); + ret.ext = path.slice(startDot, end); + } + + // Fallback to '\' in case there is no basename + ret.base = ret.base || "\\"; + + // If the directory is the root, use the entire root as the `dir` including + // the trailing slash if any (`C:\abc` -> `C:\`). Otherwise, strip out the + // trailing slash (`C:\abc\def` -> `C:\abc`). + if (startPart > 0 && startPart !== rootEnd) { + ret.dir = path.slice(0, startPart - 1); + } else ret.dir = ret.root; + + return ret; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/relative.ts b/vendor/jsr.io/@std/path/1.0.8/windows/relative.ts new file mode 100644 index 0000000..cba3ece --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/relative.ts @@ -0,0 +1,128 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_BACKWARD_SLASH } from "../_common/constants.ts"; +import { resolve } from "./resolve.ts"; +import { assertArgs } from "../_common/relative.ts"; + +/** + * Return the relative path from `from` to `to` based on current working directory. + * + * An example in windws, for instance: + * from = 'C:\\orandea\\test\\aaa' + * to = 'C:\\orandea\\impl\\bbb' + * The output of the function should be: '..\\..\\impl\\bbb' + * + * @example Usage + * ```ts + * import { relative } from "@std/path/windows/relative"; + * import { assertEquals } from "@std/assert"; + * + * const relativePath = relative("C:\\foobar\\test\\aaa", "C:\\foobar\\impl\\bbb"); + * assertEquals(relativePath, "..\\..\\impl\\bbb"); + * ``` + * + * @param from The path from which to calculate the relative path + * @param to The path to which to calculate the relative path + * @returns The relative path from `from` to `to` + */ +export function relative(from: string, to: string): string { + assertArgs(from, to); + + const fromOrig = resolve(from); + const toOrig = resolve(to); + + if (fromOrig === toOrig) return ""; + + from = fromOrig.toLowerCase(); + to = toOrig.toLowerCase(); + + if (from === to) return ""; + + // Trim any leading backslashes + let fromStart = 0; + let fromEnd = from.length; + for (; fromStart < fromEnd; ++fromStart) { + if (from.charCodeAt(fromStart) !== CHAR_BACKWARD_SLASH) break; + } + // Trim trailing backslashes (applicable to UNC paths only) + for (; fromEnd - 1 > fromStart; --fromEnd) { + if (from.charCodeAt(fromEnd - 1) !== CHAR_BACKWARD_SLASH) break; + } + const fromLen = fromEnd - fromStart; + + // Trim any leading backslashes + let toStart = 0; + let toEnd = to.length; + for (; toStart < toEnd; ++toStart) { + if (to.charCodeAt(toStart) !== CHAR_BACKWARD_SLASH) break; + } + // Trim trailing backslashes (applicable to UNC paths only) + for (; toEnd - 1 > toStart; --toEnd) { + if (to.charCodeAt(toEnd - 1) !== CHAR_BACKWARD_SLASH) break; + } + const toLen = toEnd - toStart; + + // Compare paths to find the longest common path from root + const length = fromLen < toLen ? fromLen : toLen; + let lastCommonSep = -1; + let i = 0; + for (; i <= length; ++i) { + if (i === length) { + if (toLen > length) { + if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) { + // We get here if `from` is the exact base path for `to`. + // For example: from='C:\\foo\\bar'; to='C:\\foo\\bar\\baz' + return toOrig.slice(toStart + i + 1); + } else if (i === 2) { + // We get here if `from` is the device root. + // For example: from='C:\\'; to='C:\\foo' + return toOrig.slice(toStart + i); + } + } + if (fromLen > length) { + if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) { + // We get here if `to` is the exact base path for `from`. + // For example: from='C:\\foo\\bar'; to='C:\\foo' + lastCommonSep = i; + } else if (i === 2) { + // We get here if `to` is the device root. + // For example: from='C:\\foo\\bar'; to='C:\\' + lastCommonSep = 3; + } + } + break; + } + const fromCode = from.charCodeAt(fromStart + i); + const toCode = to.charCodeAt(toStart + i); + if (fromCode !== toCode) break; + else if (fromCode === CHAR_BACKWARD_SLASH) lastCommonSep = i; + } + + // We found a mismatch before the first common path separator was seen, so + // return the original `to`. + if (i !== length && lastCommonSep === -1) { + return toOrig; + } + + let out = ""; + if (lastCommonSep === -1) lastCommonSep = 0; + // Generate the relative path based on the path difference between `to` and + // `from` + for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) { + if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) { + if (out.length === 0) out += ".."; + else out += "\\.."; + } + } + + // Lastly, append the rest of the destination (`to`) path that comes after + // the common path parts + if (out.length > 0) { + return out + toOrig.slice(toStart + lastCommonSep, toEnd); + } else { + toStart += lastCommonSep; + if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH) ++toStart; + return toOrig.slice(toStart, toEnd); + } +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/resolve.ts b/vendor/jsr.io/@std/path/1.0.8/windows/resolve.ts new file mode 100644 index 0000000..549346f --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/resolve.ts @@ -0,0 +1,176 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { CHAR_COLON } from "../_common/constants.ts"; +import { normalizeString } from "../_common/normalize_string.ts"; +import { assertPath } from "../_common/assert_path.ts"; +import { isPathSeparator, isWindowsDeviceRoot } from "./_util.ts"; + +/** + * Resolves path segments into a `path`. + * + * @example Usage + * ```ts + * import { resolve } from "@std/path/windows/resolve"; + * import { assertEquals } from "@std/assert"; + * + * const resolved = resolve("C:\\foo\\bar", "..\\baz"); + * assertEquals(resolved, "C:\\foo\\baz"); + * ``` + * + * @param pathSegments The path segments to process to path + * @returns The resolved path + */ +export function resolve(...pathSegments: string[]): string { + let resolvedDevice = ""; + let resolvedTail = ""; + let resolvedAbsolute = false; + + for (let i = pathSegments.length - 1; i >= -1; i--) { + let path: string; + // deno-lint-ignore no-explicit-any + const { Deno } = globalThis as any; + if (i >= 0) { + path = pathSegments[i]!; + } else if (!resolvedDevice) { + if (typeof Deno?.cwd !== "function") { + throw new TypeError( + "Resolved a drive-letter-less path without a current working directory (CWD)", + ); + } + path = Deno.cwd(); + } else { + if ( + typeof Deno?.env?.get !== "function" || typeof Deno?.cwd !== "function" + ) { + throw new TypeError( + "Resolved a relative path without a current working directory (CWD)", + ); + } + path = Deno.cwd(); + + // Verify that a cwd was found and that it actually points + // to our drive. If not, default to the drive's root. + if ( + path === undefined || + path.slice(0, 3).toLowerCase() !== `${resolvedDevice.toLowerCase()}\\` + ) { + path = `${resolvedDevice}\\`; + } + } + + assertPath(path); + + const len = path.length; + + // Skip empty entries + if (len === 0) continue; + + let rootEnd = 0; + let device = ""; + let isAbsolute = false; + const code = path.charCodeAt(0); + + // Try to match a root + if (len > 1) { + if (isPathSeparator(code)) { + // Possible UNC root + + // If we started with a separator, we know we at least have an + // absolute path of some kind (UNC or otherwise) + isAbsolute = true; + + if (isPathSeparator(path.charCodeAt(1))) { + // Matched double path separator at beginning + let j = 2; + let last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + const firstPart = path.slice(last, j); + // Matched! + last = j; + // Match 1 or more path separators + for (; j < len; ++j) { + if (!isPathSeparator(path.charCodeAt(j))) break; + } + if (j < len && j !== last) { + // Matched! + last = j; + // Match 1 or more non-path separators + for (; j < len; ++j) { + if (isPathSeparator(path.charCodeAt(j))) break; + } + if (j === len) { + // We matched a UNC root only + device = `\\\\${firstPart}\\${path.slice(last)}`; + rootEnd = j; + } else if (j !== last) { + // We matched a UNC root with leftovers + + device = `\\\\${firstPart}\\${path.slice(last, j)}`; + rootEnd = j; + } + } + } + } else { + rootEnd = 1; + } + } else if (isWindowsDeviceRoot(code)) { + // Possible device root + + if (path.charCodeAt(1) === CHAR_COLON) { + device = path.slice(0, 2); + rootEnd = 2; + if (len > 2) { + if (isPathSeparator(path.charCodeAt(2))) { + // Treat separator following drive name as an absolute path + // indicator + isAbsolute = true; + rootEnd = 3; + } + } + } + } + } else if (isPathSeparator(code)) { + // `path` contains just a path separator + rootEnd = 1; + isAbsolute = true; + } + + if ( + device.length > 0 && + resolvedDevice.length > 0 && + device.toLowerCase() !== resolvedDevice.toLowerCase() + ) { + // This path points to another device so it is not applicable + continue; + } + + if (resolvedDevice.length === 0 && device.length > 0) { + resolvedDevice = device; + } + if (!resolvedAbsolute) { + resolvedTail = `${path.slice(rootEnd)}\\${resolvedTail}`; + resolvedAbsolute = isAbsolute; + } + + if (resolvedAbsolute && resolvedDevice.length > 0) break; + } + + // At this point the path should be resolved to a full absolute path, + // but handle relative paths to be safe (might happen when Deno.cwd() + // fails) + + // Normalize the tail path + resolvedTail = normalizeString( + resolvedTail, + !resolvedAbsolute, + "\\", + isPathSeparator, + ); + + return resolvedDevice + (resolvedAbsolute ? "\\" : "") + resolvedTail || "."; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/to_file_url.ts b/vendor/jsr.io/@std/path/1.0.8/windows/to_file_url.ts new file mode 100644 index 0000000..e991c1e --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/to_file_url.ts @@ -0,0 +1,38 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { encodeWhitespace } from "../_common/to_file_url.ts"; +import { isAbsolute } from "./is_absolute.ts"; + +/** + * Converts a path string to a file URL. + * + * @example Usage + * ```ts + * import { toFileUrl } from "@std/path/windows/to-file-url"; + * import { assertEquals } from "@std/assert"; + * + * assertEquals(toFileUrl("\\home\\foo"), new URL("file:///home/foo")); + * assertEquals(toFileUrl("C:\\Users\\foo"), new URL("file:///C:/Users/foo")); + * assertEquals(toFileUrl("\\\\127.0.0.1\\home\\foo"), new URL("file://127.0.0.1/home/foo")); + * ``` + * @param path The path to convert. + * @returns The file URL. + */ +export function toFileUrl(path: string): URL { + if (!isAbsolute(path)) { + throw new TypeError(`Path must be absolute: received "${path}"`); + } + const [, hostname, pathname] = path.match( + /^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/, + )!; + const url = new URL("file:///"); + url.pathname = encodeWhitespace(pathname!.replace(/%/g, "%25")); + if (hostname !== undefined && hostname !== "localhost") { + url.hostname = hostname; + if (!url.hostname) { + throw new TypeError(`Invalid hostname: "${url.hostname}"`); + } + } + return url; +} diff --git a/vendor/jsr.io/@std/path/1.0.8/windows/to_namespaced_path.ts b/vendor/jsr.io/@std/path/1.0.8/windows/to_namespaced_path.ts new file mode 100644 index 0000000..a3c01b1 --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8/windows/to_namespaced_path.ts @@ -0,0 +1,60 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +import { + CHAR_BACKWARD_SLASH, + CHAR_COLON, + CHAR_DOT, + CHAR_QUESTION_MARK, +} from "../_common/constants.ts"; +import { isWindowsDeviceRoot } from "./_util.ts"; +import { resolve } from "./resolve.ts"; + +/** + * Resolves path to a namespace path + * + * @example Usage + * ```ts + * import { toNamespacedPath } from "@std/path/windows/to-namespaced-path"; + * import { assertEquals } from "@std/assert"; + * + * const namespaced = toNamespacedPath("C:\\foo\\bar"); + * assertEquals(namespaced, "\\\\?\\C:\\foo\\bar"); + * ``` + * + * @param path The path to resolve to namespaced path + * @returns The resolved namespaced path + */ +export function toNamespacedPath(path: string): string { + // Note: this will *probably* throw somewhere. + if (typeof path !== "string") return path; + if (path.length === 0) return ""; + + const resolvedPath = resolve(path); + + if (resolvedPath.length >= 3) { + if (resolvedPath.charCodeAt(0) === CHAR_BACKWARD_SLASH) { + // Possible UNC root + + if (resolvedPath.charCodeAt(1) === CHAR_BACKWARD_SLASH) { + const code = resolvedPath.charCodeAt(2); + if (code !== CHAR_QUESTION_MARK && code !== CHAR_DOT) { + // Matched non-long UNC root, convert the path to a long UNC path + return `\\\\?\\UNC\\${resolvedPath.slice(2)}`; + } + } + } else if (isWindowsDeviceRoot(resolvedPath.charCodeAt(0))) { + // Possible device root + + if ( + resolvedPath.charCodeAt(1) === CHAR_COLON && + resolvedPath.charCodeAt(2) === CHAR_BACKWARD_SLASH + ) { + // Matched device root, convert the path to a long UNC path + return `\\\\?\\${resolvedPath}`; + } + } + } + + return path; +} diff --git a/vendor/jsr.io/@std/path/1.0.8_meta.json b/vendor/jsr.io/@std/path/1.0.8_meta.json new file mode 100644 index 0000000..12e187f --- /dev/null +++ b/vendor/jsr.io/@std/path/1.0.8_meta.json @@ -0,0 +1,4721 @@ +{ + "manifest": { + "/deno.json": { + "size": 3751, + "checksum": "sha256-c6d989649f28dff80a70ee72c41fec1fe7fb7227597f379c28664b63cc44e114" + }, + "/_common/assert_path.ts": { + "size": 309, + "checksum": "sha256-136d47e3580667f7835507a33d5d63d4cc3f71671d17ddfdb17d79a31625bb41" + }, + "/posix/mod.ts": { + "size": 1459, + "checksum": "sha256-5444edd059a9c3241dfe06f4ed07b0a42f7dbfbdfc82618e5ef712c9938b4901" + }, + "/mod.ts": { + "size": 1854, + "checksum": "sha256-1c9071c51c33236d2fa90654539e01faeb504b378e8342f69e202988b791bfb8" + }, + "/normalize_glob.ts": { + "size": 1443, + "checksum": "sha256-9b68e2d1fceaf75715a9e4b736e7ad5bae05441e73c6f9b206aa7bee10080655" + }, + "/windows/join_globs.ts": { + "size": 1301, + "checksum": "sha256-54408430a1230a8f02a23e554adc0a5a71009464ce125d663b81a5928298f8cf" + }, + "/_common/normalize.ts": { + "size": 263, + "checksum": "sha256-684df4aa71a04bbcc346c692c8485594fc8a90b9408dfbc26ff32cf3e0c98cc8" + }, + "/_common/format.ts": { + "size": 809, + "checksum": "sha256-348b7acfd94d522c327f9afe09f5b0821d6760e50f7f9917d3a9ba5cdde9dd37" + }, + "/windows/unstable_basename.ts": { + "size": 1273, + "checksum": "sha256-8cfd2198fa5c8c988850f2c88b1e42384f5d4ef2eada0b60dca1dc9b8b39e1ab" + }, + "/from_file_url.ts": { + "size": 1050, + "checksum": "sha256-d553e06a95ad050398ab2a6f129ef358a178ee377331b9cc3c68e056f656bf6a" + }, + "/_common/relative.ts": { + "size": 287, + "checksum": "sha256-faa2753d9b32320ed4ada0733261e3357c186e5705678d9dd08b97527deae607" + }, + "/posix/glob_to_regexp.ts": { + "size": 3758, + "checksum": "sha256-36f99a82f11b53c852e4ba6babae6e29bd020aeda169207da68fd78457777028" + }, + "/windows/glob_to_regexp.ts": { + "size": 3775, + "checksum": "sha256-2ea59f0b2ea6aba8616864d4e5fc64a210c8cc6469651ea0de1cced34a732238" + }, + "/relative_test.ts": { + "size": 2994, + "checksum": "sha256-340bcb6a4f18a116deb2d3f0199431f0a733faf54e899c34eaab064ff781c12a" + }, + "/join_globs_test.ts": { + "size": 869, + "checksum": "sha256-91fbe6967a46e7af29abbcc3c89a99706dbc3d1c3c02e95d01dcd9d307adfc4d" + }, + "/windows/to_namespaced_path.ts": { + "size": 1787, + "checksum": "sha256-08cece3b269f7a708f5562604ad3546c47dd3888e4c1edae41d816931612eefa" + }, + "/posix/constants.ts": { + "size": 459, + "checksum": "sha256-f83bf8eae5a94941001d2af567d573a4ad93c0df46a5e183e2268cb19f42779f" + }, + "/unstable_extname.ts": { + "size": 1208, + "checksum": "sha256-7638d65c2624cddb1a00bffd0f60069a1007df2ee421df4f2015cfd52c9f3335" + }, + "/to_namespaced_path_test.ts": { + "size": 1079, + "checksum": "sha256-563de8b35a20d473e010707263c041289696a4efef8afa7e880e4a1f235a15f2" + }, + "/relative.ts": { + "size": 1108, + "checksum": "sha256-d775a20f9d44c23d6940d820f1f198114460cfb420685847fba5013ad8dcf306" + }, + "/posix/join.ts": { + "size": 1405, + "checksum": "sha256-d2bd271f407dfd73726a16cf73bdd1fea02f0f3df445f928bca6a14f8a883894" + }, + "/windows/dirname.ts": { + "size": 3268, + "checksum": "sha256-fb36bd747dbfc1374c64a6979f05f33e8a10dd34041eb2acf9c4c12afc1e07ca" + }, + "/windows/format.ts": { + "size": 814, + "checksum": "sha256-f3af6440766380cbe8de698acd63f9453aeaf3d7a8eab6dd2830f8b6f9b25beb" + }, + "/windows/from_file_url.ts": { + "size": 1189, + "checksum": "sha256-33c85238be4184aa22877cc3f06219c20202edbc1f42abfb9e8efd65833e7926" + }, + "/constants.ts": { + "size": 705, + "checksum": "sha256-7470d589dfd85337d09cc8806e19b257ee4f4b040503a17c3e5c708495fb252f" + }, + "/posix/to_file_url.ts": { + "size": 928, + "checksum": "sha256-8fd63223c4f99644e8dcef97d133690605e2758eb4cf698c4d8f4ea81035a872" + }, + "/windows/extname.ts": { + "size": 2684, + "checksum": "sha256-d9aec8eb6dda14050cc918d3e570b733a114ea31ff28ffe18706aff972ebfd97" + }, + "/posix/relative.ts": { + "size": 3331, + "checksum": "sha256-b9c0d8a4398697a9014c4df80e4c6a339ba74b8616a946c7ac6708d0dd2a2331" + }, + "/types.ts": { + "size": 997, + "checksum": "sha256-c85cbfd82fde333773448e6f40d6ca6f300d366dfcadd0c0bf26454c86cdf942" + }, + "/windows/unstable_dirname.ts": { + "size": 870, + "checksum": "sha256-f618717a0fba348c92fb74d200e5f78f66f4c63e8b8a276182f7cc551efd242e" + }, + "/posix/format.ts": { + "size": 799, + "checksum": "sha256-f82f084215eee88deecaa607f3da2d463f3c7cee30ab1b087a4655a3d872d302" + }, + "/dirname.ts": { + "size": 1020, + "checksum": "sha256-b5415597df8efd8b2adc1afdc0b11adfac13f328154368a47e44bed1086d46dc" + }, + "/glob_to_regexp_test.ts": { + "size": 17236, + "checksum": "sha256-6c856c9b066c0219fb7cb387cd620b79bb8dd902eb77bb8bbffc6519f085b6d8" + }, + "/posix/_util.ts": { + "size": 391, + "checksum": "sha256-1e3937da30f080bfc99fe45d7ed23c47dd8585c5e473b2d771380d3a6937cf9d" + }, + "/windows/is_absolute.ts": { + "size": 1113, + "checksum": "sha256-2eb65e7b5024090696fd9a34720e9cac3be1fa9d2f67542389753e02040df2ad" + }, + "/extname.ts": { + "size": 1024, + "checksum": "sha256-95f94e835ad500dce8f79e496b5758bd98727742995ed524fdae77ca1efe03e3" + }, + "/parse_test.ts": { + "size": 441, + "checksum": "sha256-04fe3bb87504baaffb264f1919a5f82e279d47542cd7fa9bc4e8f356b8d3fb4e" + }, + "/windows/to_file_url.ts": { + "size": 1292, + "checksum": "sha256-19dbd8e634516cac2d8653bab851ef8b7b8fdcdd22cda9382ef4663a77c2d9c0" + }, + "/windows/join.ts": { + "size": 2589, + "checksum": "sha256-c672f33af5c1331ca01d98b7c41be2092d099bece9c66c60dc62f1e0ac360aa6" + }, + "/resolve_test.ts": { + "size": 2076, + "checksum": "sha256-a0b6cb5e6372252f04850153e03cdc5cc0ccf7435f6d07cc7fb76b5853c600fc" + }, + "/join_test.ts": { + "size": 5792, + "checksum": "sha256-20020385848f39321c6281b37e668b7d9d8ddce49d160b5d2612629973a98a4c" + }, + "/is_glob_test.ts": { + "size": 3614, + "checksum": "sha256-1185fcc5465cb7c65c9fc9e9e471c0fbc19d4b324f156825898f4972b07dcc19" + }, + "/parse_format_test.ts": { + "size": 5906, + "checksum": "sha256-a49da44f4aeda37cabc16985ac5506b45aa988dc3fc20418280831b4ba899eca" + }, + "/glob_to_regexp.ts": { + "size": 3930, + "checksum": "sha256-f60eb471d81f688c9d6530399095a550b4527cbaa115056129085a638e6c6b4c" + }, + "/posix/unstable_join.ts": { + "size": 1064, + "checksum": "sha256-f4dea8c7a2ce58cb40af31881485291f2807f465c424794c158651fdbaf0c994" + }, + "/unstable_join.ts": { + "size": 1207, + "checksum": "sha256-c3b40b11b73746575ba13331a10aa45c001f61b42d83e30688c4768bbf4b5904" + }, + "/posix/basename.ts": { + "size": 2213, + "checksum": "sha256-dc4d08dd90f64b955b5b7b88d72c8039399c9f34e580d33c72735f999b86979f" + }, + "/windows/common.ts": { + "size": 705, + "checksum": "sha256-0b271e0a711fe2f092df6d329b2b15ea379debca845ed6acd3d79380b7ac97de" + }, + "/to_file_url_test.ts": { + "size": 2051, + "checksum": "sha256-d03040322bd7fff08137b4726a978c6e87b0d7041ed0335333534e147182b236" + }, + "/_common/basename.ts": { + "size": 1264, + "checksum": "sha256-3b15fc31f9db13b601ee65a29acbab0956594e7db5ac48d37308727dbe53004c" + }, + "/_os.ts": { + "size": 454, + "checksum": "sha256-6b420bf7d2e76d9597932b729e5b3dea9540416d38e88937d4c39c484e34fa21" + }, + "/basename_test.ts": { + "size": 5850, + "checksum": "sha256-90b12199a5d12ca00bb57c0be6b2d5f8baa93cf5ba23f366ec64196a4c95fe0c" + }, + "/posix/normalize.ts": { + "size": 2102, + "checksum": "sha256-d8fa8500b6e262bcb23f7fbacaecf36cc3ee1b95915c8cfa41e0ff1a78f87238" + }, + "/normalize_test.ts": { + "size": 1159, + "checksum": "sha256-1eb4999faa8828945f9f025b24eb8a81fece19ecdcb443f090b8a3371a760bd5" + }, + "/posix/unstable_dirname.ts": { + "size": 973, + "checksum": "sha256-9f3b612ca3fdd4ade961fb14458ce2295e6e1e2893a9699f4e6a2a22e1891bcc" + }, + "/windows/normalize.ts": { + "size": 4066, + "checksum": "sha256-b04cc6a1ae86ff2715b9482796bfe5cd3bdc3e5ebee822666b6fcdb240e53f7d" + }, + "/unstable_dirname.ts": { + "size": 1244, + "checksum": "sha256-2b195dc7900bb6b810795aa43b97051283738618b94714443b3833f436176a55" + }, + "/windows/relative.ts": { + "size": 4341, + "checksum": "sha256-fd2d65b242a0053f35e14bd9746b471053045dcbe037229b36b968d76b7d26e5" + }, + "/extname_test.ts": { + "size": 3262, + "checksum": "sha256-46e71c51f84af07ed9217a580dc323f5a19855685ca0775fafe190c2fa1ff85b" + }, + "/_common/normalize_string.ts": { + "size": 2301, + "checksum": "sha256-33edef773c2a8e242761f731adeb2bd6d683e9c69e4e3d0092985bede74f4ac3" + }, + "/windows/normalize_glob.ts": { + "size": 1330, + "checksum": "sha256-ac58f75171160bed0af8fd30e304487a82a3845ec449ae56b38ae1714b24f1dd" + }, + "/_common/constants.ts": { + "size": 2020, + "checksum": "sha256-dc5f8057159f4b48cd304eb3027e42f1148cf4df1fb4240774d3492b5d12ac0c" + }, + "/windows/constants.ts": { + "size": 463, + "checksum": "sha256-ae2131fb3fe0ddccfef82a9773bbbe625819b11ab30c32a3eb2c376731d86e83" + }, + "/normalize_glob_test.ts": { + "size": 1105, + "checksum": "sha256-441345c0f9621639d8ce8a62ec32eb06796cb40f37ddbd9a3ceadf7894457097" + }, + "/_common/dirname.ts": { + "size": 263, + "checksum": "sha256-684df4aa71a04bbcc346c692c8485594fc8a90b9408dfbc26ff32cf3e0c98cc8" + }, + "/posix/common.ts": { + "size": 718, + "checksum": "sha256-98e83883dd0039cffc11880104bbc29cce8742025307bf87343a0856e41490a2" + }, + "/windows/basename.ts": { + "size": 1838, + "checksum": "sha256-e87e09f055a2443f6b5342349d0ad008b827130cd8ecfbfe4f2ca0f740bff38c" + }, + "/windows/mod.ts": { + "size": 1149, + "checksum": "sha256-2eba5c8f4f3e1307d5ee713b7910f5c8c14d63dfdc5979930e4a2960bbe0eb1d" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/is_absolute_test.ts": { + "size": 1838, + "checksum": "sha256-f2aa921b8d723d4fe14c1ceffc67ebec1757c56ace6a3e502c6b1432431c385a" + }, + "/join.ts": { + "size": 1038, + "checksum": "sha256-39fef9407532bcaa7177607cf829c173477e9e5cbd9bdddffd726db631cddb9b" + }, + "/posix/dirname.ts": { + "size": 2095, + "checksum": "sha256-9d723e97720534d18aa9739793ffafe6631a287762dad692f49661dfa85b5be7" + }, + "/format.ts": { + "size": 1083, + "checksum": "sha256-164d6a9200ecb8d72e26754e5c2e330f071aa5474be762d81efd97ccb5014216" + }, + "/basename.ts": { + "size": 1184, + "checksum": "sha256-93e047a98e8393341b0d62b9fc822e0c48623b3255fa5c3ec7e47ca9c48269d2" + }, + "/resolve.ts": { + "size": 1042, + "checksum": "sha256-10a518c616f14fe3d73fae0b0ea6e5e5a55c49e9bff8a9076716b7a0376e07d0" + }, + "/_common/basename_test.ts": { + "size": 1517, + "checksum": "sha256-0fc43d3716d29a5d6ae369ab54eee10accd14b2b2be8681b552968aa67e8ab3b" + }, + "/_common/strip_trailing_separators.ts": { + "size": 592, + "checksum": "sha256-7024a93447efcdcfeaa9339a98fa63ef9d53de363f1fbe9858970f1bba02655a" + }, + "/windows/unstable_extname.ts": { + "size": 863, + "checksum": "sha256-bae90c48bf25ee0e2ed884e42d8656706a42e584b22a6b384c3ed379950d9586" + }, + "/_common/common.ts": { + "size": 718, + "checksum": "sha256-af935c0d001d9094358393455c5046e0c3bb9f0f200945065e89073c97f2a5b1" + }, + "/windows/unstable_normalize.ts": { + "size": 1091, + "checksum": "sha256-ad5abc5f9ea0d643198036cb3b9c4beeda44107abe94d2f23d751df5c032ac26" + }, + "/_common/glob_to_reg_exp.ts": { + "size": 7588, + "checksum": "sha256-5d76e085e4d99583e2eec758828a2df4d6d6d1f928bdda6a9b040a19ab9af85f" + }, + "/posix/is_absolute.ts": { + "size": 756, + "checksum": "sha256-f83938688175373503e6aafde89fd1841e1d05d193b3673b627cb8a5939865e2" + }, + "/_common/to_file_url_test.ts": { + "size": 1071, + "checksum": "sha256-15eaabb327cbdac2aa57fd9a91ff1941b629857f873ea22d58484abfe6957efa" + }, + "/is_glob.ts": { + "size": 1247, + "checksum": "sha256-c2872ccb6738d735946f8d93ec60ebf65a8b27b7f471ca197d04beaf934468d5" + }, + "/common.ts": { + "size": 941, + "checksum": "sha256-18ecfb46c70d2c0f19bcb28dc8bf5b2865ad68c7589fa8da1d9ee0f92c7520b5" + }, + "/unstable_basename.ts": { + "size": 1372, + "checksum": "sha256-109b13541335569da7e92e571930fe49c4f73c2420f3e852d05187906c3ef5ce" + }, + "/common_test.ts": { + "size": 2217, + "checksum": "sha256-f5a9f23a3a10c127c47bd4ffe181b0451e32e5e6e2cc52ee24a538a8e4e71995" + }, + "/normalize.ts": { + "size": 1206, + "checksum": "sha256-de5f63500b4b93842797ec3fc729415c809f95f526e95d113ae2ccfd5ea21294" + }, + "/posix/extname.ts": { + "size": 3151, + "checksum": "sha256-8a364cc1803d09d60fcd856d375ef6caad7bcacbdfec2c62c1c21b8f22d694c6" + }, + "/to_file_url.ts": { + "size": 1078, + "checksum": "sha256-fae11f54aa7aefa4d6a64856f6fa6f9e2e6ae942314842ccba771da2edc4ad0a" + }, + "/from_file_url_test.ts": { + "size": 2451, + "checksum": "sha256-40cc3daa15a2c4ac7c601c3e06492f1b8dfe0ae99865ed89e16b9fa428fec35c" + }, + "/posix/unstable_basename.ts": { + "size": 1275, + "checksum": "sha256-986735e1297645e28ac2e8bdc14622cfe1e81f82216f2ff2f8d5eecd3a4c5783" + }, + "/windows/resolve.ts": { + "size": 5238, + "checksum": "sha256-e086edd02c7b7bfcacab6caca2d1b8784476e2c6cc22a0a1ecfcad8077d0f636" + }, + "/_common/assert_path_test.ts": { + "size": 486, + "checksum": "sha256-f328f3c976eb8198976d6a66610bb4a845aed7021864cf9c749d70bd6341676c" + }, + "/windows/_util.ts": { + "size": 828, + "checksum": "sha256-d5f47363e5293fced22c984550d5e70e98e266cc3f31769e1710511803d04808" + }, + "/posix/to_namespaced_path.ts": { + "size": 596, + "checksum": "sha256-66a1cb782953dbeb7732d69a85cf4edd15a79c6bbbffa8c8e0469a77c840a1e9" + }, + "/parse.ts": { + "size": 1472, + "checksum": "sha256-d6fafd94e41be9b230ac1c09248d29def1b64d58f79395769e9708551f674f3b" + }, + "/posix/resolve.ts": { + "size": 1931, + "checksum": "sha256-e572f2de47e132066c16b851464b4b485771b1441a8a1108408f147426e30054" + }, + "/posix/unstable_normalize.ts": { + "size": 1133, + "checksum": "sha256-08911af570cf87575f153764797223de5572261a179580b2b9d3625a10a27bad" + }, + "/join_globs.ts": { + "size": 1458, + "checksum": "sha256-14ebd94d54e079f8ca66c4eba07ead05565f4b6f55743beef56964187ca2754c" + }, + "/posix/join_globs.ts": { + "size": 1272, + "checksum": "sha256-1e8c8f2f39584705b480e30b5cc5c59f4f0dd4ee124b6733370cb634106ddbaf" + }, + "/_common/to_file_url.ts": { + "size": 440, + "checksum": "sha256-7f76adbc83ece1bba173e6e98a27c647712cab773d3f8cbe0398b74afc817883" + }, + "/_common/normalize_string_test.ts": { + "size": 1020, + "checksum": "sha256-e075d056d4b834d97eaba0ecfd504f19a579bb2e1d2380c59d6d50777d32f7cd" + }, + "/windows/parse.ts": { + "size": 5341, + "checksum": "sha256-d70ec0c61c8ca47994b8ba970c4be4d74cc380fb1ecf06e0eba2bfa2ad7ecb49" + }, + "/posix/from_file_url.ts": { + "size": 689, + "checksum": "sha256-0bd4ec0a3019f4c2c8e2ae0adf8834b2494a5b29d297ea996e22c1794c62d9c0" + }, + "/dirname_test.ts": { + "size": 3832, + "checksum": "sha256-08ffe8d83e801116903d7aaf3297d317c79289ec47ef8ae07252ef7518866ab5" + }, + "/posix/parse.ts": { + "size": 3470, + "checksum": "sha256-8630560bbedd90d7273712cf7faba8e3fc17fbdb4af6d723aa349f3292130b73" + }, + "/posix/is_glob.ts": { + "size": 154, + "checksum": "sha256-8a8b08c08bf731acf2c1232218f1f45a11131bc01de81e5f803450a5914434b9" + }, + "/posix/normalize_glob.ts": { + "size": 1284, + "checksum": "sha256-fcfc68f400d0a91154dadba6f267377303a5693b9cef2355a7e643918ef296dc" + }, + "/windows/is_glob.ts": { + "size": 154, + "checksum": "sha256-8a8b08c08bf731acf2c1232218f1f45a11131bc01de81e5f803450a5914434b9" + }, + "/is_absolute.ts": { + "size": 958, + "checksum": "sha256-a24aeb130f2f20a82e91d9f4a65e339e28bc1125d89833ffbdfda358f0f1118b" + }, + "/unstable_normalize.ts": { + "size": 1445, + "checksum": "sha256-354b2fd85a7d3ce89e864da2e3c5df1a4c0eff8d2fb08d0b9bae8843f2ba1d15" + }, + "/windows/unstable_join.ts": { + "size": 994, + "checksum": "sha256-499b44420fd943b8d4ae5dd8a677008ca78f55c176fd82292fdc02c16ecdf1c3" + }, + "/_common/format_test.ts": { + "size": 1988, + "checksum": "sha256-d81aa36428b33ebbe059c92ff13f62f6290dc0566bc841ed84087d267e4573dc" + }, + "/posix/unstable_extname.ts": { + "size": 1285, + "checksum": "sha256-21a94d057f9ea2bf6bc4879aedf282fc86e1d7f0c025f3583a961ce13647b643" + }, + "/_common/from_file_url.ts": { + "size": 356, + "checksum": "sha256-ab0ed799065db75c2b94ed9d2b05644a3078fc0a71efc301cdb9f20274a1c4af" + }, + "/to_namespaced_path.ts": { + "size": 1014, + "checksum": "sha256-cf16676c047447254aa65e491797a260a6241123d11061a5e51233a5cab4d7bf" + } + }, + "moduleGraph2": { + "/posix/extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 50 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/windows/unstable_extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./extname.ts", + "specifierRange": [ + [ + 3, + 41 + ], + [ + 3, + 55 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 48 + ] + ] + } + ] + }, + "/posix/unstable_join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./join.ts", + "specifierRange": [ + [ + 3, + 35 + ], + [ + 3, + 46 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 48 + ] + ] + } + ] + }, + "/parse.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 44 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/parse.ts", + "specifierRange": [ + [ + 5, + 36 + ], + [ + 5, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/parse.ts", + "specifierRange": [ + [ + 6, + 38 + ], + [ + 6, + 58 + ] + ] + }, + { + "type": "static", + "kind": "exportType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 8, + 32 + ], + [ + 8, + 44 + ] + ] + } + ] + }, + "/windows/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize_string.ts", + "specifierRange": [ + [ + 5, + 32 + ], + [ + 5, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 6, + 53 + ], + [ + 6, + 65 + ] + ] + } + ] + }, + "/posix/normalize_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 34 + ], + [ + 5, + 50 + ] + ] + } + ] + }, + "/unstable_normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/unstable_normalize.ts", + "specifierRange": [ + [ + 4, + 52 + ], + [ + 4, + 83 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/unstable_normalize.ts", + "specifierRange": [ + [ + 5, + 54 + ], + [ + 5, + 87 + ] + ] + } + ] + }, + "/posix/is_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "../is_glob.ts", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 38 + ] + ] + } + ] + }, + "/windows/unstable_dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./dirname.ts", + "specifierRange": [ + [ + 3, + 41 + ], + [ + 3, + 55 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 48 + ] + ] + } + ] + }, + "/_common/from_file_url.ts": {}, + "/join_globs.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/join_globs.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 67 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/join_globs.ts", + "specifierRange": [ + [ + 6, + 46 + ], + [ + 6, + 71 + ] + ] + } + ] + }, + "/posix/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./basename.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./dirname.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./extname.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./format.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./parse.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./relative.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 35, + 14 + ], + [ + 35, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_file_url.ts", + "specifierRange": [ + [ + 36, + 14 + ], + [ + 36, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_namespaced_path.ts", + "specifierRange": [ + [ + 37, + 14 + ], + [ + 37, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./common.ts", + "specifierRange": [ + [ + 38, + 14 + ], + [ + 38, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "../types.ts", + "specifierRange": [ + [ + 39, + 14 + ], + [ + 39, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./glob_to_regexp.ts", + "specifierRange": [ + [ + 40, + 14 + ], + [ + 40, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_glob.ts", + "specifierRange": [ + [ + 41, + 14 + ], + [ + 41, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join_globs.ts", + "specifierRange": [ + [ + 42, + 14 + ], + [ + 42, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 43, + 14 + ], + [ + 43, + 35 + ] + ] + } + ] + }, + "/join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/join.ts", + "specifierRange": [ + [ + 4, + 34 + ], + [ + 4, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/join.ts", + "specifierRange": [ + [ + 5, + 36 + ], + [ + 5, + 55 + ] + ] + } + ] + }, + "/windows/from_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/from_file_url.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 55 + ] + ] + } + ] + }, + "/windows/constants.ts": {}, + "/windows/unstable_join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./join.ts", + "specifierRange": [ + [ + 3, + 35 + ], + [ + 3, + 46 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 48 + ] + ] + } + ] + }, + "/types.ts": {}, + "/_common/to_file_url.ts": {}, + "/windows/resolve.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize_string.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 6, + 53 + ], + [ + 6, + 65 + ] + ] + } + ] + }, + "/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/basename.ts", + "specifierRange": [ + [ + 4, + 42 + ], + [ + 4, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/basename.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 67 + ] + ] + } + ] + }, + "/posix/unstable_dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./dirname.ts", + "specifierRange": [ + [ + 3, + 41 + ], + [ + 3, + 55 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 48 + ] + ] + } + ] + }, + "/unstable_extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/unstable_extname.ts", + "specifierRange": [ + [ + 4, + 48 + ], + [ + 4, + 77 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/unstable_extname.ts", + "specifierRange": [ + [ + 5, + 50 + ], + [ + 5, + 81 + ] + ] + } + ] + }, + "/_common/normalize_string.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 45 + ], + [ + 5, + 61 + ] + ] + } + ] + }, + "/resolve.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/resolve.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/resolve.ts", + "specifierRange": [ + [ + 5, + 42 + ], + [ + 5, + 64 + ] + ] + } + ] + }, + "/unstable_basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/unstable_basename.ts", + "specifierRange": [ + [ + 4, + 50 + ], + [ + 4, + 80 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/unstable_basename.ts", + "specifierRange": [ + [ + 5, + 52 + ], + [ + 5, + 84 + ] + ] + } + ] + }, + "/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/format.ts", + "specifierRange": [ + [ + 4, + 38 + ], + [ + 4, + 57 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/format.ts", + "specifierRange": [ + [ + 5, + 40 + ], + [ + 5, + 61 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./types.ts", + "specifierRange": [ + [ + 6, + 32 + ], + [ + 6, + 44 + ] + ] + } + ] + }, + "/_os.ts": {}, + "/posix/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/basename.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 31 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 8, + 40 + ], + [ + 8, + 81 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 9, + 37 + ], + [ + 9, + 49 + ] + ] + } + ] + }, + "/posix/unstable_basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./basename.ts", + "specifierRange": [ + [ + 3, + 43 + ], + [ + 3, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 48 + ] + ] + } + ] + }, + "/posix/unstable_normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 3, + 45 + ], + [ + 3, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 48 + ] + ] + } + ] + }, + "/posix/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/dirname.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 81 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/_common/constants.ts": {}, + "/to_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/to_file_url.ts", + "specifierRange": [ + [ + 4, + 44 + ], + [ + 4, + 68 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/to_file_url.ts", + "specifierRange": [ + [ + 5, + 46 + ], + [ + 5, + 72 + ] + ] + } + ] + }, + "/windows/to_namespaced_path.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 8, + 7 + ], + [ + 8, + 32 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 9, + 36 + ], + [ + 9, + 48 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 10, + 24 + ], + [ + 10, + 38 + ] + ] + } + ] + }, + "/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/dirname.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/dirname.ts", + "specifierRange": [ + [ + 5, + 42 + ], + [ + 5, + 64 + ] + ] + } + ] + }, + "/windows/common.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/common.ts", + "specifierRange": [ + [ + 3, + 34 + ], + [ + 3, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/windows/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./basename.ts", + "specifierRange": [ + [ + 17, + 14 + ], + [ + 17, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 18, + 14 + ], + [ + 18, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./dirname.ts", + "specifierRange": [ + [ + 19, + 14 + ], + [ + 19, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./extname.ts", + "specifierRange": [ + [ + 20, + 14 + ], + [ + 20, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./format.ts", + "specifierRange": [ + [ + 21, + 14 + ], + [ + 21, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 22, + 14 + ], + [ + 22, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./parse.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./relative.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_file_url.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_namespaced_path.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./common.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "../types.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./glob_to_regexp.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_glob.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join_globs.ts", + "specifierRange": [ + [ + 35, + 14 + ], + [ + 35, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 36, + 14 + ], + [ + 36, + 35 + ] + ] + } + ] + }, + "/_common/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/windows/join_globs.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./join.ts", + "specifierRange": [ + [ + 4, + 21 + ], + [ + 4, + 32 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 26 + ], + [ + 5, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 6, + 30 + ], + [ + 6, + 51 + ] + ] + } + ] + }, + "/extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/extname.ts", + "specifierRange": [ + [ + 4, + 40 + ], + [ + 4, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/extname.ts", + "specifierRange": [ + [ + 5, + 42 + ], + [ + 5, + 64 + ] + ] + } + ] + }, + "/posix/unstable_extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./extname.ts", + "specifierRange": [ + [ + 3, + 41 + ], + [ + 3, + 55 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 48 + ] + ] + } + ] + }, + "/_common/glob_to_reg_exp.ts": {}, + "/windows/unstable_normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 3, + 45 + ], + [ + 3, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 48 + ] + ] + } + ] + }, + "/unstable_dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/unstable_dirname.ts", + "specifierRange": [ + [ + 4, + 48 + ], + [ + 4, + 77 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/unstable_dirname.ts", + "specifierRange": [ + [ + 5, + 50 + ], + [ + 5, + 81 + ] + ] + } + ] + }, + "/to_namespaced_path.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/to_namespaced_path.ts", + "specifierRange": [ + [ + 4, + 58 + ], + [ + 4, + 89 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/to_namespaced_path.ts", + "specifierRange": [ + [ + 5, + 60 + ], + [ + 5, + 93 + ] + ] + } + ] + }, + "/posix/glob_to_regexp.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 38 + ] + ] + } + ] + }, + "/windows/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/format.ts", + "specifierRange": [ + [ + 3, + 35 + ], + [ + 3, + 57 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "../types.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 45 + ] + ] + } + ] + }, + "/_common/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/posix/parse.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 25 + ], + [ + 3, + 50 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "../types.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 45 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 5, + 40 + ], + [ + 5, + 81 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 6, + 27 + ], + [ + 6, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 7, + 37 + ], + [ + 7, + 49 + ] + ] + }, + { + "type": "static", + "kind": "exportType", + "specifier": "../types.ts", + "specifierRange": [ + [ + 9, + 32 + ], + [ + 9, + 45 + ] + ] + } + ] + }, + "/_common/strip_trailing_separators.ts": {}, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./basename.ts", + "specifierRange": [ + [ + 38, + 14 + ], + [ + 38, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 39, + 14 + ], + [ + 39, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./dirname.ts", + "specifierRange": [ + [ + 40, + 14 + ], + [ + 40, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./extname.ts", + "specifierRange": [ + [ + 41, + 14 + ], + [ + 41, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./format.ts", + "specifierRange": [ + [ + 42, + 14 + ], + [ + 42, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 43, + 14 + ], + [ + 43, + 34 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 44, + 14 + ], + [ + 44, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join.ts", + "specifierRange": [ + [ + 45, + 14 + ], + [ + 45, + 25 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 46, + 14 + ], + [ + 46, + 30 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./parse.ts", + "specifierRange": [ + [ + 47, + 14 + ], + [ + 47, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./relative.ts", + "specifierRange": [ + [ + 48, + 14 + ], + [ + 48, + 29 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 49, + 14 + ], + [ + 49, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_file_url.ts", + "specifierRange": [ + [ + 50, + 14 + ], + [ + 50, + 32 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_namespaced_path.ts", + "specifierRange": [ + [ + 51, + 14 + ], + [ + 51, + 39 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./common.ts", + "specifierRange": [ + [ + 52, + 14 + ], + [ + 52, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./types.ts", + "specifierRange": [ + [ + 53, + 14 + ], + [ + 53, + 26 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./glob_to_regexp.ts", + "specifierRange": [ + [ + 54, + 14 + ], + [ + 54, + 35 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./is_glob.ts", + "specifierRange": [ + [ + 55, + 14 + ], + [ + 55, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./join_globs.ts", + "specifierRange": [ + [ + 56, + 14 + ], + [ + 56, + 31 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 57, + 14 + ], + [ + 57, + 35 + ] + ] + } + ] + }, + "/from_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/from_file_url.ts", + "specifierRange": [ + [ + 4, + 48 + ], + [ + 4, + 74 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/from_file_url.ts", + "specifierRange": [ + [ + 5, + 50 + ], + [ + 5, + 78 + ] + ] + } + ] + }, + "/_common/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "../types.ts", + "specifierRange": [ + [ + 3, + 32 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/windows/is_absolute.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 53 + ], + [ + 5, + 65 + ] + ] + } + ] + }, + "/windows/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 36 + ], + [ + 3, + 61 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 4, + 24 + ], + [ + 4, + 38 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/relative.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/normalize_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/normalize_glob.ts", + "specifierRange": [ + [ + 5, + 52 + ], + [ + 5, + 79 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/normalize_glob.ts", + "specifierRange": [ + [ + 8, + 7 + ], + [ + 8, + 36 + ] + ] + } + ] + }, + "/posix/_util.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 5, + 35 + ], + [ + 5, + 60 + ] + ] + } + ] + }, + "/unstable_join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/unstable_join.ts", + "specifierRange": [ + [ + 4, + 42 + ], + [ + 4, + 68 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/unstable_join.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 72 + ] + ] + } + ] + }, + "/_common/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/_common/assert_path.ts": {}, + "/windows/parse.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 37 + ], + [ + 3, + 62 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "../types.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 45 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 6, + 53 + ], + [ + 6, + 65 + ] + ] + }, + { + "type": "static", + "kind": "exportType", + "specifier": "../types.ts", + "specifierRange": [ + [ + 8, + 32 + ], + [ + 8, + 45 + ] + ] + } + ] + }, + "/posix/to_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/to_file_url.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 45 + ] + ] + } + ] + }, + "/windows/extname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 3, + 37 + ], + [ + 3, + 62 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 53 + ], + [ + 5, + 65 + ] + ] + } + ] + }, + "/windows/glob_to_regexp.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 38 + ] + ] + } + ] + }, + "/is_glob.ts": {}, + "/is_absolute.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/is_absolute.ts", + "specifierRange": [ + [ + 4, + 46 + ], + [ + 4, + 70 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/is_absolute.ts", + "specifierRange": [ + [ + 5, + 48 + ], + [ + 5, + 74 + ] + ] + } + ] + }, + "/windows/normalize_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 34 + ], + [ + 5, + 50 + ] + ] + } + ] + }, + "/_common/common.ts": {}, + "/glob_to_regexp.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "./_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/glob_to_regexp.ts", + "specifierRange": [ + [ + 6, + 50 + ], + [ + 6, + 77 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/glob_to_regexp.ts", + "specifierRange": [ + [ + 9, + 7 + ], + [ + 9, + 36 + ] + ] + } + ] + }, + "/constants.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 2, + 26 + ], + [ + 2, + 36 + ] + ] + } + ] + }, + "/posix/join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/posix/constants.ts": {}, + "/windows/join.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 44 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize.ts", + "specifierRange": [ + [ + 5, + 26 + ], + [ + 5, + 42 + ] + ] + } + ] + }, + "/windows/is_glob.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "../is_glob.ts", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 38 + ] + ] + } + ] + }, + "/common.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_common/common.ts", + "specifierRange": [ + [ + 3, + 34 + ], + [ + 3, + 55 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/normalize.ts", + "specifierRange": [ + [ + 4, + 44 + ], + [ + 4, + 66 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/normalize.ts", + "specifierRange": [ + [ + 5, + 46 + ], + [ + 5, + 70 + ] + ] + } + ] + }, + "/windows/unstable_basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./basename.ts", + "specifierRange": [ + [ + 3, + 43 + ], + [ + 3, + 58 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./from_file_url.ts", + "specifierRange": [ + [ + 4, + 28 + ], + [ + 4, + 48 + ] + ] + } + ] + }, + "/posix/join_globs.ts": { + "dependencies": [ + { + "type": "static", + "kind": "importType", + "specifier": "../_common/glob_to_reg_exp.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./join.ts", + "specifierRange": [ + [ + 4, + 21 + ], + [ + 4, + 32 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 5, + 26 + ], + [ + 5, + 42 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./normalize_glob.ts", + "specifierRange": [ + [ + 6, + 30 + ], + [ + 6, + 51 + ] + ] + } + ] + }, + "/posix/normalize.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 51 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize_string.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/_common/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 45 + ] + ] + } + ] + }, + "/posix/from_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/from_file_url.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 55 + ] + ] + } + ] + }, + "/windows/to_file_url.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/to_file_url.ts", + "specifierRange": [ + [ + 3, + 33 + ], + [ + 3, + 60 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./is_absolute.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 45 + ] + ] + } + ] + }, + "/posix/is_absolute.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 3, + 27 + ], + [ + 3, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 4, + 37 + ], + [ + 4, + 49 + ] + ] + } + ] + }, + "/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_os.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 36 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./posix/relative.ts", + "specifierRange": [ + [ + 4, + 42 + ], + [ + 4, + 63 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./windows/relative.ts", + "specifierRange": [ + [ + 5, + 44 + ], + [ + 5, + 67 + ] + ] + } + ] + }, + "/posix/resolve.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/normalize_string.ts", + "specifierRange": [ + [ + 3, + 32 + ], + [ + 3, + 64 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/assert_path.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 54 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 5, + 37 + ], + [ + 5, + 49 + ] + ] + } + ] + }, + "/windows/basename.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/basename.ts", + "specifierRange": [ + [ + 7, + 7 + ], + [ + 7, + 31 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 8, + 27 + ], + [ + 8, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 9, + 40 + ], + [ + 9, + 81 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 10, + 53 + ], + [ + 10, + 65 + ] + ] + } + ] + }, + "/posix/format.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/format.ts", + "specifierRange": [ + [ + 3, + 35 + ], + [ + 3, + 57 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "../types.ts", + "specifierRange": [ + [ + 4, + 32 + ], + [ + 4, + 45 + ] + ] + } + ] + }, + "/posix/to_namespaced_path.ts": {}, + "/posix/relative.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 3, + 37 + ], + [ + 3, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./resolve.ts", + "specifierRange": [ + [ + 4, + 24 + ], + [ + 4, + 38 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/relative.ts", + "specifierRange": [ + [ + 5, + 27 + ], + [ + 5, + 51 + ] + ] + } + ] + }, + "/posix/common.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/common.ts", + "specifierRange": [ + [ + 3, + 34 + ], + [ + 3, + 56 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./constants.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 42 + ] + ] + } + ] + }, + "/windows/dirname.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/dirname.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 49 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 4, + 27 + ], + [ + 4, + 52 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "../_common/strip_trailing_separators.ts", + "specifierRange": [ + [ + 5, + 40 + ], + [ + 5, + 81 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_util.ts", + "specifierRange": [ + [ + 10, + 7 + ], + [ + 10, + 19 + ] + ] + } + ] + }, + "/windows/_util.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "../_common/constants.ts", + "specifierRange": [ + [ + 12, + 7 + ], + [ + 12, + 32 + ] + ] + } + ] + } + }, + "exports": { + ".": "./mod.ts", + "./basename": "./basename.ts", + "./common": "./common.ts", + "./constants": "./constants.ts", + "./dirname": "./dirname.ts", + "./extname": "./extname.ts", + "./format": "./format.ts", + "./from-file-url": "./from_file_url.ts", + "./glob-to-regexp": "./glob_to_regexp.ts", + "./is-absolute": "./is_absolute.ts", + "./is-glob": "./is_glob.ts", + "./join": "./join.ts", + "./join-globs": "./join_globs.ts", + "./normalize": "./normalize.ts", + "./normalize-glob": "./normalize_glob.ts", + "./parse": "./parse.ts", + "./posix": "./posix/mod.ts", + "./posix/basename": "./posix/basename.ts", + "./posix/common": "./posix/common.ts", + "./posix/constants": "./posix/constants.ts", + "./posix/dirname": "./posix/dirname.ts", + "./posix/extname": "./posix/extname.ts", + "./posix/format": "./posix/format.ts", + "./posix/from-file-url": "./posix/from_file_url.ts", + "./posix/glob-to-regexp": "./posix/glob_to_regexp.ts", + "./posix/is-absolute": "./posix/is_absolute.ts", + "./posix/is-glob": "./posix/is_glob.ts", + "./posix/join": "./posix/join.ts", + "./posix/join-globs": "./posix/join_globs.ts", + "./posix/normalize": "./posix/normalize.ts", + "./posix/normalize-glob": "./posix/normalize_glob.ts", + "./posix/parse": "./posix/parse.ts", + "./posix/relative": "./posix/relative.ts", + "./posix/resolve": "./posix/resolve.ts", + "./posix/to-file-url": "./posix/to_file_url.ts", + "./posix/to-namespaced-path": "./posix/to_namespaced_path.ts", + "./posix/unstable-basename": "./posix/unstable_basename.ts", + "./posix/unstable-dirname": "./posix/unstable_dirname.ts", + "./posix/unstable-extname": "./posix/unstable_extname.ts", + "./posix/unstable-join": "./posix/unstable_join.ts", + "./posix/unstable-normalize": "./posix/unstable_normalize.ts", + "./relative": "./relative.ts", + "./resolve": "./resolve.ts", + "./to-file-url": "./to_file_url.ts", + "./to-namespaced-path": "./to_namespaced_path.ts", + "./types": "./types.ts", + "./unstable-basename": "./unstable_basename.ts", + "./unstable-dirname": "./unstable_dirname.ts", + "./unstable-extname": "./unstable_extname.ts", + "./unstable-join": "./unstable_join.ts", + "./unstable-normalize": "./unstable_normalize.ts", + "./windows": "./windows/mod.ts", + "./windows/basename": "./windows/basename.ts", + "./windows/common": "./windows/common.ts", + "./windows/constants": "./windows/constants.ts", + "./windows/dirname": "./windows/dirname.ts", + "./windows/extname": "./windows/extname.ts", + "./windows/format": "./windows/format.ts", + "./windows/from-file-url": "./windows/from_file_url.ts", + "./windows/glob-to-regexp": "./windows/glob_to_regexp.ts", + "./windows/is-absolute": "./windows/is_absolute.ts", + "./windows/is-glob": "./windows/is_glob.ts", + "./windows/join": "./windows/join.ts", + "./windows/join-globs": "./windows/join_globs.ts", + "./windows/normalize": "./windows/normalize.ts", + "./windows/normalize-glob": "./windows/normalize_glob.ts", + "./windows/parse": "./windows/parse.ts", + "./windows/relative": "./windows/relative.ts", + "./windows/resolve": "./windows/resolve.ts", + "./windows/to-file-url": "./windows/to_file_url.ts", + "./windows/to-namespaced-path": "./windows/to_namespaced_path.ts", + "./windows/unstable-basename": "./windows/unstable_basename.ts", + "./windows/unstable-dirname": "./windows/unstable_dirname.ts", + "./windows/unstable-extname": "./windows/unstable_extname.ts", + "./windows/unstable-join": "./windows/unstable_join.ts", + "./windows/unstable-normalize": "./windows/unstable_normalize.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/path/meta.json b/vendor/jsr.io/@std/path/meta.json new file mode 100644 index 0000000..d78614a --- /dev/null +++ b/vendor/jsr.io/@std/path/meta.json @@ -0,0 +1,59 @@ +{ + "scope": "std", + "name": "path", + "latest": "1.0.8", + "versions": { + "0.217.0": {}, + "0.214.0": {}, + "1.0.3": {}, + "0.213.0": {}, + "0.212.0": {}, + "0.222.0": {}, + "0.210.0": {}, + "0.208.0": {}, + "0.219.1": {}, + "0.207.0": {}, + "0.221.0": {}, + "0.202.0": {}, + "1.0.0-rc.3": {}, + "1.0.5": {}, + "0.216.0": {}, + "1.0.4": {}, + "0.211.0": {}, + "0.223.0": {}, + "0.218.2": {}, + "0.206.0": {}, + "0.219.0": {}, + "0.199.0": {}, + "1.0.0-rc.4": {}, + "1.0.1": {}, + "0.218.0": {}, + "0.215.0": {}, + "1.0.0": {}, + "1.0.0-rc.1": {}, + "0.205.0": {}, + "1.0.2": {}, + "0.224.0": {}, + "0.201.0": {}, + "1.0.0-rc.2": {}, + "0.197.0": {}, + "0.222.1": {}, + "0.200.0": {}, + "0.225.0": { + "yanked": true + }, + "0.203.0": {}, + "0.198.0": {}, + "0.225.1": {}, + "1.0.8": {}, + "0.213.1": {}, + "0.204.0": {}, + "0.225.2": {}, + "0.218.1": {}, + "0.209.0": {}, + "0.196.0": {}, + "1.0.7": {}, + "1.0.6": {}, + "0.220.1": {} + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/streams/1.0.8/byte_slice_stream.ts b/vendor/jsr.io/@std/streams/1.0.8/byte_slice_stream.ts new file mode 100644 index 0000000..5fd5865 --- /dev/null +++ b/vendor/jsr.io/@std/streams/1.0.8/byte_slice_stream.ts @@ -0,0 +1,75 @@ +// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license. +// This module is browser compatible. + +/** + * A transform stream that only transforms from the zero-indexed `start` and + * `end` bytes (both inclusive). + * + * @example Basic usage + * ```ts + * import { ByteSliceStream } from "@std/streams/byte-slice-stream"; + * import { assertEquals } from "@std/assert"; + * + * const stream = ReadableStream.from([ + * new Uint8Array([0, 1]), + * new Uint8Array([2, 3, 4]), + * ]); + * const slicedStream = stream.pipeThrough(new ByteSliceStream(1, 3)); + * + * assertEquals( + * await Array.fromAsync(slicedStream), + * [new Uint8Array([1]), new Uint8Array([2, 3])] + * ); + * ``` + * + * @example Get a range of bytes from a fetch response body + * ```ts + * import { ByteSliceStream } from "@std/streams/byte-slice-stream"; + * import { assertEquals } from "@std/assert"; + * + * const response = await fetch("https://example.com"); + * const rangedStream = response.body! + * .pipeThrough(new ByteSliceStream(3, 8)); + * const collected = await Array.fromAsync(rangedStream); + * assertEquals(collected[0]?.length, 6); + * ``` + */ +export class ByteSliceStream extends TransformStream { + #offsetStart = 0; + #offsetEnd = 0; + + /** + * Constructs a new instance. + * + * @param start The zero-indexed byte index to start reading from. + * @param end The zero-indexed byte index to stop reading at. Inclusive. + */ + constructor(start = 0, end: number = Infinity) { + super({ + start: () => { + if (start < 0) { + throw new RangeError( + `Cannot construct ByteSliceStream as start must be >= 0: received ${start}`, + ); + } + end += 1; + }, + transform: (chunk, controller) => { + this.#offsetStart = this.#offsetEnd; + this.#offsetEnd += chunk.byteLength; + if (this.#offsetEnd > start) { + if (this.#offsetStart < start) { + chunk = chunk.slice(start - this.#offsetStart); + } + if (this.#offsetEnd >= end) { + chunk = chunk.slice(0, chunk.byteLength - this.#offsetEnd + end); + controller.enqueue(chunk); + controller.terminate(); + } else { + controller.enqueue(chunk); + } + } + }, + }); + } +} diff --git a/vendor/jsr.io/@std/streams/1.0.8_meta.json b/vendor/jsr.io/@std/streams/1.0.8_meta.json new file mode 100644 index 0000000..8138b03 --- /dev/null +++ b/vendor/jsr.io/@std/streams/1.0.8_meta.json @@ -0,0 +1,612 @@ +{ + "manifest": { + "/to_text_test.ts": { + "size": 570, + "checksum": "sha256-5bbe5e4e5e6a74a64b3144a81b82405b0de7cd800797dde9c12033a6553b1356" + }, + "/text_line_stream_test.ts": { + "size": 2904, + "checksum": "sha256-375d22b4d66562bdf3c190039342e05e21f7ac93a493d74ce1603f3ca250c42d" + }, + "/byte_slice_stream_test.ts": { + "size": 1448, + "checksum": "sha256-67c776b1d3990aaa7c780a3e3cf804f03f3d201ac74cf8cb745731890355ddeb" + }, + "/delimiter_stream_test.ts": { + "size": 7776, + "checksum": "sha256-79d640522f12d62ea030bbde3e2f4caa35d126b04cb86806f4dd56fc5ce6e182" + }, + "/unstable_to_bytes.ts": { + "size": 964, + "checksum": "sha256-39d75f08397abce58a9f7b942d0c576c477be9e8e95b234b4fe01122089c1991" + }, + "/unstable_to_bytes_test.ts": { + "size": 501, + "checksum": "sha256-9fc44ef1f948620f6fde04c76750520139f00d36b06836ae3c883add0335b946" + }, + "/limited_transform_stream_test.ts": { + "size": 851, + "checksum": "sha256-af54f7ee9f76230c4104bca0580d88344d2414dcb61394ef4e2e585888241227" + }, + "/LICENSE": { + "size": 1075, + "checksum": "sha256-0961f97da6619d5fe9ddb98649191d5ca6e958856ea5252f4cce7c9b85513819" + }, + "/to_transform_stream.ts": { + "size": 3625, + "checksum": "sha256-e051c8565c06f864cbb7892e541aff425bc2e52e49aef20661c2486e0f385a84" + }, + "/byte_slice_stream.ts": { + "size": 2303, + "checksum": "sha256-70838b53427803399ff7c87bd6e7024d84e1b65e7f25315e86d0d10f3cbeee3c" + }, + "/to_blob.ts": { + "size": 849, + "checksum": "sha256-256ab3f7d33e7530ba93eaaf55778c7d13f1021c6f30425635422f2a36f24487" + }, + "/to_array_buffer_test.ts": { + "size": 488, + "checksum": "sha256-3572fa3c2ea436ebedb85a04d5c72cefdc8d5564b2b361ab3e5b2ffb26ab3162" + }, + "/mod.ts": { + "size": 1154, + "checksum": "sha256-8ba7214c9d4559096bfe46428a36a6d1b88f671f45128778a1fa7b1bad63bc3a" + }, + "/text_delimiter_stream_test.ts": { + "size": 2681, + "checksum": "sha256-37cb43777fde7ce050e90d76ce8b70bd7d50f38d437945e1111b8fbfcdaf0d51" + }, + "/unstable_to_byte_stream_test.ts": { + "size": 2401, + "checksum": "sha256-5c46b4d925c3413c5b6d210efb5ae4fbeb8e5171963c3c473bf3f1ef064a6ae0" + }, + "/text_delimiter_stream.ts": { + "size": 3459, + "checksum": "sha256-0c7ce4f122c6af0ec0df568e74cc528055153010a580484fdb550439b93d6e54" + }, + "/to_blob_test.ts": { + "size": 575, + "checksum": "sha256-fa59ed8e92d950c0f4ed547ff68e2c288d53d2170715427a9d5a7f28ddea8215" + }, + "/unstable_fixed_chunk_stream.ts": { + "size": 1800, + "checksum": "sha256-ac9fbd93e4d5498f79b1172ac13c62e2882d5bf984164a9beae7bcdd7789066b" + }, + "/limited_transform_stream.ts": { + "size": 2997, + "checksum": "sha256-76b49ae24411d69f2f77dec4f44ff033a66abae7fe95c936bae49f5bb2205d6a" + }, + "/zip_readable_streams_test.ts": { + "size": 1511, + "checksum": "sha256-b77bd6fa2e4ad6d77189f88686e4894aebd4957036fb25f61f64bc3f0878e11f" + }, + "/merge_readable_streams.ts": { + "size": 2375, + "checksum": "sha256-031ffae588b4bf4702a2a6755d150ee5505e3a43930a2ad90d5993eeb68da014" + }, + "/early_zip_readable_streams_test.ts": { + "size": 2543, + "checksum": "sha256-8e18c8662831dfa3a8e891602bf019b9e3a99cf1927b56d48e0b4a2c52256ff4" + }, + "/limited_bytes_transform_stream_test.ts": { + "size": 6079, + "checksum": "sha256-86bc6b3e578dd76a97cb895594fb7f696776519623eaa0b5016aa41803d52663" + }, + "/unstable_to_byte_stream.ts": { + "size": 2241, + "checksum": "sha256-cca7402ccb7b36b48d2db687d1e126050fb5e395dd9ad3c776be75a458b5a9f1" + }, + "/concat_readable_streams.ts": { + "size": 1543, + "checksum": "sha256-c18417ac2813cb02c012d83788b3ed1b821e0339e82527668acc390ad8c37b66" + }, + "/deno.json": { + "size": 1191, + "checksum": "sha256-ee69204e8b45095a5555ed0245c666971afe4137aeb3127b294ed047aa2b2176" + }, + "/to_array_buffer.ts": { + "size": 1232, + "checksum": "sha256-4e72fa3eccd86b2cfca63e28f34189c37f3a9a80be7d69bf0ff9249de333ba07" + }, + "/buffer.ts": { + "size": 12625, + "checksum": "sha256-9fa28f34259328958e7e027672021c3785dbfb90f41d278f50c338058651d3e5" + }, + "/to_text.ts": { + "size": 1570, + "checksum": "sha256-8f49aeb1f0fcee0ea65a58c410faf5d4ed7be50236cc3bdce3a5b75a08611364" + }, + "/concat_readable_streams_test.ts": { + "size": 2640, + "checksum": "sha256-233e25eac027708dd7d03b33841e892764423b19281cad12f40a87839d71ca0a" + }, + "/zip_readable_streams.ts": { + "size": 3400, + "checksum": "sha256-7b1d5ab540d2786fa2457000277057b1b08025784e962bd20d6d9a29b95dbd72" + }, + "/unstable_fixed_chunk_stream_test.ts": { + "size": 649, + "checksum": "sha256-90db246cfad29c8d43a9cd1dd056c8d65c71aed0502c87f05dbe53db975e00a1" + }, + "/unstable_to_lines.ts": { + "size": 1239, + "checksum": "sha256-0ba8f89dc92c81470d034ae9a5146cd52d7d92756b4e152068e2414503da21ad" + }, + "/limited_bytes_transform_stream.ts": { + "size": 4077, + "checksum": "sha256-a78f0366070e0db1eb51fb3277a3d9b3c1f6d3cbc29ab9774816dd9e9c5775f1" + }, + "/unstable_to_lines_test.ts": { + "size": 1080, + "checksum": "sha256-5404e45c9e72591d6309dde1b6252444fffa98e3051c440b418159d3cc04abb2" + }, + "/delimiter_stream.ts": { + "size": 11670, + "checksum": "sha256-386afaeb44d35192217bb1b561ff08124a05a69acfa7bbd6aa02ad64af02f6c1" + }, + "/to_json.ts": { + "size": 1494, + "checksum": "sha256-39d00bb9423860fdea227fe829ad70ffeb8ff02c8d09d330dd74180886de9203" + }, + "/text_line_stream.ts": { + "size": 3239, + "checksum": "sha256-2c03cb52ba2634884336e0c2055b3d647226655292cd4919b9047f6b3466bcd5" + }, + "/to_transform_stream_test.ts": { + "size": 5979, + "checksum": "sha256-d46095fa0034f75a8ae4888eb2ebbbb8d2e9265c92dceadb8e121703cad03ae1" + }, + "/to_json_test.ts": { + "size": 647, + "checksum": "sha256-ce8da1fe547187de602a0364fac51cb40148e8ce702a3d5c83e911c59f64c915" + }, + "/merge_readable_streams_test.ts": { + "size": 1303, + "checksum": "sha256-adbe5887cc9e53b6343bfbdbd7a1d79248e1c7c9e751a15042d3f50a432be0a5" + }, + "/_common.ts": { + "size": 698, + "checksum": "sha256-948735ef6d140cd6916dca861197b88fc57db52c2f923c392b7a14033d8fed4b" + }, + "/early_zip_readable_streams.ts": { + "size": 3882, + "checksum": "sha256-011dd7282a0627966f90395db5ffad777beede3ef373cad41edde06ec59dc29e" + }, + "/buffer_test.ts": { + "size": 4364, + "checksum": "sha256-aa887c45404f8b184493a18b6333fb5c0128c2d3ee3391f48632fd7cd842e70b" + }, + "/_test_utils.ts": { + "size": 856, + "checksum": "sha256-bd20530b619f9318c15b7f1c8cb7ed28ede2e920b1132053245c4681cb899192" + } + }, + "moduleGraph2": { + "/limited_transform_stream.ts": {}, + "/early_zip_readable_streams.ts": {}, + "/delimiter_stream.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/bytes@^1.0.3/concat", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 53 + ] + ] + }, + { + "type": "static", + "kind": "import", + "specifier": "./_common.ts", + "specifierRange": [ + [ + 4, + 26 + ], + [ + 4, + 40 + ] + ] + } + ] + }, + "/merge_readable_streams.ts": {}, + "/to_blob.ts": {}, + "/buffer.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/bytes@^1.0.3/copy", + "specifierRange": [ + [ + 3, + 21 + ], + [ + 3, + 49 + ] + ] + } + ] + }, + "/unstable_to_lines.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./text_line_stream.ts", + "specifierRange": [ + [ + 2, + 31 + ], + [ + 2, + 54 + ] + ] + } + ] + }, + "/unstable_to_bytes.ts": {}, + "/mod.ts": { + "dependencies": [ + { + "type": "static", + "kind": "export", + "specifier": "./buffer.ts", + "specifierRange": [ + [ + 20, + 14 + ], + [ + 20, + 27 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./byte_slice_stream.ts", + "specifierRange": [ + [ + 21, + 14 + ], + [ + 21, + 38 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./concat_readable_streams.ts", + "specifierRange": [ + [ + 22, + 14 + ], + [ + 22, + 44 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./delimiter_stream.ts", + "specifierRange": [ + [ + 23, + 14 + ], + [ + 23, + 37 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./early_zip_readable_streams.ts", + "specifierRange": [ + [ + 24, + 14 + ], + [ + 24, + 47 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./limited_bytes_transform_stream.ts", + "specifierRange": [ + [ + 25, + 14 + ], + [ + 25, + 51 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./limited_transform_stream.ts", + "specifierRange": [ + [ + 26, + 14 + ], + [ + 26, + 45 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./merge_readable_streams.ts", + "specifierRange": [ + [ + 27, + 14 + ], + [ + 27, + 43 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./text_delimiter_stream.ts", + "specifierRange": [ + [ + 28, + 14 + ], + [ + 28, + 42 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./text_line_stream.ts", + "specifierRange": [ + [ + 29, + 14 + ], + [ + 29, + 37 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_array_buffer.ts", + "specifierRange": [ + [ + 30, + 14 + ], + [ + 30, + 36 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_blob.ts", + "specifierRange": [ + [ + 31, + 14 + ], + [ + 31, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_json.ts", + "specifierRange": [ + [ + 32, + 14 + ], + [ + 32, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_text.ts", + "specifierRange": [ + [ + 33, + 14 + ], + [ + 33, + 28 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./to_transform_stream.ts", + "specifierRange": [ + [ + 34, + 14 + ], + [ + 34, + 40 + ] + ] + }, + { + "type": "static", + "kind": "export", + "specifier": "./zip_readable_streams.ts", + "specifierRange": [ + [ + 35, + 14 + ], + [ + 35, + 41 + ] + ] + } + ] + }, + "/unstable_to_byte_stream.ts": {}, + "/text_delimiter_stream.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./_common.ts", + "specifierRange": [ + [ + 3, + 26 + ], + [ + 3, + 40 + ] + ] + }, + { + "type": "static", + "kind": "importType", + "specifier": "./delimiter_stream.ts", + "specifierRange": [ + [ + 8, + 7 + ], + [ + 8, + 30 + ] + ] + } + ] + }, + "/to_text.ts": {}, + "/_common.ts": {}, + "/text_line_stream.ts": {}, + "/to_json.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "./to_text.ts", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 37 + ] + ] + } + ] + }, + "/concat_readable_streams.ts": {}, + "/limited_bytes_transform_stream.ts": {}, + "/to_array_buffer.ts": { + "dependencies": [ + { + "type": "static", + "kind": "import", + "specifier": "jsr:@std/bytes@^1.0.3/concat", + "specifierRange": [ + [ + 3, + 23 + ], + [ + 3, + 53 + ] + ] + } + ] + }, + "/zip_readable_streams.ts": {}, + "/byte_slice_stream.ts": {}, + "/to_transform_stream.ts": {}, + "/unstable_fixed_chunk_stream.ts": {} + }, + "exports": { + ".": "./mod.ts", + "./buffer": "./buffer.ts", + "./byte-slice-stream": "./byte_slice_stream.ts", + "./concat-readable-streams": "./concat_readable_streams.ts", + "./delimiter-stream": "./delimiter_stream.ts", + "./early-zip-readable-streams": "./early_zip_readable_streams.ts", + "./limited-bytes-transform-stream": "./limited_bytes_transform_stream.ts", + "./limited-transform-stream": "./limited_transform_stream.ts", + "./merge-readable-streams": "./merge_readable_streams.ts", + "./unstable-fixed-chunk-stream": "./unstable_fixed_chunk_stream.ts", + "./text-delimiter-stream": "./text_delimiter_stream.ts", + "./text-line-stream": "./text_line_stream.ts", + "./to-array-buffer": "./to_array_buffer.ts", + "./to-blob": "./to_blob.ts", + "./unstable-to-byte-stream": "./unstable_to_byte_stream.ts", + "./unstable-to-bytes": "./unstable_to_bytes.ts", + "./to-json": "./to_json.ts", + "./unstable-to-lines": "./unstable_to_lines.ts", + "./to-text": "./to_text.ts", + "./to-transform-stream": "./to_transform_stream.ts", + "./zip-readable-streams": "./zip_readable_streams.ts" + } +} \ No newline at end of file diff --git a/vendor/jsr.io/@std/streams/meta.json b/vendor/jsr.io/@std/streams/meta.json new file mode 100644 index 0000000..32e513d --- /dev/null +++ b/vendor/jsr.io/@std/streams/meta.json @@ -0,0 +1,59 @@ +{ + "scope": "std", + "name": "streams", + "latest": "1.0.8", + "versions": { + "0.222.0": {}, + "0.212.0": {}, + "1.0.0-rc.4": {}, + "1.0.6": {}, + "0.211.0": {}, + "0.205.0": {}, + "1.0.1": {}, + "1.0.0-rc.3": {}, + "0.224.4": {}, + "0.214.0": {}, + "0.210.0": {}, + "0.209.0": {}, + "0.208.0": {}, + "0.202.0": {}, + "0.201.0": {}, + "0.199.0": {}, + "0.213.0": {}, + "0.206.0": {}, + "0.223.0": {}, + "0.218.0": {}, + "1.0.2": {}, + "0.219.0": {}, + "0.224.5": {}, + "0.224.0": {}, + "0.218.2": {}, + "0.213.1": {}, + "0.203.0": {}, + "1.0.3": {}, + "0.224.1": {}, + "0.217.0": {}, + "0.215.0": {}, + "0.224.3": {}, + "0.220.1": {}, + "0.216.0": {}, + "0.207.0": {}, + "0.204.0": {}, + "1.0.0-rc.2": {}, + "0.197.0": {}, + "1.0.8": {}, + "0.198.0": {}, + "1.0.5": {}, + "0.196.0": {}, + "0.200.0": {}, + "1.0.7": {}, + "1.0.4": {}, + "1.0.0-rc.1": {}, + "0.221.0": {}, + "1.0.0": {}, + "0.224.2": {}, + "0.222.1": {}, + "0.219.1": {}, + "0.218.1": {} + } +} \ No newline at end of file diff --git a/vendor/manifest.json b/vendor/manifest.json new file mode 100644 index 0000000..7e58b16 --- /dev/null +++ b/vendor/manifest.json @@ -0,0 +1,7 @@ +{ + "modules": { + "https://jsr.io/@std/crypto/1.0.3/_wasm/lib/deno_std_wasm_crypto.generated.d.mts": {}, + "https://jsr.io/@std/crypto/1.0.3/_wasm/lib/deno_std_wasm_crypto.generated.mjs": {}, + "https://jsr.io/@std/net/1.0.4/unstable_get_network_address.ts": {} + } +} \ No newline at end of file diff --git a/vendor/wilsonl.in/minify-html/deno/0.15.0/index.js b/vendor/wilsonl.in/minify-html/deno/0.15.0/index.js new file mode 100644 index 0000000..74db3ea --- /dev/null +++ b/vendor/wilsonl.in/minify-html/deno/0.15.0/index.js @@ -0,0 +1,217 @@ +let wasm; + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8Memory0 = null; + +function getUint8Memory0() { + if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { + cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8Memory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); +} + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +let heap_next = heap.length; + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function getObject(idx) { return heap[idx]; } + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +let WASM_VECTOR_LEN = 0; + +function passArray8ToWasm0(arg, malloc) { + const ptr = malloc(arg.length * 1, 1) >>> 0; + getUint8Memory0().set(arg, ptr / 1); + WASM_VECTOR_LEN = arg.length; + return ptr; +} + +let stack_pointer = 128; + +function addBorrowedObject(obj) { + if (stack_pointer == 1) throw new Error('out of js stack'); + heap[--stack_pointer] = obj; + return stack_pointer; +} + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} + +function getArrayU8FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len); +} +/** +* @param {Uint8Array} code +* @param {any} cfg +* @returns {Uint8Array} +*/ +export function minify(code, cfg) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passArray8ToWasm0(code, wasm.__wbindgen_export_0); + const len0 = WASM_VECTOR_LEN; + wasm.minify(retptr, ptr0, len0, addBorrowedObject(cfg)); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + var v2 = getArrayU8FromWasm0(r0, r1).slice(); + wasm.__wbindgen_export_1(r0, r1 * 1, 1); + return v2; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + heap[stack_pointer++] = undefined; + } +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_export_2(addHeapObject(e)); + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbg_get_7b48513de5dc5ea4 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + + return imports; +} + +function __wbg_init_memory(imports, maybe_memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedInt32Memory0 = null; + cachedUint8Memory0 = null; + + + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(input) { + if (wasm !== undefined) return wasm; + + if (typeof input === 'undefined') { + input = new URL('index_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { + input = fetch(input); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await input, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync } +export default __wbg_init;